当前位置:首页 > 行业动态 > 正文

WordPress分类与标签等存档页怎么实现置顶

在WordPress中,如果你想要在分类、标签或其他存档页中置顶某些文章,你可以采用以下几种方法:

方法一:使用插件

有一些插件如"Simple Custom Post Order"或"Advanced Post Order"可以帮助你自定义文章的顺序。

步骤如下:

1、安装并激活插件。

2、在文章列表中,你会看到一个新的选项来设置文章的顺序。

3、在你想要置顶的文章上设置顺序为1,其他文章可以设置为2,3,等等,数字越小,文章越靠前。

4、刷新你的分类或标签页面,你会看到文章已经按照你设置的顺序排列了。

方法二:手动添加代码

如果你不想使用插件,你也可以通过修改主题文件来实现。

步骤如下:

1、打开你的主题文件夹,找到functions.php文件,并在其中添加以下代码:

function custom_order($orderby) {
    global $wpdb;
    return "{$wpdb>prefix}posts.post_date DESC, {$wpdb>prefix}posts.menu_order ASC";
}
add_filter('get_archives_orderby','custom_order');
add_filter('get_category_orderby','custom_order');

这段代码会改变存档页面和分类页面的排序方式,先按照发布日期降序排序,然后按照菜单顺序升序排序。

2、在后台编辑你想要置顶的文章,在右侧的"文档信息"框中找到"菜单顺序(menu_order)"选项,给它设置一个较小的值(例如1),其他文章可以设置较大的值(例如2,3等)。

3、刷新你的分类或标签页面,你会看到文章已经按照你设置的顺序排列了。

注意:这种方法需要你有一定的PHP知识,并且可能会影响你的主题性能。

方法三:使用钩子

你还可以使用WordPress的’pre_get_posts’钩子来改变查询结果。

步骤如下:

1、在你的主题的functions.php文件中,添加以下代码:

function custom_order($query) {
    if ( $query>is_category() || $query>is_tag() ) {
        $query>set('orderby', 'menu_order title');
        $query>set('order', 'ASC');
    }
}
add_action('pre_get_posts','custom_order');

这段代码会在查询是分类或标签时,改变排序方式为先按菜单顺序升序,然后按标题升序。

2、像方法二一样,设置你想要置顶的文章的菜单顺序。

3、刷新你的分类或标签页面,你会看到文章已经按照你设置的顺序排列了。

以上三种方法都可以实现在WordPress的分类、标签或其他存档页中置顶某些文章,你可以根据自己的需要和技术水平选择适合自己的方法。

0

随机文章