Come modificare l'ordine dei messaggi nell'amministratore?


8

Come posso cambiare l'ordine dei post nella dashboard dell'amministratore, in modo che vengano visualizzati in ordine alfabetico in base al titolo, anziché all'ultimo?

Risposte:


16

Se non desideri fare sempre clic sulla colonna "Titolo" per ordinare i post in base al titolo, puoi inserire questo codice nel functions.phpfile del tema WordPress attualmente attivo o all'interno di un plug-in. In questo modo, i tuoi post verranno automaticamente ordinati, quindi non dovrai fare clic sulla colonna del titolo ogni volta.

Puoi usarlo per impostare l'ordinamento predefinito sui tipi di post.

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

È possibile utilizzare alcune di queste condizioni di esempio ...

/* 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 si desidera applicare questo ordinamento su TUTTI i tipi di post, indipendentemente dal fatto che siano o meno "integrati" ...

Cambia questo: $post_types = get_post_types(array('_builtin' => true), 'names');

A questo: $post_types = get_post_types('', 'names');


if ( ! is_admin ) { return; }
Va

Suppongo che tu possa farlo.
Michael Ecklund,

Devi aggiungere una "return $ query;" prima della fine della funzione, altrimenti non funzionerà nelle successive edizioni di wordpress.
Jobst

Penso che un plugin stia eseguendo questa funzione e sovrascrivendo la mia funzione personalizzata. Esiste un hook per garantire l'esecuzione del mio codice anziché dei plug-in?
Thomas_Hoadley,

7

Ah, fai clic su quel piccolo titolo per attivare / disattivare l'ordinamento alfabetico ....

inserisci qui la descrizione dell'immagine


-1

Puoi sempre aggiungere all'indirizzo:

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


Perché quello post_typeè personalizzato qui, dai a OP una risposta generica .. possiamo ordinare il titolo nell'ordine facendo clic sulla colonna Titolo
bravokeyl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.