Affiche une boîte méta pour un élément de menu de taxonomie.

Paramètres

$objet

(chaîne de caractères)(Obligatoire)Non utilisé.

$box

(tableau)(Obligatoire)Arguments de la boîte méta de l'élément de menu de taxonomie.

  • 'id'
    (chaîne de caractères) Attribut 'id' de la méta-boîte.
  • "titre
    (chaîne de caractères) Titre de la boîte méta.
  • 'rappel' (callback)
    (appelable) Appel de l'affichage de la boîte méta.
  • 'args'
    (objet) Arguments supplémentaires de la boîte méta (l'objet de taxonomie pour cette boîte méta).

Source

Fichier : wp-admin/includes/nav-menu.php

function wp_nav_menu_item_taxonomy_meta_box( $object, $box ) {
	global $nav_menu_selected_id;

	$taxonomy_name = $box['args']->name;
	$taxonomy      = get_taxonomy( $taxonomy_name );
	$tab_name      = $taxonomy_name . '-tab';

	// Paginate browsing for large numbers of objects.
	$per_page = 50;
	$pagenum  = isset( $_REQUEST[ $tab_name ] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1;
	$offset   = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0;

	$args = array(
		'taxonomy'     => $taxonomy_name,
		'child_of'     => 0,
		'exclude'      => '',
		'hide_empty'   => false,
		'hierarchical' => 1,
		'include'      => '',
		'number'       => $per_page,
		'offset'       => $offset,
		'order'        => 'ASC',
		'orderby'      => 'name',
		'pad_counts'   => false,
	);

	$terms = get_terms( $args );

	if ( ! $terms || is_wp_error( $terms ) ) {
		echo '<p>' . __( 'No items.' ) . 'p>';
		return;
	}

	$num_pages = ceil(
		wp_count_terms(
			array_merge(
				$args,
				array(
					'number' => '',
					'offset' => '',
				)
			)
		) / $per_page
	);

	$page_links = paginate_links(
		array(
			'base'               => add_query_arg(
				array(
					$tab_name     => 'all',
					'paged'       => '%#%',
					'item-type'   => 'taxonomy',
					'item-object' => $taxonomy_name,
				)
			),
			'format'             => '',
			'prev_text'          => '<spanaria-label="' . esc_attr__( 'Previous page' ) . '">' . __( '«' ) . 'span>',
			'next_text'          => '<spanaria-label="' . esc_attr__( 'Next page' ) . '">' . __( '»' ) . 'span>',
			'before_page_number' => '<spanclass="screen-reader-text">' . __( 'Page' ) . 'span> ',
			'total'              => $num_pages,
			'current'            => $pagenum,
		)
	);

	$db_fields = false;
	if ( is_taxonomy_hierarchical( $taxonomy_name ) ) {
		$db_fields = array(
			'parent' => 'parent',
			'id'     => 'term_id',
		);
	}

	$walker = new Walker_Nav_Menu_Checklist( $db_fields );

	$current_tab = 'most-used';

	if ( isset( $_REQUEST[ $tab_name ] ) && in_array( $_REQUEST[ $tab_name ], array( 'all', 'most-used', 'search' ), true ) ) {
		$current_tab = $_REQUEST[ $tab_name ];
	}

	if ( ! empty( $_REQUEST[ 'quick-search-taxonomy-' . $taxonomy_name ] ) ) {
		$current_tab = 'search';
	}

	$removed_args = array(
		'action',
		'customlink-tab',
		'edit-menu-item',
		'menu-item',
		'page-tab',
		'_wpnonce',
	);

	$most_used_url = '';
	$view_all_url  = '';
	$search_url    = '';
	if ( $nav_menu_selected_id ) {
		$most_used_url = esc_url( add_query_arg( $tab_name, 'most-used', remove_query_arg( $removed_args ) ) );
		$view_all_url  = esc_url( add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) ) );
		$search_url    = esc_url( add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) ) );
	}
	?>
	<divid="taxonomy-echo$taxonomy_name;?>"class="taxonomydiv"><ulid="taxonomy-echo$taxonomy_name;?>-tabs"class="taxonomy-tabs add-menu-item-tabs"><liecho('most-used'===$current_tab?'':'');?>><aclass="nav-tab-link"data-type="tabs-panel-echoesc_attr($taxonomy_name);?>-pop"href="echo$most_used_url;?>#tabs-panel-echo$taxonomy_name;?>-pop">echoesc_html($taxonomy->labels->most_used);?>a>li><liecho('all'===$current_tab?'':'');?>><aclass="nav-tab-link"data-type="tabs-panel-echoesc_attr($taxonomy_name);?>-all"href="echo$view_all_url;?>#tabs-panel-echo$taxonomy_name;?>-all">_e('View All');?>a>li><liecho('search'===$current_tab?'':'');?>><aclass="nav-tab-link"data-type="tabs-panel-search-taxonomy-echoesc_attr($taxonomy_name);?>"href="echo$search_url;?>#tabs-panel-search-taxonomy-echo$taxonomy_name;?>">_e('Search');?>a>li>ul><divid="tabs-panel-echo$taxonomy_name;?>-pop"class="tabs-panel echo('most-used'===$current_tab?'tabs-panel-active':'tabs-panel-inactive');?>"role="region"aria-label="echo$taxonomy->labels->most_used;?>"tabindex="0"><ulid="echo$taxonomy_name;?>checklist-pop"class="categorychecklist form-no-clear">$popular_terms=get_terms(array('taxonomy'=>$taxonomy_name,'orderby'=>'count','order'=>'DESC','number'=>10,'hierarchical'=>false,));$args['walker']=$walker;echowalk_nav_menu_tree(array_map('wp_setup_nav_menu_item',$popular_terms),0,(object)$args);?>ul>div><divid="tabs-panel-echo$taxonomy_name;?>-all"class="tabs-panel tabs-panel-view-all echo('all'===$current_tab?'tabs-panel-active':'tabs-panel-inactive');?>"role="region"aria-label="echo$taxonomy->labels->all_items;?>"tabindex="0">if(!empty($page_links)):?><divclass="add-menu-item-pagelinks">echo$page_links;?>div>endif;?><ulid="echo$taxonomy_name;?>checklist"data-wp-lists="list:echo$taxonomy_name;?>"class="categorychecklist form-no-clear">$args['walker']=$walker;echowalk_nav_menu_tree(array_map('wp_setup_nav_menu_item',$terms),0,(object)$args);?>ul>if(!empty($page_links)):?><divclass="add-menu-item-pagelinks">echo$page_links;?>div>endif;?>div><divclass="tabs-panel echo('search'===$current_tab?'tabs-panel-active':'tabs-panel-inactive');?>"id="tabs-panel-search-taxonomy-echo$taxonomy_name;?>"role="region"aria-label="echo$taxonomy->labels->search_items;?>"tabindex="0">if(isset($_REQUEST['quick-search-taxonomy-'$taxonomy_name])){$searched=esc_attr($_REQUEST['quick-search-taxonomy-'$taxonomy_name]);$search_results=get_terms(array('taxonomy'=>$taxonomy_name,'name__like'=>$searched,'fields'=>'all','orderby'=>'count','order'=>'DESC','hierarchical'=>false,));}else{$searched='';$search_results=array();}?><pclass="quick-search-wrap"><labelfor="quick-search-taxonomy-echo$taxonomy_name;?>"class="screen-reader-text">_e('Search');?>label><inputtype="search"class="quick-search"value="echo$searched;?>"name="quick-search-taxonomy-echo$taxonomy_name;?>"id="quick-search-taxonomy-echo$taxonomy_name;?>"/><spanclass="spinner">span>submit_button(__('Search'),'small quick-search-submit hide-if-js','submit',false,array('id'=>'submit-quick-search-taxonomy-'$taxonomy_name));?>p><ulid="echo$taxonomy_name;?>-search-checklist"data-wp-lists="list:echo$taxonomy_name;?>"class="categorychecklist form-no-clear">if(!empty($search_results)&&!is_wp_error($search_results)):?>$args['walker']=$walker;echowalk_nav_menu_tree(array_map('wp_setup_nav_menu_item',$search_results),0,(object)$args);?>elseif(is_wp_error($search_results)):?><li>echo$search_results->get_error_message();?>li>elseif(!empty($searched)):?><li>_e('No results found.');?>li>endif;?>ul>div><pclass="button-controls wp-clearfix"data-items-type="taxonomy-echoesc_attr($taxonomy_name);?>"><spanclass="list-controls hide-if-no-js"><inputtype="checkbox"wp_nav_menu_disabled_check($nav_menu_selected_id);?>id="echoesc_attr($tab_name);?>"class="select-all"/><labelfor="echoesc_attr($tab_name);?>">_e('Select All');?>label>span><spanclass="add-to-menu"><inputtype="submit"wp_nav_menu_disabled_check($nav_menu_selected_id);?>class="button submit-add-to-menu right"value="esc_attr_e('Add to Menu');?>"name="add-taxonomy-menu-item"id="echoesc_attr('submit-taxonomy-'$taxonomy_name);?>"/><spanclass="spinner">span>span>p>div>}

Related

Utilise

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

Renvoie un bouton de soumission, avec le texte fourni et la ou les classes appropriées.

wp-admin/includes/class-walker-nav-menu-checklist.php : Walker_Nav_Menu_Checklist::__construct()
wp-admin/includes/nav-menu.php : wp_nav_menu_disabled_check()

Vérifier s'il faut désactiver le bouton d'envoi et les entrées de la méta-boîte des emplacements de menu.

wp-includes/l10n.php : __()

Récupérer la traduction de $text.

wp-includes/l10n.php : esc_attr__()

Récupère la traduction de $text et l'échappe pour une utilisation sûre dans un attribut.

wp-includes/l10n.php : _e()

Affichage du texte traduit.

wp-includes/l10n.php : esc_attr_e()

Affiche le texte traduit qui a été échappé pour une utilisation sûre dans un attribut.

wp-includes/formatting.php : esc_url()

Vérifie et nettoie une URL.

wp-includes/formatting.php : esc_attr()

Échappement pour les attributs HTML.

wp-includes/formatting.php : esc_html()

Échappement pour les blocs HTML.

wp-includes/general-template.php : paginate_links()

Récupère les liens paginés pour les pages de post d'archive.

wp-includes/functions.php : absint()

Convertit une valeur en un nombre entier non négatif.

wp-includes/functions.php : remove_query_arg()

Supprime un ou plusieurs éléments d'une chaîne de requête.

wp-includes/functions.php : add_query_arg()

Récupère une chaîne de requête d'URL modifiée.

wp-includes/taxonomy.php : wp_count_terms()

Compte le nombre de termes dans la taxonomie.

wp-includes/taxonomy.php : get_terms()

Récupère les termes d'une taxonomie ou d'une liste de taxonomies donnée.

wp-includes/taxonomy.php : get_taxonomy()

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

wp-includes/taxonomy.php : is_taxonomy_hierarchical()

Détermine si l'objet taxonomie est hiérarchique.

wp-includes/nav-menu-template.php : walk_nav_menu_tree()

Récupère le contenu de la liste HTML pour les éléments du menu nav.

wp-includes/load.php : is_wp_error()

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

Changelog

Version Description
3.0.0 Introduit.