Como alterar a ordem das postagens no Admin?

8

Como posso alterar a ordem das postagens no painel do administrador, para que sejam exibidas em ordem alfabética de acordo com o título, em vez da mais recente primeiro?

urok93
fonte

Respostas:

16

Se você não deseja clicar sempre na coluna "Título" para classificar suas postagens por título, pode inserir esse código no functions.phparquivo do seu tema WordPress atualmente ativo ou em um plug-in. Isso sempre ordenará automaticamente suas postagens para você, para que você não precise clicar na coluna do título todas as vezes.

Você pode usar isso para definir a ordem de classificação padrão nos tipos de postagem.

/* 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');
}

Você pode usar algumas dessas condições de exemplo ...

/* 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'){

}

Se você deseja aplicar essa classificação em TODOS os tipos de postagem, independentemente de serem ou não "incorporados" ...

Mude isso: $post_types = get_post_types(array('_builtin' => true), 'names');

Para isso: $post_types = get_post_types('', 'names');

Michael Ecklund
fonte
É ok para usar dentro da função em vez de verificação antes da açãoif ( ! is_admin ) { return; }
urok93
Suponho que você poderia fazer isso.
22612 Michael Ecklund
Você deve adicionar uma "consulta $ return;" antes do final da função, caso contrário, isso não funcionará em edições posteriores do wordpress.
Jobst
Eu acho que um plugin está executando esta função e substituindo a minha função personalizada. Existe um gancho para garantir que meu código seja executado em vez dos plug-ins?
Thomas_Hoadley
7

Ah, clique nesse pequeno título para alternar a classificação alfabética ....

insira a descrição da imagem aqui

markratledge
fonte
-1

Você sempre pode adicionar ao endereço:

/edit.php?post_type=properties&orderby=date&order=desc

Vortex-On
fonte
Por que o post_typeé costume aqui, dar OP uma resposta genérica .. podemos encomendar o título na ordem clicando na coluna Título
bravokeyl