是单数的,在家不工作吗

时间:2018-08-08 作者:Raashid Din

我正在创建一个主题,并添加了自定义挂钩,使开发更加容易。在函数中使用代码时,它可以在所有页面中工作。代码如下

add_action(\'before_footer\',\'post_prev_nex\');
function post_prev_nex(){
    the_post_navigation();
}
但当我尝试设置条件时,它不起作用。

if (is_singular()) {
    add_action(\'before_footer\',\'post_prev_nex\');
function post_prev_nex(){
    the_post_navigation();
}
}
这里的问题是什么。提前感谢

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

将条件放入函数中:

add_action(\'before_footer\',\'post_prev_nex\');
function post_prev_nex() {
    if (is_singular())
       the_post_navigation();
}
在您的版本中is_singular() 在以下情况下执行functions.php 文件已加载,而不是在显示页面时加载。

SO网友:Jacob Peattie

is_singular() 直接放入函数中时不起作用。php或插件,因为WordPress没有确定加载主题和插件时实际请求的内容。稍后,您需要将检查放在WordPress确定内容后发生的动作回调中,以执行检查。

那么,最简单的解决方案就是在回调函数中使用函数:

function post_prev_nex() {
    if ( is_singular() ) {
        the_post_navigation();
    }
}
add_action(\'before_footer\',\'post_prev_nex\');

结束

相关推荐