分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » 代码 » 使用query_posts导致分页失效的解决方法
+

使用query_posts导致分页失效的解决方法

使用query_posts导致分页失效的解决方法-BanYuner

使用query_posts导致分页失效的解决方法

最近这段时间在折腾影视页面,中途也是用到了query_posts来控制显示单分类下的文章数量,但是使用过程中出现了页面失效的情况,于是最后百度来自百度去还是没有找到相关文章,最终,我今天无意中已经找到了。

代码部分来自TENNFY WU博客:

<?php
$limit = get_option('posts_per_page');
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('&showposts=' . $limit=9 . '&paged=' . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>

其中$limit=9中的9就代表显示文章数量,而你需要修改的仅仅就是这个部分而已。

使用了这个代码之后,基本所有问题都已经解决了,但是WP大学也说了,并不推荐用户使用query_posts方法来显示文章,至于原因方面如下:

query_posts() 只是一种查询数据库获取文章列表的方法。在使用 query_posts() 之前,你需要了解它的弊端。

改变主循环(Alters Main Loop)

query_posts() 是通过替换查询条件来改变主循环生成的内容的。一旦你使用 query_posts(), 你文章的相关的全局变量和模板标签都将改变。条件标签(Conditional tags)在你调用 query_posts() 之后也会发生改变——这可能是也可能不是预期的结果。

二级循环(Secondary Loops)

要创建 二级列表(例如:在页面底部显示相关文章列表,或者在边栏小工具中显示一个列表), 尝试使用 WP_Query 或 get_posts() 来获取文章。

如果你一定要用 query_posts() ,请确保你在上一个使用了 query_posts() 的循环结束的地方,使用 wp_reset_query() 来重置查询。

分页(Pagination)

分页将无法正常工作,除非你适当设置 ‘paged’ 查询: adding the paged parameter

额外的SQL查询

如果你在模板页面中使用 query_posts ,WordPress 就会在 query_posts 时执行数据库查询和检索记录(即它是如何知道是服务于哪个模板页面!)所以,当你使用 query_posts() 覆盖了默认的查询,你基本上就扔掉了默认的查询以及它的结果,并重新对数据库执行了另一个查询。

这也许不是一个问题,尤其是如果你正在处理一个较小的基于博客的网站。但是对于大型网站、大型数据库以及较高的访客流量来说,你就要考虑使用其他查询方式来减少 SQL查询了,比如直接修改默认的查询(在它被请求前)。使用请求(request)过滤器可是实现这点。

‘parse_query’ 和 ‘pre_get_posts’ 过滤器也可用来修改内部用于生成SQL查询数据库的 $query 对象。

所以在使用这个方法之前,请了解上述相关弊端之后再决定。

关注我们 打赏 分享此文
微信扫码,关注我们
扫码,支持我
使用query_posts导致分页失效的解决方法
支付宝(点击图片切换)
扫码,支持我
使用query_posts导致分页失效的解决方法
微信(点击图片切换)
扫码,手机看
使用query_posts导致分页失效的解决方法
匿名

个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

相关推荐

  • WordPress纯代码实现文章AJAX点赞

    WordPress纯代码实现文章AJAX点赞

    这个功能其实在很多主题中都集成进去了,DUX默认的主题里面也是有这个功能的,但是我将其删除了,之后换上了评星插件了,评 ...

    点击查看
  • WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能

    WordPress页面(page)添加标签和分类功能 文章分类目录和标签功能是WordPress自带的功能,但是很多时候,喜欢使用页面的用 ...

    点击查看
  • 如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频

    如何在WordPress文章中插入视频 现在很多站点都是做视频站点的,同时也有很多视频站点都是使用的CK播放器,如果你已经使用了 ...

    点击查看
  • 帅气小琦琦
  • 博客大全网
使用query_posts导致分页失效的解决方法
8 + 2 =
  • 昵称 (必填)  
  • 邮箱 (必填)
  • 网址 (选填)
  1. 1楼
    博客大全网
    感谢分享啊!
    博客大全网 来自天朝的朋友 谷歌浏览器 Windows 7 山东省聊城市 职业技术学院 3个月前 (11-08)回复