重庆小猴建站工作室:专业企业网站网站美工、网站设计、SEO优化、网站运营等服务。QQ:570521548服务中心 | 建站流程 | 网站地图

Wordpress首页判断is_home()失效

2021-11-18小猴建站 阅读()相关主题:

很多Wordpress模板对判断当前是否是首页是这样写的

<li <?php 
 if (is_home()){
  echo 'class="current-cat"';
 }else echo '';
?>><a href="<?php bloginfo();?>">首页</a></li>

结果首页、分类页的返回结果都一样,有两种办法解决这个问题。

query_posts();函数阻止了这个判断

使用了 is_home(); 函数之前已经用了 query_posts(); 函数,类似的 is_xx(); 前缀的都是基于主循环,而 query_posts(); 让其偏离了主循环。处理办法是在 is_home(); 前面加上 wp_reset_query(); 。

<?php wp_reset_query(); if ( is_home() ) { ?> 
首页显示
<?php } ?>

Page页面设置错误

不是用index.php作为首页,而是使用page页面作为首页时,is_home(); 函数是不起作用的,可以增加 is_front_page(); 来判断。

代码如下:

<?php if(is_home() || is_front_page()) {?>
首页显示
<?php }?>

初学者可以两个方法都试一下,就知道自己是哪方面出问题了。经测试,把主页按如下方法设置,可以直接用is_home(); 函数。

设置 -> 阅读设置 -> 选择“您的最新文章”

wordpress阅读设置首页设置

判断是否为内容页

有些时候只需要内容页才调用的封装JS等其他,而首页、列表页不需要调用,以提高页面加载速度。可以在公共footer.phg里用 is_single() 函数。

<?php if (is_single()) { ?>
//代码段,只在内容页显示
<?php };?>