我应该如何将滤镜和IS_Single一起使用?

时间:2020-08-13 作者:Anders Carlén

我有一个插件,它使用这个过滤器向自定义帖子类型添加一些内容。

// From plugin:
add_filter( \'the_content\', \'sixtenpresssermons_get_meta\', 15 );
我想删除某些视图(单张)上的过滤器。

我想在我的主题文件中使用代码,而不用编辑插件。

我在函数中尝试了下面的代码。php,但显然它不起作用。

// Not working, in functions.php
if ( is_single(\'sermon\') ) {
    remove_filter( \'the_content\', \'sixtenpresssermons_get_meta\', 15 )
}
我可以将条件句与这样的筛选器一起使用吗?或者,我如何仅删除单条上的筛选器?

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

你可以在functions.php, 但您必须确保函数已连接到wp. 任何早于此和is_single 未定义。

尝试将此添加到functions.php:

/**
 * Unhooks sixtenpresssermons_get_meta from the_content if currently on single post.
 */
function sx_unhook_sixtenpresssermons_get_meta() {
    // Do nothing if this isn\'t single post
    if ( ! is_single() ) {
        return;
    }

    remove_filter( \'the_content\', \'sixtenpresssermons_get_meta\', 15 );
}
add_action( \'wp\', \'sx_unhook_sixtenpresssermons_get_meta\' );

相关推荐

使用Add_Filters()、Apply_Filter()、Add_action()和do_action()扩展插件

假设我正在开发一个与预订相关的插件。下次我想在那个插件上添加一个附加组件来支付。然后,我为贝宝支付添加了另一个附加组件。假设下面是html中的支付网关UI界面<div class=\"payments-options\"> <div class=\"bank-payment\"></div> <div class=\"cash-on-delivery\"></div> <!--- Here i