Wordpress - 为什么我不能在插件中使用条件标签?

时间:2012-12-26 13:30:18

标签: wordpress wordpress-plugin wordpress-theming

我正在尝试使用以下代码:

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

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

1 个答案:

答案 0 :(得分: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 hook的示例:

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;
}