toscho.design

WordPress: Länge der Artikelliste im Backend anpassen

Markus gab heute im WP-Forum mal wieder einen guten Tipp: Die Menge der Artikel pro Seite im Backend wird über den Meta-Key edit_per_page in der Tabelle wp_usermeta gesteuert.
Abgefragt wird sie in der Datei /wp-admin/includes/post.php mit:

$posts_per_page = (int) get_user_option( 'edit_per_page', 0, false );

Die Funktion get_user_option() wiederum bietet einen Filter an:

apply_filters("get_user_option_{$option}", $result, $option, $user);

Und daraus folgt dieser kleine Eintrag in der functions.php, mit dem ich künftig 100 Artikel sehe, ohne die Datenbank anzufassen:

add_filter('get_user_option_edit_per_page', 
    create_function('','return 100;'));

Das kann man noch an eine Abfrage des Userlevels binden, wenn man möchte. Mir reicht es so.

Strenggenommen gehört so eine Modifikation natürlich nicht ins Theme, sondern in ein Plugin. Andererseits möchte ich dafür nicht extra ein zusätzliches Plugin laden. Kompromisse, wohin man sieht …

Und noch strenger gesehen ist diese Option bereits vorhanden: In den Optionen der Artikelansicht. Dort findet sie aber kaum jemand, deshalb setze ich sie global.