WordPress函数:is_home判断是否主页,及失效情况处理

在WordPress主题开发中,有时需要区分主页和其他页面。

比如一个广告只在首页显示。

一般情况,只需要使用 is_home 函数进行判断即可。

if (is_home()) {
    echo '这个广告只在首页显示';
}

但是,有时上面的代码却不会生效!

一、在WordPress后台把某个页面设置成了主页

这时,需要加上 is_front_page 函数判断即可。

if (is_home() || is_front_page()) {
    echo '这个广告只在首页显示';
}

二、在 is_home 函数之前,有使用query_posts()

这种情况,极有可能是忘记了重置查询循环。只需要在 is_home 之前,调用 wp_reset_query。

wp_reset_query();
if (is_home() || is_front_page()) {
    echo '这个广告只在首页显示';
}

WordPress函数:is_page 判断是否是page页面,及和is_paged的区别

在WordPress主题开发中,如果需要判断是否是page页面,使用 is_page 函数即可。

这个函数对应在WordPress主题中 page.php 及用户自定义的page页面

if (is_page()) {
    echo '这是page页面';
}

if (is_page(66)) {
    echo '这是文章ID为66的page页面';
}

if (is_page('zhuige-com')) {
    echo '这是文章标题(slug)为zhuige-com的page页面';
}

if (is_page(array(66, 'zhuige-com'))) {
    echo '这是文章ID为66或文章标题(slug)为zhuige.com的page页面';
}

还有一个函数 is_paged ,非常容易和 is_page 混淆。

is_paged 是用来判断是不是分页了