Wie ändere ich die Reihenfolge der Beiträge in Admin?
2 Antworten
- Stimmen
-
- 2012-09-27
Wenn Sienichtimmer auf die Spalte "Titel" klickenmöchten,um Ihre Beiträgenach Titel zu sortieren,können Sie diesen Codeentwederin die Datei
functions.php
Ihres aktuell aktiven WordPress-Themas oderin dieseeinfügenein Plugin. Dadurch werden Ihre Beiträge automatischimmerfür Sie sortiert,sodass Sienichtjedes Mal auf die Titelspalte klickenmüssen.Hiermit können Sie die Standardsortierreihenfolgefür Beitragstypenfestlegen.
/* 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önneneinige 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 anwendenmöchten,unabhängig davon,ob sie "integriert" sind odernicht ...
Ändern Sie dies:
$post_types = get_post_types(array('_builtin' => true), 'names');
Dazu:
$post_types = get_post_types('', 'names');
If you don't wish to always click the "Title" column to sort your posts by title, you can place this code in either your currently active WordPress theme's
functions.php
file, or within a plugin. This will automatically always sort your posts for you, so you don't have to click the title column every time.You can use this for setting default sort order on post types.
/* 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'); }
You can use some of these example conditions...
/* 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'){ }
If you wanted to apply this sorting on ALL post types, regardless of whether or not they are "built-in"...
Change this:
$post_types = get_post_types(array('_builtin' => true), 'names');
To this:
$post_types = get_post_types('', 'names');
-
Istesin Ordnung,innerhalb der Funktion zu verwenden,anstatt vor der Aktion zuprüfen,ob (! Is_admin) { Rückkehr; } `Is it ok to use within the function rather than check before the action `if ( ! is_admin ) { return; }`
- 0
- 2012-09-30
- urok93
-
Ichnehme an,du könntest dastun.I suppose you could do that.
- 0
- 2012-10-01
- Michael Ecklund
-
Siemüsseneine "return $ query" hinzufügen.vor Funktionsende,sonstfunktioniert diesin späteren WordPress-Editionennicht.You must add a "return $query;" before function end, otherwise this will not work in later wordpress editions.
- 0
- 2017-04-20
- Jobst
-
Ich denke,ein Pluginführt diese Funktion aus und überschreibtmeine benutzerdefinierte Funktion.Gibteseinen Hook,der sicherstellt,dassmein Code ausgeführt wird undnicht die Plugins?I think a plugin is running this function and overriding my custom function. Is there a hook to ensure that my code is run rather than the plugins?
- 0
- 2018-08-20
- Thomas_Hoadley
-
- 2012-09-27
Ah,klicken Sie auf dieses kleine Titel-Ding,um die alphabetische Sortierung umzuschalten ....
Ah, click that little title thingy to toggle alphabetical sorting....
Wie kannich die Reihenfolge der Beiträgeim Admin-Dashboard ändern,damit sie alphabetischnach Titel undnicht zuerstnach demneuesten angezeigt werden?