Zeige Beiträge für Kategorien und Tags in wp_nav_menu

Ich versuche, WooCommerce-Produktkategorien, Postkategorien, Produkt-Tags, Post-Tags und benutzerdefinierte Taxonomie-Beiträge in der Hauptnavigation mit wp_nav_menu anzuzeigen.

Mein WP_NAV_MENU-Code

  'primary_menu', 'echo' => false, 'depth' => 3, 'container' => false, 'menu_class' => 'header-menu', 'menu_id' => 'header-menu' ); wp_nav_menu( $primary_args ); ?>  

Ich habe den folgenden Code in mein Child-Theme functions.php eingefügt

 apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); add_action( 'walker_nav_menu_start_el', 'menu_post_count', 10, 4 ); function menu_post_count( $output, $item, $depth, $args ) { // Check $item and get the data you need printf( '
%s

', var_export( $item, true ) ); // Then append whatever you need to the $output $output .= ''; return $output; }

Dies verursachte einen Fehler vor Ort, der die Daten der Kategorie wie folgt zeigte.

 WP_Post::__set_state(array( 'ID' => 153, 'post_author' => '1', 'post_date' => '2015-12-22 21:52:07', 'post_date_gmt' => '2015-12-22 19:52:07', 'post_content' => ' ', 'post_title' => '', 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_password' => '', 'post_name' => '153', 'to_ping' => '', 'pinged' => '', 'post_modified' => '2015-12-29 08:47:30', 'post_modified_gmt' => '2015-12-29 06:47:30', 'post_content_filtered' => '', 'post_parent' => 0, 'guid' => 'http://domain.com/?p=153', 'menu_order' => 1, 'post_type' => 'nav_menu_item', 'post_mime_type' => '', 'comment_count' => '0', 'filter' => 'raw', 'db_id' => 153, 'menu_item_parent' => '0', 'object_id' => '39', 'object' => 'page', 'type' => 'post_type', 'type_label' => 'page', 'url' => 'http://domain.com/', 'title' => 'homepage', 'target' => '', 'attr_title' => '', 'description' => '', 'classes' => 

Solutions Collecting From Web of "Zeige Beiträge für Kategorien und Tags in wp_nav_menu"

In Ordnung, das ist nicht so schwierig, zuerst werden wir nur überprüfen, ob der Menüpunkt eine Taxonomie ist, dann holen Sie sich die Anzahl und zeigen Sie sie an!

 function ggstyle_menu_item_count( $output, $item, $depth, $args ) { // Check if the item is a Category or Custom Taxonomy if( $item->type == 'taxonomy' ) { $object = get_term($item->object_id, $item->object); // Check count, if more than 0 display count if($object->count > 0) $output .= "".$object->count.""; } return $output; } add_action( 'walker_nav_menu_start_el', 'ggstyle_menu_item_count', 10, 4 ); 

Bearbeiten

Um die Anzahl der Items in des Menüeintrags zu bringen, müssen wir die Ausgabe von $ aufteilen und unseren Inhalt einfügen, um ihn wieder zusammenzusetzen.

 function ggstyle_menu_item_count( $output, $item, $depth, $args ) { // Check if the item is a Category or Custom Taxonomy if( $item->type == 'taxonomy' ) { $object = get_term($item->object_id, $item->object); // Check count, if more than 0 display count if($object->count > 0) { $output_new = ''; $output_split = str_split($output, strpos($output, '') ); $output_new .= $output_split[0] . "".$object->count."" . $output_split[1]; $output = $output_new; } } return $output; } add_action( 'walker_nav_menu_start_el', 'ggstyle_menu_item_count', 10, 4 );