使用query_posts函数后记得用wp_reset_query()结束它

最近碰到一个有趣的问题,在我修改主题时,发现文章页不能正常显示,多出了一篇文章,把应该显示的文章挤到一边去了,这样一来就整个页面形成错位。这是怎么一回事呢?

开始也摸不着头脑。但仔细一想,是在我修改了头文件header.php后才出现这样的问题的。于是我就从这个文件的修改的地方入手。

应客户需要,我在头文件中插入了一段最新文章的代码,代码如下:

<?php query_posts(‘posts_per_page=3&caller_get_posts=1’); ?>
<?php while (have_posts()) : the_post(); ?>
<a target=”_blank” href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>” class=”title”><?php echo cut_str($post->post_title,34); ?></a>
<?php endwhile; ?>

代码是没有错,但是我忘了关闭query_posts()函数,它在文章页single.php中依然起着作用,因single.php中只调用一篇文章,所以它从头部的query_posts()最新文章中调用一篇文章,然后,single.php自己也有一个query_posts(),于是,它又调用了一次,就这样,它调用了2篇文章,出现现在这样的问题。

于是,我试着用wp_reset_query()来结束头部的query_posts() ,问题就解决了,代码如下:

<?php query_posts(‘posts_per_page=3&caller_get_posts=1’); ?>
<?php while (have_posts()) : the_post(); ?>
<a target=”_blank” href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>” class=”title”><?php echo cut_str($post->post_title,34); ?></a>
<?php endwhile; wp_reset_query();?>

人已赞赏
WP实用教程

WordPress后台写文章/新建页面出现 HTTP ERROR 500 错误的解决方法-指点聚

2019-2-24 11:33:41

WP实用教程

wordpress主题制作中常用到的常量

2019-2-24 15:26:31


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内 删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:指点聚源码
  2. 2、本站永久网址:https://www.zhidianju.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!(由于模板不是很完善签到 需刷新一下!)。
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
  6. 6、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  7. 7、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁 止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支 持你喜欢的作者,谢谢!
  8. 8、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源, 都不包含技术服务 请大家谅解!
  9. 9、如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!
  10. 10、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索