Wie ändere ich die Reihenfolge der Beiträge in Admin?


8

Wie kann ich die Reihenfolge der Beiträge im Admin-Dashboard ändern, damit sie alphabetisch nach Titel und nicht zuerst nach dem neuesten angezeigt werden?

Antworten:


16

Wenn Sie nicht immer auf die Spalte "Titel" klicken möchten, um Ihre Beiträge nach Titel zu sortieren, können Sie diesen Code entweder in die functions.phpDatei Ihres derzeit aktiven WordPress-Themas oder in ein Plugin einfügen . Dadurch werden Ihre Beiträge automatisch immer für Sie sortiert, sodass Sie nicht jedes Mal auf die Titelspalte klicken müssen.

Sie können dies verwenden, um die Standardsortierreihenfolge für Beitragstypen festzulegen.

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

Sie können einige dieser Beispielbedingungen verwenden ...

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

}

Wenn Sie diese Sortierung auf ALLE Beitragstypen anwenden möchten, unabhängig davon, ob sie "integriert" sind oder nicht ...

Ändere das: $post_types = get_post_types(array('_builtin' => true), 'names');

Dazu: $post_types = get_post_types('', 'names');


Ist es in Ordnung, innerhalb der Funktion zu verwenden, anstatt vor der Aktion zu überprüfenif ( ! is_admin ) { return; }
— urok93

Ich nehme an, du könntest das tun.
— Michael Ecklund

Sie müssen eine "return $ query" hinzufügen. vor Funktionsende, sonst funktioniert dies in späteren WordPress-Editionen nicht.
— Jobst

Ich denke, ein Plugin führt diese Funktion aus und überschreibt meine benutzerdefinierte Funktion. Gibt es einen Hook, der sicherstellt, dass mein Code ausgeführt wird und nicht die Plugins?
— Thomas_Hoadley

7

Ah, klicken Sie auf dieses kleine Titel-Ding, um die alphabetische Sortierung umzuschalten ...

Geben Sie hier die Bildbeschreibung ein


-1

Sie können der Adresse jederzeit hinzufügen:

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


Warum das post_typehier benutzerdefiniert ist, geben Sie OP eine generische Antwort. Wir können den Titel in der Reihenfolge bestellen, indem wir auf die Spalte Titel klicken
— bravokeyl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.