_wp_build_title_and_description_for_taxonomy_block_template()
Builds the title and description of a taxonomy-specific template based on the underlying entity referenced.
Mutates the underlying template object.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
true|false
. True if the term referenced was found and false otherwise.
Использование
_wp_build_title_and_description_for_taxonomy_block_template( $taxonomy, $slug, $template );
- $taxonomy(строка) (обязательный)
- Identifier of the taxonomy, e.g. category.
- $slug(строка) (обязательный)
- Slug of the term, e.g. shoes.
- $template(WP_Block_Template) (обязательный)
- Template to mutate adding the description and title computed.
Список изменений
С версии 6.1.0 | Введена. |
Код _wp_build_title_and_description_for_taxonomy_block_template() wp build title and description for taxonomy block template WP 6.4.3
function _wp_build_title_and_description_for_taxonomy_block_template( $taxonomy, $slug, WP_Block_Template $template ) { $taxonomy_object = get_taxonomy( $taxonomy ); $default_args = array( 'taxonomy' => $taxonomy, 'hide_empty' => false, 'update_term_meta_cache' => false, ); $term_query = new WP_Term_Query(); $args = array( 'number' => 1, 'slug' => $slug, ); $args = wp_parse_args( $args, $default_args ); $terms_query = $term_query->query( $args ); if ( empty( $terms_query ) ) { $template->title = sprintf( /* translators: Custom template title in the Site Editor, referencing a taxonomy term that was not found. 1: Taxonomy singular name, 2: Term slug. */ __( 'Not found: %1$s (%2$s)' ), $taxonomy_object->labels->singular_name, $slug ); return false; } $term_title = $terms_query[0]->name; $template->title = sprintf( /* translators: Custom template title in the Site Editor. 1: Taxonomy singular name, 2: Term title. */ __( '%1$s: %2$s' ), $taxonomy_object->labels->singular_name, $term_title ); $template->description = sprintf( /* translators: Custom template description in the Site Editor. %s: Term title. */ __( 'Template for %s' ), $term_title ); $term_query = new WP_Term_Query(); $args = array( 'number' => 2, 'name' => $term_title, ); $args = wp_parse_args( $args, $default_args ); $terms_with_same_title_query = $term_query->query( $args ); if ( count( $terms_with_same_title_query ) > 1 ) { $template->title = sprintf( /* translators: Custom template title in the Site Editor. 1: Template title, 2: Term slug. */ __( '%1$s (%2$s)' ), $template->title, $slug ); } return true; }