Add_action在WP_Wdiget的Widget()内不起作用

时间:2016-07-18 作者:stergosz

我在中有一个函数functions.php

function test(){
   do_action(\'before_test_action\');
   echo \'in test\';
}
然后在我的小部件中widget( $args, $instance ) 我使用的功能:

$boolean = (isset($instance[\'boolean\'])) ? $instance[\'boolean\'] : \'\';
if ($boolean == \'on\'){
   add_action(\'before_test_action\', array($this, \'widget_test_func\'));
}
之后widget() 功能我有widget_test_func 功能:

public function widget_test_func(){
   echo \'within widget test func\';
}
该操作未运行,我在浏览器上看不到任何内容。如果我在小部件构造函数中添加add\\u操作,它将工作,但我需要确保它在$boolean == \'on\'

1 个回复
SO网友:CK MacLeod

不是真正关注函数之间的关系以及在哪里(那么哪些变量可用,如何使用),但您可以尝试以下操作:

add_action(\'before_test_action\', array($this, \'widget_test_func\'));

public function widget_test_func( $instance) {

    $boolean = (isset($instance[\'boolean\'])) ? $instance[\'boolean\'] : \'\';

    if ($boolean == \'on\') {

        echo \'within widget test func\';

    }

}

相关推荐

EDIT-Comments.php COMMENT_ROW_ACTIONS AJAX问题

在编辑注释上。php页面,我正在连接到comment\\u row\\u actions过滤器,以便在末尾添加另一个链接。我正在复制“Approve”链接,添加另一个查询键和值,并修改锚文本。我想根据新查询键的值添加一些注释元。批准的链接:/wp-admin/comment.php?c=9999&action=approvecomment&_wpnonce=8526c66已批准的元链接/wp-admin/comment.php?c=9999&action=approvecommen