WordPress 中让分类栏目里的置顶文章显示在最前面
在 WordPress 中,要让分类栏目里的置顶文章显示在最前面,可以通过以下几种方法实现:
WordPress 本身有文章置顶功能,默认情况下,在首页置顶文章会显示在前面,但在分类栏目中可能需要额外调整代码。
在文章编辑页面,右侧 “文档” 模块中(若未显示,点击右上角 “三个点” 图标,勾选 “文档”),找到 “状态和可见性” 区域,点击 “公开” 旁边的 “编辑”,勾选 “置顶此文章到首页”。
通常在主题的
收起
php
如果你不想修改代码,也可以使用插件来实现这一功能,例如 “Sticky Posts Order” 插件。
登录 WordPress 后台,导航到 “插件” -> “添加新插件”,搜索 “Sticky Posts Order”,点击 “安装现在”,然后激活插件。
激活插件后,在 WordPress 后台左侧菜单会出现 “Sticky Posts” 选项。点击进入该页面,可以看到所有已设置为置顶的文章列表。通过拖动文章标题来改变文章的置顶顺序,排在越前面的文章在分类栏目中显示越靠前。该插件还支持按分类设置置顶文章,你可以选择特定的分类,然后在该分类下设置置顶文章的显示顺序。
方法一:使用默认功能与代码调整
WordPress 本身有文章置顶功能,默认情况下,在首页置顶文章会显示在前面,但在分类栏目中可能需要额外调整代码。
1. 确保文章已置顶
在文章编辑页面,右侧 “文档” 模块中(若未显示,点击右上角 “三个点” 图标,勾选 “文档”),找到 “状态和可见性” 区域,点击 “公开” 旁边的 “编辑”,勾选 “置顶此文章到首页”。
2. 修改分类模板文件
通常在主题的
category.php
文件中进行修改,若没有该文件,可从archive.php
复制一份并命名为category.php
。在文件中找到WP_Query
或query_posts
的部分(通常是获取文章列表的查询代码),将其替换为以下代码:收起
php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$args = array(
'post_type' => 'post',
'paged' => $paged,
'ignore_sticky_posts' => 0 // 不忽略置顶文章
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
// 先显示置顶文章
$sticky = get_option( 'sticky_posts' );
if ( ! empty( $sticky ) ) {
$sticky_query = new WP_Query( array(
'post__in' => $sticky,
'category__in' => get_queried_object_id(), // 只显示当前分类的置顶文章
'ignore_sticky_posts' => 1
) );
if ( $sticky_query->have_posts() ) {
while ( $sticky_query->have_posts() ) {
$sticky_query->the_post();
// 显示文章内容,可根据主题修改
get_template_part( 'content', get_post_format() );
}
wp_reset_postdata();
}
}
// 再显示其他文章
while ( $the_query->have_posts() ) {
$the_query->the_post();
if ( ! in_array( get_the_ID(), $sticky ) ) {
// 显示文章内容,可根据主题修改
get_template_part( 'content', get_post_format() );
}
}
wp_reset_postdata();
} else {
// 没有文章时的提示
get_template_part( 'content', 'none' );
}
代码解释
ignore_sticky_posts
设为0
,表示不忽略置顶文章。get_option( 'sticky_posts' )
获取所有置顶文章的 ID。- 先查询并显示当前分类下的置顶文章,再显示其他非置顶文章。
方法二:使用插件实现
如果你不想修改代码,也可以使用插件来实现这一功能,例如 “Sticky Posts Order” 插件。
1. 安装并激活插件
登录 WordPress 后台,导航到 “插件” -> “添加新插件”,搜索 “Sticky Posts Order”,点击 “安装现在”,然后激活插件。
2. 设置置顶文章顺序
激活插件后,在 WordPress 后台左侧菜单会出现 “Sticky Posts” 选项。点击进入该页面,可以看到所有已设置为置顶的文章列表。通过拖动文章标题来改变文章的置顶顺序,排在越前面的文章在分类栏目中显示越靠前。该插件还支持按分类设置置顶文章,你可以选择特定的分类,然后在该分类下设置置顶文章的显示顺序。
仍然有问题? 我们要如何帮助您?