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.