【问题标题】:Wordpress: how to start an add_filter inside ClassWordpress:如何在 Class 中启动 add_filter
【发布时间】:2017-07-26 17:21:33
【问题描述】:

抱歉标题不清楚。

我正在开发一个插件,我想将其他列添加到自定义帖子中(尝试遵循本教程:https://ryanbenhase.com/how-to-add-custom-columns-to-the-all-posts-screen-or-your-custom-post-type-in-wordpress/)。

在管理类中,我在 __construct() 中有这个

public function __construct() {
     $this->perform_filter_hooked_action();
}

 /**
     * Perform all hooks for filters
     * 
     * @since 1.4 
     */
    private function perform_filter_hooked_action() {

        echo 'perform_filter_hooked_action called';
        add_filter('manage_custom_posts_columns' , array ( $this , 'add_columns_to_summary_custom_post'));

    }

    /**
     * 
     * Filter for add columns to summary custom post.
     * 
     * Callback from perform_filter_hooked_action
     * 
     * @since 1.4
     */
    public function add_columns_to_summary_custom_post( $columns ) {

        echo 'add_columns_to_summary_custom_post called';

    }

我只在屏幕上显示第一个回显(调用了 perform_filter_hooked_action),而不是第二个(在“add_columns_to_summary_custom_post 调用”上的另一个)。

我哪里错了?

非常感谢

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    当你使用过滤器时,你需要返回一个值而不是回显它。也许这就是问题所在。

    来自关于add_filter()函数的文档:

    稍后应用过滤器时,每个绑定的回调按顺序运行 优先级,并有机会通过返回来修改值 一个新的值。

    【讨论】:

    • 非常感谢。我没注意那部分。
    猜你喜欢
    • 2016-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多