首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Wordpress子主题中的筛选器

禁用Wordpress子主题中的筛选器
EN

Stack Overflow用户
提问于 2015-02-22 16:43:06
回答 1查看 384关注 0票数 0

早上好,

我正在一个新的网站上工作,并使用我的修正案的孩子主题。我希望删除在父主题上操作的过滤器-是否可以对子主题函数进行修改以实现此目的?

父主题中的函数为:

代码语言:javascript
复制
if ( ! function_exists( 'rosette_setup' ) ) :
function rosette_setup() {

add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args ){
    if (is_user_logged_in() && $args->theme_location == 'top_bar_nav'){
        $items .= '<li class="menu-item"><a href="'.get_permalink(2798).'" title="">My Account</a></li>';
        $items .= '<li class="menu-item"><a href="'.get_permalink(5).'" title="">My Wishlist</a></li>';
        $items .= '<li class="menu-item"><a class="nav-top-link" href="'.wp_logout_url().'">Log Out</a></li>';
    }
    elseif (!is_user_logged_in() && $args->theme_location == 'top_bar_nav') {
        $items .= '<li class="menu-item"><a href="'.get_permalink( get_option('woocommerce_myaccount_page_id') ).'" title="">Login</a></li>';
    }
return $items;
}

}
endif; 
add_action( 'after_setup_theme', 'rosette_setup' );

任何帮助都将不胜感激:-)

EN

回答 1

Stack Overflow用户

发布于 2015-02-22 18:41:35

在任何地方使用remove_filter()函数都应该做到这一点……因此,对于您的代码,您将看到

代码语言:javascript
复制
function my_child_theme_setup() {
    remove_filter( 'wp_nav_menu_items', 'add_loginout_link', 10 );
}

add_action( 'after_setup_theme', 'my_child_theme_setup' );

只需将代码放在子主题function.php文件中,过滤器就会被删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28656026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档