我的WordPress主题这样做(3)-文章质疑应用

文章质疑(query posts)并不是WordPress中一个很难理解的技巧,但却是大家经常会问到的技巧。同时由于本站中的这个原因,我在本站首页的模板中也用到文章质疑这功能。

简单说就是我只让站内首页显示某几个分类的文章,做法:在index.php文件中找出这句:

<?php while (have_posts()) : the_post(); ?>

在其上方添加质疑语句:

<?php
if (is_home()) {
query_posts("cat=-3&showposts=5");
}
?>

上面语句中的cat=-3代表的是把分类ID为3的文章去掉。如果写成cat=3,没有负号在前,就表示只显示分类ID为3的文章,大家注意这个负号的意思。如果需要去掉多个类别,请用英文逗号分隔,如写成cat=-3,-4;如果只需要显示几个类别,写成cat=3,4则可。

另外showposts=5代表的是显示5篇文章,这个数字大家可以自己更改。

通过上面的方法,基本可以满足大家对首页只显示指定文章功能的实现。这里还有要注意的是这个方法的页面中分页功能不能。解决办法是,把上面文章质疑的语句稍作更改如下:

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

其中我们把限制文章显示数改为变量调用:$limit=5,修改这里的数字则可。这样就能继续正常使用类似page-navi,page-bar的WordPress分页插件了。

P.S. 如果你想查看更多我在WordPress主题制作中的心得,你可以点击这里查看汇总文章,谢谢 icon smile 我的WordPress主题这样做(3) 文章质疑应用

分类:theme skill, WordPress;标签:, , , ;收藏本文的永久链接

20 Responses to “我的WordPress主题这样做(3)-文章质疑应用”

  1. 梵尚 回复此留言 2008/06/23 03:15 #comment-2606

    沙发,支持LZ的教程,呵呵

  2. mercy 回复此留言 2008/06/25 06:51 #comment-2607

    我是来测试头像的,呵呵。

  3. 痴情的猪 回复此留言 2008/06/27 10:40 #comment-2610

    how-to-use-query-posts-in-wordpress
    什么意思,我文盲

  4. xmx 回复此留言 2008/06/27 16:40 #comment-2611

    nice

  5. shamas 回复此留言 2008/07/22 06:23 #comment-2616

    才看到这文章,等有时间把首页弄个分页上去

  6. Charles 回复此留言 2008/08/07 13:51 #comment-2609

    这个怎么能叫“质疑”呢,看得我下一跳

  7. Jinwen 回复此留言 2008/08/07 16:15 #comment-2608

    @Charles: 叫“质疑”也没有问题吧,改叫判定也要是可以的。

  8. 贝壳 回复此留言 2008/08/17 03:41 #comment-2615

    首先感谢一下~按照这个方法确实分页插件不可以用,下面那些代码请问是直接覆盖上面的判断语句吗?

  9. 贝壳 回复此留言 2008/08/17 10:05 #comment-2613

    555~老师提示错误Parse error: syntax error, unexpected T_VARIABLE in /home/koolin/public_html/wordpress/wp-content/themes/1/index.php on line 6 是不是主题的问题呢??我是直接覆盖上面的~不显示分类3和分类6··帮帮我啊~

  10. Jinwen 回复此留言 2008/08/17 08:55 #comment-2614

    @贝壳: 是的,就是用下面那段长的代码代替上面的短代码。

  11. 杰克花园 回复此留言 2008/10/17 04:50 #comment-2618

    有点没看懂。。。。

  12. Vincent 回复此留言 2008/12/02 09:07 #comment-3404

    太厉害了,按照你说的搞了一下。但是发现给问题,只要加了
    is_archive = true; $wp_query->is_home = false;?>
    页面密码功能就失效了,不知道是为什么,请大人帮助解决一下。谢!

  13. liwaili 回复此留言 2008/12/23 10:53 #comment-3846

    你好:
    我使用第三段代码代替第二段代码,加在第一段代码上面之后,网站无法访问,出现505错误,不知道是什么原因,请指点?
    谢谢

  14. liwaili 回复此留言 2008/12/23 10:55 #comment-3847

    不好意思,是500错误

  15. xiaobi 回复此留言 2009/01/06 10:10 #comment-4020

    那个代码可能是格式错了.用下面这个就可以解决。cat为正数是显示,为负数是隐藏。
    is_archive = true; $wp_query->is_home = false;
    ?>

    大家还可以看看这篇文章]
    http://www.saywp.com/wordpress/set-up-your-special-post-page.html
    非常感谢博主的文章,终于找到适合自己的方法了.

  16. S.Shek 回复此留言 2009/02/13 07:31 #comment-4434

    正在找这个呢~~太谢谢楼主了~!

  17. winlon 回复此留言 2009/04/09 09:24 #comment-5702

    换了一下 主页 内容 再次感谢你的代码


The trackbacks and pingpacks:

  • 美丽新世界» Blog Archive » 先凑合着吧……..WORDPRESS打理计划 - Pingback on 08/07/01 06:42
  • Yummy IT » wordpress模板学习笔记 - Pingback on 08/07/23 18:49
  • WordPress专属分类页面制作 | QQ电子书 - Pingback on 11/01/01 11:39