0

我正在尝试使以下代码正常工作:

if( is_home() ):
    echo 'User is on the homepage.';
else:
    echo 'User is not on the homepage';
endif;   

如果我把它放在主题页眉或页脚中,那么它可以工作,但如果我把它放在我的插件中,它就不起作用。我也尝试过is_single()is_page()但它们在插件中不起作用。知道问题是什么吗?

4

1 回答 1

2

is_home()并且其他几个 WP 函数并不总是被定义,尝试使用一个合适hook的来包含你的代码。例子:

add_action('wp', 'check_home');
// or add_action('init', 'check_home');

function check_home($param)
{
    if (is_home()):
        echo 'User is on the homepage.';
    else:
        echo 'User is not on the homepage';
    endif;
}

编辑:

在任何情况下,如果您想回显数据,请在body标签内使用挂钩。the_content使用钩子的示例:

add_filter('the_content', 'check_home');

function check_home($content)
{
    if (is_home())
        $echo    = 'User is on the homepage.';
    else
        $echo    = 'User is not on the homepage';

    return $echo . '<hr />' . $content;
}
于 2012-12-26T14:13:00.483 回答