%4$s. %5$s',
esc_html__( '©', 'allele' ),
esc_html( date_i18n( __( 'Y', 'allele' ) ) ),
esc_url( home_url( '/' ) ),
esc_html( get_bloginfo( 'name' ) ),
esc_html__( 'All rights reserved.', 'allele' )
);
}
/**
* Theme Info
*
* @since Allele 1.0.0
*
* @return string
*/
function allele_theme_info() {
return sprintf( '%2$s ⋅ %3$s %5$s',
esc_url( 'https://designorbital.com/allele/' ),
esc_html__( 'Allele Theme', 'allele' ),
esc_html__( 'Powered by', 'allele' ),
esc_url( __( 'https://wordpress.org/', 'allele' ) ),
esc_html__( 'WordPress', 'allele' )
);
}
/**
* Pattern Content
*
* @since Allele 1.0.0
*
* @return string
*/
function allele_pattern_content( $block_pattern ) {
$pattern_file = get_theme_file_path( '/inc/patterns/' . $block_pattern . '.php' );
$block_pattern = require $pattern_file; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
return $block_pattern['content'];
}
/**
* Registers block patterns and categories.
*
* @since Allele 1.0.0
*/
function allele_register_block_patterns() {
// Block Pattern Categories
$block_pattern_categories = array(
'allele-general' => array( 'label' => __( 'Allele General', 'allele' ) ),
'allele-projects' => array( 'label' => __( 'Allele Projects', 'allele' ) ),
'allele-headers' => array( 'label' => __( 'Allele Headers', 'allele' ) ),
'allele-footers' => array( 'label' => __( 'Allele Footers', 'allele' ) ),
'allele-query' => array( 'label' => __( 'Allele Query', 'allele' ) ),
'allele-pages' => array( 'label' => __( 'Allele Pages', 'allele' ) ),
);
/**
* Filters the theme block pattern categories.
*
* @since Allele 1.0.0
*
* @param array[] $block_pattern_categories {
* An associative array of block pattern categories, keyed by category name.
*
* @type array[] $properties {
* An array of block category properties.
*
* @type string $label A human-readable label for the pattern category.
* }
* }
*/
$block_pattern_categories = apply_filters( 'allele_block_pattern_categories', $block_pattern_categories );
foreach ( $block_pattern_categories as $name => $properties ) {
if ( ! WP_Block_Pattern_Categories_Registry::get_instance()->is_registered( $name ) ) {
register_block_pattern_category( $name, $properties );
}
}
// Block Patterns
$block_patterns = array(
'header-default',
'footer-default',
'featured-post',
'query-default',
'featured-projects',
'focus-box',
'highlight-box',
'highlight-box-3',
'highlight-box-4',
'promo-box',
'promo-box-4',
'page-about-us',
'page-agency',
'page-contact-us',
'hidden-query',
'hidden-404',
);
/**
* Filters the theme block patterns.
*
* @since Allele 1.0.0
*
* @param array $block_patterns List of block patterns by name.
*/
$block_patterns = apply_filters( 'allele_block_patterns', $block_patterns );
foreach ( $block_patterns as $block_pattern ) {
$pattern_file = get_theme_file_path( '/inc/patterns/' . $block_pattern . '.php' );
register_block_pattern(
'allele/' . $block_pattern,
require $pattern_file // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound
);
}
}
add_action( 'init', 'allele_register_block_patterns', 9 );