wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren
get_registered_block_templates › WordPress Function
Seitn/v
Veraltetn/v
› get_registered_block_templates ( $query )
| Definiert in: |
|
| Codex: |
Noch keine Beschreibung.
Ähnliche Funktionen: register_block_template, unregister_block_template, get_block_templates, get_registered_theme_features, get_block_template
Quellcode
function get_registered_block_templates( $query ) {
$template_files = _get_block_templates_files( 'wp_template', $query );
$query_result = array();
// _get_block_templates_files seems broken, it does not obey the query.
if ( isset( $query['slug__in'] ) && is_array( $query['slug__in'] ) ) {
$template_files = array_filter(
$template_files,
function ( $template_file ) use ( $query ) {
return in_array( $template_file['slug'], $query['slug__in'], true );
}
);
}
foreach ( $template_files as $template_file ) {
$query_result[] = _build_block_template_result_from_file( $template_file, 'wp_template' );
}
// Add templates registered through the template registry. Filtering out the
// ones which have a theme file.
$registered_templates = WP_Block_Templates_Registry::get_instance()->get_by_query( $query );
$matching_registered_templates = array_filter(
$registered_templates,
function ( $registered_template ) use ( $template_files ) {
foreach ( $template_files as $template_file ) {
if ( $template_file['slug'] === $registered_template->slug ) {
return false;
}
}
return true;
}
);
$query_result = array_merge( $query_result, $matching_registered_templates );
// Templates added by PHP filter also count as registered templates.
/** This filter is documented in wp-includes/block-template-utils.php */
return apply_filters( 'get_block_templates', $query_result, $query, 'wp_template' );
}