在 WordPress 中,你可以根据不同的需求通过多种方式来调整网站文章的排序,以下为你详细介绍:

一、按默认规则调整排序


WordPress 默认按照文章发布时间,以降序排列(即最新发布的文章排在最前面)。如果你希望改变这种默认排序,可以在主题模板文件(如archive.phpindex.php等)中修改WP_Queryquery_posts的查询参数。

示例代码(修改WP_Query


收起
php
$args = array(
    'post_type' => 'post', // 文章类型
    'orderby' => 'date', // 排序依据,这里按日期排序
    'order' => 'ASC' // 排序顺序,ASC为升序,即最早发布的文章在前;DESC为降序,即最新发布的文章在前
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // 显示文章内容
        the_title( '<h2><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' );
        the_content();
    }
    wp_reset_postdata();
}

代码解释

 
  • orderby参数可取值包括:
    • date:按发布日期排序。
    • title:按文章标题排序。
    • modified:按文章最后修改时间排序。
    • rand:随机排序。
    • menu_order:按文章的菜单顺序排序(需手动设置每篇文章的菜单顺序值)。
  • order参数:ASC表示升序,DESC表示降序。

二、使用自定义字段排序


如果你想根据自定义字段的值来排序文章,可以在查询参数中设置meta_keyorderby

示例代码


收起
php
$args = array(
    'post_type' => 'post',
    'meta_key' => 'your_custom_field', // 自定义字段名称
    'orderby' => 'meta_value_num', // 按自定义字段的数值类型排序
    'order' => 'DESC'
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // 显示文章内容
        the_title( '<h2><a href="' . esc_url( get_permalink() ) . '">', '</a></h2>' );
        the_content();
    }
    wp_reset_postdata();
}

代码解释

 
  • meta_key:指定用于排序的自定义字段名称。
  • orderby
    • meta_value:按自定义字段的文本值排序。
    • meta_value_num:按自定义字段的数值值排序。

三、使用插件调整排序


如果你不想修改代码,也可以使用插件来调整文章排序,例如 “Simple Custom Post Order” 插件。

操作步骤

 
  1. 安装并激活插件:登录 WordPress 后台,导航到 “插件” -> “添加新插件”,搜索 “Simple Custom Post Order”,点击 “安装现在”,然后激活插件。
  2. 调整文章排序:激活插件后,在文章列表页面,你会看到文章标题前出现拖动图标。通过拖动文章标题,即可调整文章的排序顺序。插件会自动保存你设置的排序,文章将按照你拖动后的顺序显示。

四、置顶文章排序


WordPress 自带文章置顶功能,置顶文章会默认显示在文章列表的最前面。你可以在文章编辑页面,右侧 “文档” 模块中(若未显示,点击右上角 “三个点” 图标,勾选 “文档”),找到 “状态和可见性” 区域,点击 “公开” 旁边的 “编辑”,勾选 “置顶此文章到首页”。若有多个置顶文章,默认按发布时间降序排列,也可借助 “Sticky Posts Order” 插件来调整置顶文章的顺序。
通过以上方法,你可以根据不同的需求灵活调整 WordPress 网站文章的排序。