如何更改管理中的帖子顺序?

时间:2012-09-27 作者:urok93

如何更改管理仪表板中帖子的顺序,使它们按照标题的字母顺序显示,而不是按照最新的标题显示?

2 个回复
最合适的回答,由SO网友:Michael Ecklund 整理而成

如果您不希望总是单击“标题”列按标题对文章进行排序,您可以将此代码放置在当前活动的WordPress主题中functions.php 文件或插件中。这将自动为您的帖子排序,因此您不必每次都单击标题列。

您可以使用此选项设置投递类型的默认排序顺序。

/* Sort posts in wp_list_table by column in ascending or descending order. */
function custom_post_order($query){
    /* 
        Set post types.
        _builtin => true returns WordPress default post types. 
        _builtin => false returns custom registered post types. 
    */
    $post_types = get_post_types(array(\'_builtin\' => true), \'names\');
    /* The current post type. */
    $post_type = $query->get(\'post_type\');
    /* Check post types. */
    if(in_array($post_type, $post_types)){
        /* Post Column: e.g. title */
        if($query->get(\'orderby\') == \'\'){
            $query->set(\'orderby\', \'title\');
        }
        /* Post Order: ASC / DESC */
        if($query->get(\'order\') == \'\'){
            $query->set(\'order\', \'ASC\');
        }
    }
}
if(is_admin()){
    add_action(\'pre_get_posts\', \'custom_post_order\');
}
您可以使用其中一些示例条件。。。

/* Effects all post types in the array. */
if(in_array($post_type, $post_types)){

}

/* Effects only a specific post type in the array of post types. */
if(in_array($post_type, $post_types) && $post_type == \'your_post_type_name\'){

}

/* Effects all post types in the array of post types, except a specific post type. */
if(in_array($post_type, $post_types) && $post_type != \'your_post_type_name\'){

}
如果您想对所有帖子类型应用此排序,无论它们是否是“内置的”。。。

更改此项:$post_types = get_post_types(array(\'_builtin\' => true), \'names\');

对此:$post_types = get_post_types(\'\', \'names\');

SO网友:markratledge

Ah, click that little title thingy to toggle alphabetical sorting....

enter image description here

结束