¿Cómo cambiar el orden de las publicaciones en Admin?

8

¿Cómo puedo cambiar el orden de las publicaciones en el panel de administración, para que se muestren alfabéticamente según el título, en lugar de las últimas primero?

urok93
fuente

Respuestas:

16

Si no desea hacer clic siempre en la columna "Título" para ordenar sus publicaciones por título, puede colocar este código en el functions.phparchivo de su tema de WordPress actualmente activo o dentro de un complemento. Esto siempre ordenará automáticamente tus publicaciones, por lo que no tienes que hacer clic en la columna del título cada vez.

Puede usar esto para establecer el orden de clasificación predeterminado en los tipos de publicación.

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

Puede usar algunas de estas condiciones de ejemplo ...

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

}

Si desea aplicar esta clasificación en TODOS los tipos de publicaciones, independientemente de si están "incorporadas" o no ...

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

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

Michael Ecklund
fuente
¿Está bien usar dentro de la función en lugar de verificar antes de la acciónif ( ! is_admin ) { return; }
Urok93
Supongo que podrías hacer eso.
Michael Ecklund
Debe agregar un "return $ query;" antes del final de la función, de lo contrario, esto no funcionará en ediciones posteriores de WordPress.
Jobst
Creo que un complemento ejecuta esta función y anula mi función personalizada. ¿Hay un enlace para garantizar que mi código se ejecute en lugar de los complementos?
Thomas_Hoadley
7

Ah, haga clic en ese pequeño título para alternar la clasificación alfabética ...

ingrese la descripción de la imagen aquí

markratledge
fuente
-1

Siempre puedes agregar a la dirección:

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

Vortex-On
fuente
¿Por qué post_typees personalizado aquí
Dale a