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(); 函数。
设置 -> 阅读设置 -> 选择“您的最新文章”
判断是否为内容页
有些时候只需要内容页才调用的封装JS等其他,而首页、列表页不需要调用,以提高页面加载速度。可以在公共footer.phg里用 is_single() 函数。
<?php if (is_single()) { ?> //代码段,只在内容页显示 <?php };?>
相关文章
- Wordpress禁止指定用户名注册及增加邮箱验证
- Wordpress文章调用同分类上下篇文章
- Wordpress指定分类从第二篇文章开始调用
- Wordpress分页插件设置404错误处理办法
- Wordpress设置404页面的方法
- Wordpress禁止编辑器添加<p>标签去除空标签
- Wordpress改HTTPS后台无法登陆或提示重定向过多的解决方法
- Wordpress内容页根据分类ID选用不同模板
- Worderpress判断自定字段为空或不为空
- Wordpress调用当前分类的文章并实现列表分页
- Wordpress文章页the_author()调用作者失效
- Wordpress分类和页面的区别及调用当前页面的子页面方法