欢迎您光临爱永设计官网!
电话图标 服务热线/微信:13436537174 QQ咨询:276583799

新闻资讯

news

WordPress博客首页如何排除指定分类的文章

发表日期:2014-04-04 文章作者:爱永设计  浏览次数:15549 次

如果你不希望在首页上显示上显示自己生活类的文章,而只显示一些新闻类的文章,那如何实现呢……

要做到这一点,你就需要在 The loop 中更改调用文章的函数。WordPress默认主题 Twenty Ten 和 Twenty Eleven 使用 the_post() 函数来调用所有的博客文章。

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

the_post() 函数使用 WP_Query。我们可以使用 WP_Query 函数本身来自定义哪些文章被调用,或者哪些存档、分类、时间的文章可以显示在主页。

另外,我们还可以使用 query_posts 函数来控制 The Loop 循环。这种方法无疑是最好的,因为它并没有改变你的循环。下面讲讲这两种方法,你可以选择一个适合你的。

 

步骤/方法

  1. 使用函数WP_Query

    如果你想改变你的主页显示效果,你需要编辑主题index.php文 件。大部分主题使用archive.php文件来作为分类(category)、时间(date)、标签(tag)的的显示页面, 所以想更改某个存档页面只要修改archive.php文件就可以了。还有一些主题有专门的category.php、date.php、tag.php 模板,修改相对应的就好。

    大多数主题文件的循环会以“Start the Loop”开始。例如在Twenty Eleven主题中,看起来像这样:

    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>

    需要替换为以下函数:

    // The Query
    $query = new WP_Query( $args );
    // The Loop
    while ( $query->have_posts() ) : $query->the_post();

    要控制哪些文章在循环中显示,需要定义在WP_Query中的参数,即修改

    $query = new WP_Query( $args );.

    目前有5种参数,比较常用的是参数是 cat 和 category_name 。

    若你要显示你的 tech 分类,而它的分类ID是1,那么你可以使用参数cat:

    $query = new WP_Query( ‘cat=1′ );

    或者可以使用参数 category_name 来达到同样的效果:

    $query = new WP_Query( ‘category_name=tech’ );

    若想多添加几个分类,则需要用逗号分隔。

    $query = new WP_Query( ‘cat=1,7,121′ );

    $query = new WP_Query( ‘category_name=news,reviews,tutorials’ );

    在分类ID前加上减号来排除某一类的所有文章。注意,不可以使用category_name 参数来排除类别。

    $query = new WP_Query( ‘cat=-1′ );

    在上面说过,有5种参数,我已经讲解了其中两个:cat 和 category_name,都是从文章列表中包含或排除某些类别。

    其他三个参数是 category_and、category_in和category_not_in。

    category_and显示多个分类的文章:

    $query = new WP_Query( array( ‘category__and’ => array( 1, 7 ) ) );

    category_in是一个or函数:

    $query = new WP_Query( array( ‘category__in’ => array( 7, 127 ) ) );

    排除多个类别:

    $query = new WP_Query( array( ‘category__not_in’ => array( 2, 6 ) ) );

    WP Query是一个非常灵活的功能函数。分类只是其中的一个参数而已,还可以使用:

    Author Parameters – 显示某个作者或多个作者的文章列表,也可以排除之。

    Tag Parameters – 显示或排除某些Tag的文章列表。

    Taxonomy Parameters – 显示一个或多个自定义分类的文章列表。.

    Post & Page Parameters – 使用IDs 或 page slugs显示某些特定的文章。

    Type & Status Parameters – 显示某些文章类型的文章或带有附件的文章。

    Pagination Parameters – 确定每页显示的文章数量。

    Offset Parameter – 文章从某哪开始显示。

    Order & Orderby Parameters – 更改文章列表的排列顺序。

    Sticky Post Parameters – 显示包括或排除置顶文章的文章列表。

    Time Parameters – 显示某些时间段的文章。

    Custom Field Parameters – 显示相关自定义字段的文章。

    Permission Parameters – 显示发布的或私密的文章。

    WP_Query 页面为每个参数都提供了例子,这里就不一一讲解具体用法了。

  2. 使用函数query_posts

    query_posts可以非常简单的定制你在页面上显示的文章,而且你不必更改现有的循环代码。

    query_posts( $args );

    要使用它的功能,你就必须在你的loop循环开始之前调用它。例如:

    // The Query
    query_posts( $args );
    // The Loop
    while ( have_posts() ) : the_post();

    如果你计划调用页面中的第二个循环,请确保你使用了wp_reset_query()来重置你的循环。例如:

    // The Query
    <?php query_posts( $args ); ?>
    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( ‘content’, get_post_format() ); ?>
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>

    要显示某些分类的文章,你需要用到 cat 参数:

    <?php query_posts( ‘cat=1,5,6′ ); ?>

    同样,要排除某些分类,你需要在前面添加减号:

    <?php query_posts( ‘cat=-3,-5′ ); ?>

    还可以用来显示特定的文章:

    query_posts( ‘p=2′ );

    要定义每页显示文章的数量,你可以使用 posts_per_page 参数:

    query_posts( ‘posts_per_page=5′ );

    想要了解更多的信息,请访问query_posts页面。

    使用插件来排除某些分类的文章

  3. 使用WordPress插件

    对于那些对代码不太感冒的朋友,也可以使用WordPress插件。这里建议使用Simply Exclude和Ultimate Category Excluder。

    Simply Exclude

    Simply Exclude可以让你在首页、归档页、搜索页、RSS中排除或包含某些分类、作者、标签的文章,使用起来也非常简单。

    Ultimate Category Excluder

    Ultimate Category Excluder,能让你容易的排除某些分类在主页、存档页和RSS中。不同于Simply Exclude的是他只能排除某些分类,不能排除作者、标签等。

    总结

    虽然Simply Exclude和Ultimate Category Excluder插件都很不错,但如果你有一定的编程基础,那么你还是手动修改吧。

     

    END

注意事项

  • 修改前请先备份好你的主题,万一弄错,只要恢复就可以了

标签:
将文章分享到..
相关资讯
最新主题模板
随机新闻
最新网站案例
  • 更多 +我们能做什么

    致力于互联网品牌建设与网络营销,专业领域包括网站建设、网站模板、移动互联网营销、wordpress平台开发等,服务范围涵盖基础的域名服务、主机 服务;企业邮箱、云服务器、网络营销等应用服务,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

  • 更多 +网站模板优势

  • 更多 +关于爱永设计

    爱永设计工作室一直致力于品牌精美的网页设计、网页制作DIV+CSS布局、JS效果、精美网站模板、标志设计、专业仿站, 低廉的价格,真诚的服务,我们拥有全国各地的客户群体和各行业的成功案例。以一流的服务,出色的网页设计和制作能力,认真严谨的工作态度为客户提供优质满意的服务。期待与您的合作!

Copyright © 2012 - 2024 aysheji.com All Rights Reserved 爱永设计 版权所有
邮箱:aysheji@163.com 在线客服:276583799 模板演示地址:www.aymoban.com 备案号:京ICP备13060102号-3
服务内容: 网页设计 网站建设 网站制作 网站模板 婚庆网站模板 摄影网站 手机网站制作 自适应网站制作