您所在的位置: 首页 > 健宇学院 > 网站技术 > 关于wordpress中if(is_home())等判断语句失效的解决方法

关于wordpress中if(is_home())等判断语句失效的解决方法

今天有位好友留言说我首页的友情链接全部不见了,吓我一跳,赶紧查看了下wordpress主题的代码,经过仔细查看发现时query_posts()这个函数导致了if(is_home())判断语句失效了。

在首页显示的代码是这样的

1
2
3
4
5
<?php if(is_home()):?>

此内只在首页显示

<?php endif;?>

原因是 is_home 等这种 is_ 前缀的都是基于主循环来判断,而 query_posts(); 会让其偏离主循环

解决方案是在 is_home(); 之前加一个 wp_reset_query();

增加之后代码为

1
2
3
<?php wp_reset_query(); if ( is_home() ) { ?>
此内容只在首页显示 <?php }
?>
因此在使用query_posts()这个函数后一定要在查询完成的时候插入一个

1
<php? wp_reset_query();?>
来重置查询

但这并非是最好的解决方法,最好的解决方法是别用query_posts()这个函数,而是用wp_query()替代。

请尊重我们的辛苦付出,未经允许,请不要转载 健宇工作室 的文章,鄙视各种无耻的采集行为!

健宇工作室分享区  YY教学频道号:63565426

相关日志:

关于wordpress中if(is_home())等判断语句失效的解决方法:等您坐沙发呢!

给我留言

74 + 69 = 两数相加后,请输入答案