我有一个插件,我想确保它只在单数帖子、页面等上运行。我使用的是is\\u singular()函数,它工作得很好,但如果我这样做,它只会将执行返回到插件的其余部分:
function singular_check(){
if(is_singular())
return;
}
我在这样的钩子中执行它:
add_action(\'wp\', \'singular_check\');
我需要让我的整个插件在那一点上退出,并返回到执行插件下游的任何其他内容。有人知道怎么做吗?
最合适的回答,由SO网友:chrisguitarguy 整理而成
一个可能的解决方案是延迟挂接(例如模板重定向),进行条件检查。如果通过,请包括(或要求)一个包含所需内容的文件。
<?php
add_action( \'template_redirect\', \'wpse30291_template_redirect\' );
function wpse30291_template_redirect()
{
if( ! is_singular() ) return;
require_once( \'your-file.php\' );
}
如果
your-file.php
包含与之前发生的事情挂钩的函数(例如。
init
或
wp
). 但如果
your-file.php
包含修改内容的内容(挂钩
the_title
或
the_content
, 例如)那就好了。