在WordPress中,is_home()
和 is_front_page()
函数用于检测当前页面是否是首页,但它们检测的条件略有不同。
-
is_home()
: 当WordPress设置中指定的“Posts page”(文章页面)被访问时返回true
。如果您的网站设置了静态首页,那么is_home()
将不会在访问首页时返回true
,而是在访问设置中指定的文章列表页面时返回true
。 -
is_front_page()
: 当访问的是网站的首页时返回true
,无论这个首页是静态页面还是文章列表页面。
以下是如何使用这两个函数来区分首页和博客页面的示例:
<?php
if ( is_front_page() && is_home() ) {
// 这是文章列表作为首页的情况
echo '这是首页,也是文章列表页面。';
} elseif ( is_front_page() ) {
// 这是静态页面作为首页的情况
echo '这是首页,但不是文章列表页面。';
} elseif ( is_home() ) {
// 这是文章列表页面,但不是首页的情况
echo '这是文章列表页面,但不是首页。';
} else {
// 这是其他页面
echo '这是其他页面。';
}
?>
在设置WordPress时,通常会有一个“阅读”设置,其中可以指定“首页显示”为“最新文章”或“静态页面”。如果选择“最新文章”,那么is_front_page()
和is_home()
都会在访问首页时返回true
。如果选择“静态页面”,那么is_front_page()
会在访问指定的静态首页时返回true
,而is_home()
会在访问指定的文章列表页面时返回true
。
确保在使用这些函数时,它们是在WordPress的循环内或正确的上下文中调用的。