当前菜单项是子菜单项还是具有子菜单项的父菜单项?

时间:2015-01-16 作者:RobbertT

如果当前页面/菜单项是子项还是有子项的父项(在我的WP\\U nav\\U菜单中),是否可以签入WP?因此,如果页面有子页面,而菜单项是有子页面的父项或子项(基于我的wp\\u nav\\u菜单),则情况并非如此。

1 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

如果你能使用built-in nav menu css classes 您应该这样做,但如果这些还不够的话,有一个很好的小过滤器可以帮助处理css类。如果需要CSS类以外的其他类,可以使用Custom Walker (正如ialocin所建议的)并使用与以下函数相同的逻辑。

Add some CSS Classes to WP Nav Menu

/** Custom `wp_nav_menu()` Classes **/
function add_class_to_wp_nav_menu( $classes, $item ) {

    if( hasChildren( $item->object_id ) ) {                     // hasChildren is a Custom Function
        array_push( $classes, \'has-children\' );
    }

    if( 0 !== wp_get_post_parent_id( $item->object_id ) ) {     // 0 means there is no parent
        array_push( $classes, \'has-parent\' );
    }

    return $classes;
}
add_filter( \'nav_menu_css_class\', \'add_class_to_wp_nav_menu\', 10, 2 );

/** Check if Page has Children **/
function has_children( $pid ) {
    $children = get_pages( "child_of={$pid}" );
    return ( $children );
}

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&