我需要按类别名称过滤wordpress-menu。
到目前为止我发现的是以下循环,它为我提供了所有菜单项:
function exclude_menu_items( $items, $menu, $args ) {
// Iterate over the items to search and destroy
foreach ( $items as $key => $item ) {
//if ( $item->object_id == 168 ) unset( $items[$key] );
print_r($item);
echo '<br>';
//var_dump(get_the_category($item->ID));
//echo get_query_var('cat');
}
return $items;
}
add_filter( 'wp_get_nav_menu_items', 'exclude_menu_items', null, 3 );
我添加了页面功能,如下所示:
function add_categories_for_pages() {
register_taxonomy_for_object_type('category', 'page');
}
add_action( 'init', 'add_categories_for_pages' );
但是现在如何从菜单项中获取页面类别?
答案 0 :(得分:0)
似乎我找到了一个解决方案,我不知道它是否是最好的,但到目前为止似乎有效:
function exclude_menu_items( $items, $menu, $args ) {
// Iterate over the items to search and destroy
foreach ( $items as $key => $item ) {
$categories = get_the_category( $item->object_id );
foreach($categories as $category){
if($category->cat_name != 'mycatname'){
unset( $items[$key] );
}
}
}
return $items;
}
您怎么看?