在wordpress中检测主页有哪些不同的方法()

【在wordpress中检测主页有哪些不同的方法()】检测wordpress主页有哪些不同的方法
除了is_front_page()和is_home()
谢谢
#1is_front_page()是你想要的。
根据wp-admin中的设置, 我假设is_home()无法正常工作, 你的主页是静态的。
is_home()在你的博客主页面上返回true, 而is_front_page()在将页面定义为首页(供稿与否)上返回true。
从法典:

此条件标签检查主页是帖子还是页面。这是一个布尔函数, 表示它返回TRUE或FALSE。当显示博客主页面并且” 设置” -> ” 阅读” -> ” 首页显示” 设置为” 你的最新帖子” 时, 或者当设置为” 静态页面” 且” 首页” 值为当前页面正在显示。
#2我只是执行以下操作:
if ( $_SERVER["REQUEST_URI"] == '/' ) { }

它可以工作并且不会使事情复杂化, 尤其是因为is_front_page()和is_home()并不总是像你期望的那样工作。
#3在二十十中, 我使用:
< ?php if ( $_SERVER["REQUEST_URI"] == '/' ) { ?> < h1 class="site-title"> < ?php bloginfo( 'name' ); ?> < /h1> < h2 class="site-description"> < ?php bloginfo( 'description' ); ?> < /h2> < ?php } else { ?> < p class="site-title"> < ?php bloginfo( 'name' ); ?> < /p> < p class="site-description"> < ?php bloginfo( 'description' ); ?> < /p> < ?php } ?>

就像一种魅力一样工作… $ _SERVER是我一直使用的, 并且它始终有效。
#4从循环外部:
if(get_option("page_on_front") == $post-> ID){ //do front page stuff here }

#5在许多情况下, WordPress网站在REAL主页和主博客页面上都可以将is_home和is_frontpage设置为true。在Wordpress中建立网站大约4年后, 这仍然困扰着我。
例如, 如果你有一个站点, 你的主页上有最新文章(可能带有滑块或其他以主页为中心的元素), 并且还有另一个博客页面, 则is_frontpage和is_home在两个页面上都将设置为true。因此, WordPress对于真正的首页没有明确的条件功能, 至少对于大多数人而言, 它是网站首页的方式。
因此, 我同意利亚姆(Liam)的看法, 如果你陷入混乱的境地, 就像if($ _SERVER [” REQUEST_URI” ] ==’ /’ ){}
更可靠。
#6对我来说, is_front_page()和is_home()无法以我需要检查主页的方式工作, 所以我写了以下条件:
global $wp; $current_url = home_url(add_query_arg(array($_GET), $wp-> request)); if ($current_url==get_site_url()) { // code for homepage }

#7is_home()是必经之路。
你尝试过这种方法, 但不起作用?如果是, 则通常与mod_rewrite设置或wordpress设置本身有关。

    推荐阅读