使用 PHP 仅在存档页面上显示横幅
Show banner only on archive pages using PHP
我有一个横幅,我只想在我网站的存档页面上显示。我想不出要这样做的 php 代码。到目前为止,这是我所拥有的(显然我已经删除了很多代码,使它看起来更清晰、更容易):
<header id="masthead" class="site-header navbar-static-top fixed-top <?php echo wp_bootstrap_starter_bg_class(); ?>" role="banner">
</header>
<?php if(is_archive()) ?>
<div class="free-shipping-banner">
<p>
FREE SHIPPING on all print orders within North America.
</p>
</div>
<?php endif; ?>
您可以看到这是我的免费送货横幅,我只想在存档页面上显示。我没有收到此代码的任何错误,但它仍然显示在我网站的所有其他页面上。有谁知道我做错了什么?
这是您的正确代码。请为 if 语句添加括号。
<header id="masthead" class="site-header navbar-static-top fixed-top <?php echo wp_bootstrap_starter_bg_class(); ?>" role="banner">
</header>
<?php if(is_archive()) { ?>
<div class="free-shipping-banner">
<p>
FREE SHIPPING on all print orders within North America.
</p>
</div>
<?php } ?>
您的代码中的错误是 if 语句只会查找下一行。但是当你放置括号时;你告诉服务器它在哪里结束。您使用了 endif 但您还忘记了 if 语句末尾的冒号。上面的代码将起作用。
我有一个横幅,我只想在我网站的存档页面上显示。我想不出要这样做的 php 代码。到目前为止,这是我所拥有的(显然我已经删除了很多代码,使它看起来更清晰、更容易):
<header id="masthead" class="site-header navbar-static-top fixed-top <?php echo wp_bootstrap_starter_bg_class(); ?>" role="banner">
</header>
<?php if(is_archive()) ?>
<div class="free-shipping-banner">
<p>
FREE SHIPPING on all print orders within North America.
</p>
</div>
<?php endif; ?>
您可以看到这是我的免费送货横幅,我只想在存档页面上显示。我没有收到此代码的任何错误,但它仍然显示在我网站的所有其他页面上。有谁知道我做错了什么?
这是您的正确代码。请为 if 语句添加括号。
<header id="masthead" class="site-header navbar-static-top fixed-top <?php echo wp_bootstrap_starter_bg_class(); ?>" role="banner"> </header> <?php if(is_archive()) { ?> <div class="free-shipping-banner"> <p> FREE SHIPPING on all print orders within North America. </p> </div> <?php } ?>
您的代码中的错误是 if 语句只会查找下一行。但是当你放置括号时;你告诉服务器它在哪里结束。您使用了 endif 但您还忘记了 if 语句末尾的冒号。上面的代码将起作用。