个性化阅读
专注于IT技术分析

自定义帖子类型菜单中的突出显示页面

我有一个名为”投资组合”的页面。我使用此页面显示名为” Works”的自定义帖子类型的档案。为此, 我使用名为”工作档案”的自定义模板显示投资组合页面。

当我在单个Works上时, 我想突出显示菜单中的”投资组合”页面。

你能帮助我吗?


#1


这可以帮助你

function change_page_menu_classes($menu){
    global $post;
    if (get_post_type($post) == 'portfolio')
    {
        $menu = str_replace( 'current_page_parent', '', $menu ); // remove all current_page_parent classes
        $menu = str_replace( 'page-item-366', 'page-item-366 current_page_parent', $menu ); // add the current_page_parent class to the page you want
    }
    return $menu;
}
add_filter( 'wp_page_menu', 'change_page_menu_classes', 0 );

资源


#2


嘿, 我不知道这是否仍然有意义, 但是我遇到了这个问题, 并且效果很好。我正在使用发帖主题为”项目”的roots主题

// Remove active class from menu
function remove_active_class($class) {
return ( $class == 'active' ) ? FALSE : TRUE;
}

// Add active class to menu of post type single template
function add_class_to_wp_nav_menu($classes) {

if( is_singular( 'projects' ) ) {

    $classes = array_filter( $classes, 'remove_active_class' );

    if( in_array( 'menu-projects', $classes) ) {
      $classes[] = 'active';
    }
} elseif( is_singular( 'resources' ) ) {

    $classes = array_filter( $classes, 'remove_active_class' );

    if( in_array( 'menu-resources', $classes) ) {
      $classes[] = 'active';
    }
}

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

#3


add_filter( 'nav_menu_css_class', 'namespace_menu_classes', 10, 2 );
function namespace_menu_classes( $classes , $item ){
if ( get_post_type() == 'attorneys' ) {
    $classes = str_replace( 'current_page_parent', '', $classes );
    if ( $item->url == '/attorneys' ) {
    // Replace "attorneys" with your code
    if(preg_match('/attorneys/', $item->url)) {
        $classes = str_replace( 'menu-item', 'menu-item current_page_parent', $classes );
    }
}
return $classes;

}

从此处更改:https://wordpress.org/support/topic/custom-post-type-highlighting-current-menu-item

赞(0)
未经允许不得转载:srcmini » 自定义帖子类型菜单中的突出显示页面

评论 抢沙发

评论前必须登录!