当方法位于类内部时,如何将参数传递给Add_action?

时间:2019-04-01 作者:Alex

在我的functions.php 我有

require \'autoloader.php\';
add_action(\'init\', \'MyClass::make\');
在我的MyClass 我的班级

class MyClass {
    public static function make($type) {
        var_dump($type);die;
    }
}
但是var_dumpstring(0) "". 我想把参数传递给这个类$type. 我试着让它通过do_action 然而,我认为这不是最佳做法。

如何将参数传递给add_action?

2 个回复
SO网友:Tiago Hillebrandt

下面是关于如何实现add_action:

$type = \'my_sample_type\';

add_action(
    \'init\',
    function() use ( $type ) {
        MyClass::make( $type );
    }
);

SO网友:phatskat

这个init 钩子不传递任何参数-当您调用add_action, init 没有传递任何信息给make.

你可以打电话make 直接:

require \'autoloader.php\';
MyClass::make( <whatever );
如果你需要在init, 设置回调函数:


function add_my_type() {
    MyClass::make( <foo> );
}

add_action( \'init\', \'add_my_type\' );

相关推荐

从函数.php内修改_POSTS_PAGINATION,而不是模板文件

我知道使用如下函数(在functions.php) 允许我自定义分页选项:function custom_theme_pagination(){ global $wp_query; echo paginate_links(); } 。。。前提是主题文件包含<?php custom_theme_pagination(); ?> 无论我希望分页显示在哪里。然而,我想要实现的是控制<?php the_posts_pagination(); ?