开发wordpress主题时,首页的header内容与内页的header内容希望不一样,这时就要用到WordPress 提供的 is_front_page() 或 is_home() 条件标签来判断当前是否为首页,并根据判断输出不同的HTML。
举个栗子:
<?php if ( is_front_page() || is_home() ) : ?>
<!-- 只在首页显示的顶部导航 -->
<div class="topbar">
<div class="topbar-inner">
<div class="logo">粗文网</div>
<div class="nav">
<a href="#ys">古书</a>
<a href="#ys">县志</a>
<a href="#dg">族谱</a>
<span class="site">www.cuwen.com</span>
</div>
</div>
</div>
<?php else : ?>
<!-- 非首页显示的顶部导航 -->
<header>
<div class="header-inner">
<div class="logo">
<a href="https://www.cuwen.com/">
<img src="<?php echo get_template_directory_uri(); ?>/images/clogo.png" alt="logo">
</a>
</div>
<div class="nav-toggle" onclick="document.querySelector('.navbar').classList.toggle('open')">
<span></span><span></span><span></span>
</div>
<nav class="navbar">
<ul class="navbar-nav">
<li><a href="/cat/yshu/">易经</a></li>
<li><a href="/cat/jiapu/">家谱</a></li>
<li><a href="/cat/gushu/">古书</a></li>
<li><a href="/cat/xianzhi/">县志</a></li>
<li><a href="/cat/know/">百科</a></li>
</ul>
</nav>
</div>
</header>
<?php endif; ?>
说明:
is_front_page():判断当前页面是否为设置的首页(通常是一个静态页面)。
is_home():判断当前页面是否为文章列表首页(默认博客页)。
为了兼容两种首页情况,建议组合使用:is_front_page() || is_home()。
如需更精准控制(比如只在静态首页展示),也可以仅使用 is_front_page()。