build_variation_for_navigation_link() – Returns a navigation link variation

You appear to be a bot. Output may be restricted

Description

Returns a navigation link variation

Usage

$array = build_variation_for_navigation_link( $entity, $kind );

Parameters

$entity
( WP_Taxonomy|WP_Post_Type ) required – post type or taxonomy entity.
$kind
( string ) required – string of value 'taxonomy' or 'post-type'.

Returns

array

Source

File name: wordpress/wp-includes/blocks/navigation-link.php
Lines:

1 to 51 of 51
function build_variation_for_navigation_link( $entity, $kind ) {
  $title       = '';
  $description = '';

  if ( property_exists( $entity->labels, 'item_link' ) ) {
    $title = $entity->labels->item_link;
  }
  if ( property_exists( $entity->labels, 'item_link_description' ) ) {
    $description = $entity->labels->item_link_description;
  }

  $variation = array(
    'name'        => $entity->name,
    'title'       => $title,
    'description' => $description,
    'attributes'  => array(
      'type' => $entity->name,
      'kind' => $kind,
    ),
  );

  // Tweak some value for the variations.
  $variation_overrides = array(
    'post_tag'    => array(
      'name'       => 'tag',
      'attributes' => array(
        'type' => 'tag',
        'kind' => $kind,
      ),
    ),
    'post_format' => array(
      // The item_link and item_link_description for post formats is the
      // same as for tags, so need to be overridden.
      'title'       => __( 'Post Format Link' ),
      'description' => __( 'A link to a post format' ),
      'attributes'  => array(
        'type' => 'post_format',
        'kind' => $kind,
      ),
    ),
  );

  if ( array_key_exists( $entity->name, $variation_overrides ) ) {
    $variation = array_merge(
      $variation,
      $variation_overrides[ $entity->name ]
    );
  }

  return $variation;
}
 

 View on GitHub View on Trac