我有什么办法可以用is_single()
插件函数的内部。php文件?目前,我的代码是这样的:
if(is_single()) :
function my_template() {
include(PLUGINDIR . \'/supersqueeze/all.php\');
exit;
}
add_action(\'template_redirect\', \'my_template\');
endif;
但出于某种原因,它根本不起作用。如果我删除
if(is_single())
, 它可以工作,但适用于所有页面。
然后,一旦我开始工作,我将需要再次对其进行过滤,以查看帖子是否有特定的自定义字段值,比如名称将是Design
值为Custom
.
提前感谢任何能帮助我的人。
最合适的回答,由SO网友:prettyboymp 整理而成
代码的问题是,在第一次加载插件时,在全局查询运行之前,您正在检查is\\u single(),因此is\\u single()仍然返回false。您应该在my\\u template函数中移动is\\u single()检查:
function my_template() {
if(is_single() && have_posts() && \'Custom\' == get_post_meta(get_the_ID(), \'Design\')) {
include(PLUGINDIR . \'/supersqueeze/all.php\');
exit;
}
}
add_action(\'template_redirect\', \'my_template\');