检查WordPress中的`do_action()`是否返回任何结果

时间:2019-02-04 作者:Faisal Khurshid

我想检查一下do_action(\'some_hook\') 在WordPress中,返回/回显特定帖子的任何结果。我试过使用has_action(\'some_hook\') 但它只检查\'some_hook\' 在全局级别有任何注册的处理程序,它不会检查特定帖子是否有该挂钩的任何结果。谁能告诉我如何实现我的目标?

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

一种可能的方法是通过ob_start() 就像这样

ob_start();
do_action(\'my_hook\');

$content = ob_get_contents();
ob_end_clean();

if (empty($content)) {
    // no output generated
} else {
    // had some output
}

相关推荐

自定义发布类型的POST_ROW_ACTIONS

我正在使用this 在WordPress Admin中具有重复post函数的代码。但是,当我为自定义帖子类型添加过滤器时,如下所示:add_filter( \'directory_row_actions\', \'rd_duplicate_post_link\', 10, 2 ); (自定义帖子类型的注册名称为directory) - 它不会将其添加到条目标题下的操作行中。当我为帖子或页面执行此操作时,如下所示:add_filter( \'post_row_actions\', \'rd_dup