_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.

You appear to be a bot. Output may be restricted

Description

Builds the title and description of a taxonomy-specific template based on the underlying entity referenced.

Mutates the underlying template object.

Usage

$bool = _wp_build_title_and_description_for_taxonomy_block_template( $taxonomy, $slug, $template );

Parameters

$taxonomy
( string ) required – Identifier of the taxonomy, e.g. category.
$slug
( string ) required – Slug of the term, e.g. shoes.
$template
( WP_Block_Template ) required – Template to mutate adding the description and title computed.

Returns

bool True if the term referenced was found and false otherwise.

Source

File name: wordpress/wp-includes/block-template-utils.php


Lines:

1 to 64 of 64
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;
}
 

 View on GitHub View on Trac