Décore un objet d'élément de menu avec les propriétés d'élément de menu de navigation partagées.

Description

Propriétés :

  • ID : Le term_id si l'élément de menu représente un terme de taxonomie.
  • attr_title : L'attribut title de l'élément de lien pour cet élément de menu.
  • classes : Le tableau des valeurs de l'attribut class de l'élément de lien de cet élément de menu.
  • db_id : L'ID de la BD de cet élément en tant qu'objet nav_menu_item, s'il existe (0 s'il n'existe pas).
  • description : La description de cet élément de menu.
  • menu_item_parent : l'ID de la DB de l'objet nav_menu_item qui est le parent de menu de cet élément, le cas échéant. 0 sinon.
  • object : Le type d'objet représenté à l'origine, tel que 'category', 'post' ou 'attachment'.
  • object_id : L'identifiant DB de l'objet original que cet élément de menu représente, par exemple ID pour les posts et term_id pour les catégories.
  • post_parent : l'ID de la BD de l'objet d'origine de l'objet parent, le cas échéant (0 sinon).
  • post_title : Une étiquette "no title" si l'élément de menu représente un post qui n'a pas de titre.
  • target : L'attribut cible de l'élément de lien pour cet élément de menu.
  • title (titre) : Le titre de cet élément de menu.
  • type : La famille d'objets représentée à l'origine, comme 'post_type' ou 'taxonomy'.
  • type_label : L'étiquette singulière utilisée pour décrire ce type d'article de menu.
  • url : L'URL vers laquelle pointe cet élément de menu.
  • xfn : La relation XFN exprimée dans le lien de cet élément de menu.
  • _invalid : Si l'élément de menu représente un objet qui n'existe plus.

Paramètres

$menu_item

(objet)(Obligatoire)L'élément de menu à modifier.

Retour

(objet) L'élément de menu avec les propriétés standard des éléments de menu.

Source

Fichier : wp-includes/nav-menu.php

functionwp_setup_nav_menu_item($menu_item){if(isset($menu_item->post_type)){if('nav_menu_item'===$menu_item->post_type){$menu_item->db_id=(int)$menu_item->ID;$menu_item->menu_item_parent=!isset($menu_item->menu_item_parent)?get_post_meta($menu_item->ID,'_menu_item_menu_item_parent',true):$menu_item->menu_item_parent;$menu_item->object_id=!isset($menu_item->object_id)?get_post_meta($menu_item->ID,'_menu_item_object_id',true):$menu_item->object_id;$menu_item->object=!isset($menu_item->object)?get_post_meta($menu_item->ID,'_menu_item_object',true):$menu_item->object;$menu_item->type=!isset($menu_item->type)?get_post_meta($menu_item->ID,'_menu_item_type',true):$menu_item->type;if('post_type'===$menu_item->type){$object=get_post_type_object($menu_item->object);if($object){$menu_item->type_label=$object->labels->singular_name;// Denote post states for special pages (only in the admin).if(function_exists('get_post_states')){$menu_post=get_post($menu_item->object_id);$post_states=get_post_states($menu_post);if($post_states){$menu_item->type_label=wp_strip_all_tags(implode(', ',$post_states));}}}else{$menu_item->type_label=$menu_item->object;$menu_item->_invalid=true;}if('trash'===get_post_status($menu_item->object_id)){$menu_item->_invalid=true;}$original_object=get_post($menu_item->object_id);if($original_object){$menu_item->url=get_permalink($original_object->ID);/** This filter is documented in wp-includes/post-template.php */$original_title=apply_filters('the_title',$original_object->post_title,$original_object->ID);}else{$menu_item->url='';$original_title='';$menu_item->_invalid=true;}if(''===$original_title){/* translators: %d: ID of a post. */$original_title=sprintf(__('#%d (no title)'),$menu_item->object_id);}$menu_item->title=(''===$menu_item->post_title)?$original_title:$menu_item->post_title;}elseif('post_type_archive'===$menu_item->type){$object=get_post_type_object($menu_item->object);if($object){$menu_item->title=(''===$menu_item->post_title)?$object->labels->archives:$menu_item->post_title;$post_type_description=$object->description;}else{$post_type_description='';$menu_item->_invalid=true;}$menu_item->type_label=__('Post Type Archive');$post_content=wp_trim_words($menu_item->post_content,200);$post_type_description=(''===$post_content)?$post_type_description:$post_content;$menu_item->url=get_post_type_archive_link($menu_item->object);}elseif('taxonomy'===$menu_item->type){$object=get_taxonomy($menu_item->object);if($object){$menu_item->type_label=$object->labels->singular_name;}else{$menu_item->type_label=$menu_item->object;$menu_item->_invalid=true;}$original_object=get_term((int)$menu_item->object_id,$menu_item->object);if($original_object&&!is_wp_error($original_object)){$menu_item->url=get_term_link((int)$menu_item->object_id,$menu_item->object);$original_title=$original_object->name;}else{$menu_item->url='';$original_title='';$menu_item->_invalid=true;}if(''===$original_title){/* translators: %d: ID of a term. */$original_title=sprintf(__('#%d (no title)'),$menu_item->object_id);}$menu_item->title=(''===$menu_item->post_title)?$original_title:$menu_item->post_title;}else{$menu_item->type_label=__('Custom Link');$menu_item->title=$menu_item->post_title;$menu_item->url=!isset($menu_item->url)?get_post_meta($menu_item->ID,'_menu_item_url',true):$menu_item->url;}$menu_item->target=!isset($menu_item->target)?get_post_meta($menu_item->ID,'_menu_item_target',true):$menu_item->target;/**
			 * Filters a navigation menu item's title attribute.
			 *
			 * @since 3.0.0
			 *
			 * @param string $item_title The menu item title attribute.
			 */$menu_item->attr_title=!isset($menu_item->attr_title)?apply_filters('nav_menu_attr_title',$menu_item->post_excerpt):$menu_item->attr_title;if(!isset($menu_item->description)){/**
				 * Filters a navigation menu item's description.
				 *
				 * @since 3.0.0
				 *
				 * @param string $description The menu item description.
				 */$menu_item->description=apply_filters('nav_menu_description',wp_trim_words($menu_item->post_content,200));}$menu_item->classes=!isset($menu_item->classes)?(array)get_post_meta($menu_item->ID,'_menu_item_classes',true):$menu_item->classes;$menu_item->xfn=!isset($menu_item->xfn)?get_post_meta($menu_item->ID,'_menu_item_xfn',true):$menu_item->xfn;}else{$menu_item->db_id=0;$menu_item->menu_item_parent=0;$menu_item->object_id=(int)$menu_item->ID;$menu_item->type='post_type';$object=get_post_type_object($menu_item->post_type);$menu_item->object=$object->name;$menu_item->type_label=$object->labels->singular_name;if(''===$menu_item->post_title){/* translators: %d: ID of a post. */$menu_item->post_title=sprintf(__('#%d (no title)'),$menu_item->ID);}$menu_item->title=$menu_item->post_title;$menu_item->url=get_permalink($menu_item->ID);$menu_item->target='';/** This filter is documented in wp-includes/nav-menu.php */$menu_item->attr_title=apply_filters('nav_menu_attr_title','');/** This filter is documented in wp-includes/nav-menu.php */$menu_item->description=apply_filters('nav_menu_description','');$menu_item->classes=array();$menu_item->xfn='';}}elseif(isset($menu_item->taxonomy)){$menu_item->ID=$menu_item->term_id;$menu_item->db_id=0;$menu_item->menu_item_parent=0;$menu_item->object_id=(int)$menu_item->term_id;$menu_item->post_parent=(int)$menu_item->parent;$menu_item->type='taxonomy';$object=get_taxonomy($menu_item->taxonomy);$menu_item->object=$object->name;$menu_item->type_label=$object->labels->singular_name;$menu_item->title=$menu_item->name;$menu_item->url=get_term_link($menu_item,$menu_item->taxonomy);$menu_item->target='';$menu_item->attr_title='';$menu_item->description=get_term_field('description',$menu_item->term_id,$menu_item->taxonomy);$menu_item->classes=array();$menu_item->xfn='';}/**
	 * Filters a navigation menu item object.
	 *
	 * @since 3.0.0
	 *
	 * @param object $menu_item The menu item object.
	 */returnapply_filters('wp_setup_nav_menu_item',$menu_item);}

Related

Utilise

Utilisations Description
wp-admin/includes/template.php : get_post_states()

Récupère un tableau d'états de post à partir d'un post.

wp-includes/l10n.php : __()

Récupère la traduction de $text.

wp-includes/formatting.php : wp_strip_all_tags()

Dépouille correctement toutes les balises HTML, y compris les scripts et les styles.

wp-includes/formatting.php : wp_trim_words()

Découpe le texte à un certain nombre de mots.

wp-includes/taxonomy.php : get_term_link()

Génère un permalien pour une archive de termes de taxonomie.

wp-includes/taxonomy.php : get_term_field()

Obtenir un champ de terme aseptisé.

wp-includes/taxonomy.php : get_taxonomy()

Récupère l'objet taxonomie de $taxonomy.

wp-includes/taxonomy.php : get_term()

Récupérer toutes les données des termes de la base de données par ID de terme.

wp-includes/link-template.php : get_post_type_archive_link()

Récupère le permalien d'une archive de type post.

wp-includes/link-template.php : get_permalink()

Récupère le permalien complet pour le post ou l'ID de post actuel.

wp-includes/plugin.php : apply_filters()

Appelle les fonctions de rappel qui ont été ajoutées à un crochet de filtre.

wp-includes/post-template.php : le_titre

Filtre le titre du post.

wp-includes/post.php : get_post_meta()

Récupère un champ méta de post pour l'identifiant de post donné.

wp-includes/post.php : get_post_type_object()

Récupère un objet de type de post par son nom.

wp-includes/post.php : get_post()

Récupère les données du post étant donné un ID de post ou un objet post.

wp-includes/post.php : get_post_status()

Récupère le statut du post en fonction de l'identifiant du post.

wp-includes/nav-menu.php : nav_menu_attr_title

Filtre l'attribut titre d'un élément de menu de navigation.

wp-includes/nav-menu.php : nav_menu_description

Filtre la description d'un élément de menu de navigation.

wp-includes/nav-menu.php : wp_setup_nav_menu_item

Filtre un objet d'élément de menu de navigation.

wp-includes/load.php : is_wp_error()

Vérifie si la variable donnée est une erreur WordPress.

Utilisé par

Utilisé par Description
wp-includes/customize/class-wp-customize-nav-menu-item-setting.php : WP_Customize_Nav_Menu_Item_Setting::value()

Obtenir les données d'instance pour un paramètre nav_menu_item donné.

wp-admin/includes/ajax-actions.php : wp_ajax_add_menu_item()

Gestionnaire Ajax pour l'ajout d'un élément de menu.

Changelog

Version Description
3.0.0 Introduit.