wordpress页面无法翻页的解决办法

2008-10-08 18:43| 分类:wordpress| 标签: | 12,034 次点击

以前写过一篇如何在wordpress插入分类页面。后来访客反映这样子做成的分类页面无法翻页。并且wordpress自带的翻页函数还是wp_navi插件的翻页功能都无效(我用的是Pagebar2分页插件也无效),但后来他自己解决了这个问题。今天我又给自己的博客加上了几个分类,分别是“技术无关”和“移动生活”的分类,也遇到了这个问题。

google了一下,看到这篇《调用特定分类下文章_显示在独立页面中的_翻页问题(已经解决)》,已经讲的挺详细了:(在此谢谢论坛上的“跑调麦霸”)

状况:页面是翻过去了,地址也变了,就是内容没变

 

猜测:使用query_posts()函数调用任何内容都很方便,
但是对分页导航或者默认的翻页不起作用,
包括用这个函数调用特定分类下的文章或者排除一个或几个分类下的文章时。
如果是用get_posts()函数效果一如query_posts()函数但是不会形成分页

解释:使用query_posts()函数调用文章,query_posts()函数会关闭对分页功能的呼叫(If you manipulate query_posts() directly, it turns off paging. Sorry.

解决办法:把我在如何在wordpress插入分类页面提到的

<?php query_posts(‘showposts=20&cat=11’); ?>

改为以下的代码:

<?php
$limit = get_option(‘posts_per_page’);
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(‘cat=12&showposts=’ . $limit=10 . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
?>

其中limit=10可以自由设置,即每页显示的文章数,我在自己的这个wordpress上已经测试成功。效果见技术无关

 

另外说一个小技巧:wordpress页面排序(无需插件,最简单的方法)

1、在管理新页面处更改页面的“页面序号”值;
2、在模板文件的header.php里把<?php wp_list_pages(’sort_column=id&depth=1&title_li=’); ?>修改为:<?php wp_list_pages(’sort_column=menu_order&depth=1&title_li=’); ?>

即可无需插件实现头部导航页面链接的排序,当然,也可以用wordpress页面排序插件My Page Order,我不喜欢一大堆插件,能不用尽量不用,所以就不用这个插件了。

相关文章

  1. 14条评论

  2. Toni 2009-01-10 17:04

    谢谢分享,正在为这事犯难,呵呵

    [回复]

  3. pumaboyd 2009-02-02 12:53

    More显示有问题

    [回复]

    园子 reply on 七月 20th, 2009 14:39:

    遇到了和你一样的问题~

    使用MORE截断无效

    都成了全文输出了~

    [回复]

    et83214 reply on 十月 6th, 2009 20:10:

    同样问题……

    [回复]

    yf0109 reply on 十月 10th, 2009 16:12:

    在the_content();之前
    加一句
    $more=null;
    就能显示摘要了.
    是我自己摸索出来的.

    [回复]

  4. Mats 2009-02-17 10:18

    我在我的模板是试好像不行啊!
    不知道是不是模板的缘故!

    [回复]

  5. 琪琪老爸 2009-02-20 21:59

    多谢了,正好解决了我的问题.

    [回复]

  6. Sy 2010-01-14 15:04

    相同的问题,这段代码我是加在了自己自定的page页面里,但是报错了。
    Parse error: syntax error, unexpected ‘=’ in G:\www\htdocs\live\wordpress\wp-content\themes\default\page-tg.php on line 13
    请问哪里出现错误了呐?是不可以加在page.php页面里吗?

    [回复]

  7. Sy 2010-01-14 15:27

    检查了下代码,原来是大小写写错了,搞定了,谢谢大大。

    [回复]

  8. Y.Boy 2010-05-01 18:59

    因为修改过 永久链接地址,所以 get_query_var(‘paged’)) 无效。因为 url 后面没有 paged 这个变量啊。
    为什么?

    [回复]

  9. doom 2010-11-12 17:12

    还是有问题呢。也是你说的那种问题.照你的方法修改了还是一样,点击翻页的链接浏览器地址对了.但是还是错的

    [回复]

    Bryan reply on 七月 6th, 2012 6:29:

    @doom,
    我也是,點擊翻頁地址都變了,但是內容還是一樣。怎麼修改啊

    [回复]

  10. nameless 2011-04-09 1:30

    WordPress 3.1 还是有许多这方面的问题。
    我遇到的情况是,
    我用 category.php 来做通用的分类页,并且是分页的,这个正常。这个是按照系统中设定的每页显示的文章数来分页的。
    另外我用 category-news.php 来做一个新闻页,想自己设定每页显示文章数。
    当打开 http://localhost/?category_name=news 时,显示是正常的,内容说明它正确调用了 category-news.php 模板,但是,当点击分页时(http://localhost/?category_name=news&paged=2),它却返回了“404 Not Found”。而不是你所遇到的“分页成功,但内容不变”情况。照理来说,按照模板调用顺序,至少应该会调用 category.php 或 index.php 模板才对的,怎么也不可能去调用 404.php。这个问题很费解,查了很久都不知怎么回事。
    环境是 WinXp IIS5,php 5.2.1。
    请问对此有什么好建议?

    WordPress 是很强大,但是它的模板规则以及众多的模板标签,真的很难让人理清它的调用逻辑。分页问题 Google 一下可见一大堆,经过这么长时间的发展,都没能解决妥当。

    分页问题,分类作为菜单以及和页面作为菜单一并排序的问题,还有图片链接不支持相对地址。这些基本问题都没有得到好的处理。

    [回复]

  11. hardy 2011-04-11 22:10

    谢谢,已经搞定了

    [回复]

发表您的评论

您的昵称:
您的邮箱:(可选,不会被公布)
您的网站: