如何避免侧边栏菜单中当前帖子的链接?

时间:2018-03-29 作者:hedgehog

当在侧栏中显示包含帖子列表的菜单时,此菜单还显示指向当前帖子(当前页面)的链接

如何避免此帖子列表中当前帖子的链接?

实际使用的文件是wp-content/themes/mytheme/sidebar。php、wp包括/nav菜单模板。php和wp包括/nav菜单。php。

我使用导航菜单小部件。

1 个回复
SO网友:mmm

你可以试试这个代码。第一个过滤器用于自定义小部件参数,第二个过滤器用于菜单生成。

add_filter("widget_nav_menu_args", function ($nav_menu_args, $nav_menu, $args, $widget_instance) {

    $post = get_queried_object();

    if (is_a($post, "WP_Post")) {
        $nav_menu_args["remove_post_in_widget"] = $post->ID;
    }


    return $nav_menu_args;

}, 10, 4);


add_filter("wp_nav_menu_objects", function ($sorted_menu_items, $args) {

    if (isset($args->remove_post_in_widget)) {

        foreach ($sorted_menu_items as $index => $item) {

            if ((int) $item->object_id === $args->remove_post_in_widget) {
                unset($sorted_menu_items[$index]);
                break; // stop the loop when the first post is found
            }

        }

    }


    return $sorted_menu_items;

}, 10, 2);

结束

相关推荐

定制器JS API:添加“Dropdown-Pages”控件

添加页面列表的正确方法是什么(type: dropdown-pages) 使用Customizer JS API?目前,我有此代码,但它不显示控件:api.control.add( new api.Control( \'custom-control\', { type: \'dropdown-pages\', section: \'custom-section\', setting: new wp.customize.Setting( \'custom-control\