如何为WordPress插件添加过滤器?

时间:2015-04-21 作者:toy

我有一个很新的问题,但我对WordPress的开发还很陌生。我正在使用的插件中使用了这个过滤器。

if ( true === apply_filters( \'some_custom_filter\', false ) ) {
   return $something;
}
现在我想add_filter 所以它会回来true 我如何做到这一点?

这是我正在尝试但不起作用的,它总是会回来false

public function setup_filters() {
    add_filter( \'some_custom_filter\', array( $this, \'filter_suppress_the_content\' ), 10, 3 );
}

public function filter_suppress_the_content() {
    return true;
}
这就是课堂。

private static $instance;
private static $wpcom_related_posts;

public static function get_instance() {
    if( ! isset( self::$instance ) ) {
        self::$instance = new Klazz;
        self::$instance->setup_filters();
    }

    return self::$instance;
}

public function setup_filters() {
    add_filter( \'some_custom_filter\', array( $this, \'filter_suppress_the_content\' ), 10, 1 );
}

public function filter_suppress_the_content( $false) {
    return true;
}

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

你几乎接近了。

add_filter( \'some_custom_filter\', array( $this, \'filter_suppress_the_content\' ), 10, 3 );
// the above line states that, the method `filter_suppress_the_content` should have three arguments, where you have used nothing.


public function filter_suppress_the_content() {
    return true;
}
// comparing your code, this method should have one argument
解决方案:

public function setup_filters() {
  add_filter( \'some_custom_filter\', array( $this, \'filter_suppress_the_content\' ), 10, 1 );
}
public function filter_suppress_the_content( $false ){
    return true;
}

结束

相关推荐

JQuery Plugins in Wordpress

我已经能够在某种程度上拼凑出应该如何做到这一点,但我真的很难做到这一点。我想使用Table Sorter插件(http://tablesorter.com) 在自定义页面模板中显示数据,但我不确定它是否正确。我已经钩住了“wp\\u enqueue\\u scripts”,并使用此函数将表分类器JS文件排入队列。我相信这是正确的,但是我还需要在JQuery Ready()函数中放置一行,但是我不确定如何从自定义页面模板中执行此操作。有人能解释一下吗?<?php /* Templat