Add_Filter to the_Content From插件函数

时间:2017-09-11 作者:zarif babu

我正在使用myeffecto插件进行后期反应。该插件使用the_content 钩但我不想在每个帖子上都显示出来。我希望它位于条件if()语句中

该插件使用:

add_filter( \'the_content\', \'echoEndUserPlugin\' );
但我想用单曲。php如下所示:

if($showreactions){
   // show reactions
}
我该怎么做?

1 个回复
SO网友:Howdy_McGee

因此,插件并没有将其封装在任何对我们来说既好又简单的类中。我们不能直接修改函数,而且它似乎没有任何过滤器,所以我们可以做两件事中的一件(本质上是相同的)。

1) 如果在大多数页面上,您不希望出现此功能,并且认为很少会显示表情符号,那么您可以完全删除挂钩,并且只有在条件触发时才将其添加回挂钩中:

/**
 * Disable My Effecto Plugin emoticons
 * Enable when conditions are met
 *
 * @return void
 */
function theme_myeffecto_disable() {

    remove_filter( \'the_content\', \'echoEndUserPlugin\' );

    // $showreactions set somewhere?

    if( $showreactions ) {
        add_filter( \'the_content\', \'echoEndUserPlugin\' );
    }

}
add_action( \'init\', \'theme_myeffecto_disable\', 20 );
2)如果大多数页面确实需要此功能,而只有少数页面不需要此功能:

/**
 * Disable My Effecto Plugin emoticons
 * Whenever conditions are met
 *
 * @return void
 */
function theme_myeffecto_disable() {

    // $showreactions set somewhere?

    if( ! $showreactions ) { // IF NOT show reactions, remove filter
        remove_filter( \'the_content\', \'echoEndUserPlugin\' );
    }

}
add_action( \'init\', \'theme_myeffecto_disable\', 20 );
我们使用init 钩子,因为它在添加钩子之后但之前激发the_content 实际运行。您可以将此添加到functions.php 文件或作为单独的插件。

我不熟悉这个插件,但他们也有一个选择mye_plugin_visib 他们会检查几次,您也可以将其设置为false,但不断更新选项并不是最佳选择。

结束

相关推荐

Hooks for Links Box

Possible Duplicate:Getting archive pages in WP's AJAX internal link finder? 新的有挂钩吗internal links box 创建于WP 3.1? 我正在尝试在插件中修改它。