Benötigen Sie Hilfe beim alphabetischen Sortieren von "Meine Websites"?


9

Ich habe mehr als 40 Websites auf der Seite "Meine Websites", weitere sind geplant. Leider sortiert WordPress sie nicht alphabetisch, und das macht es schwierig, bei routinemäßigen Updates und Wartungsarbeiten von Site zu Site zu wechseln. Ich habe versucht hinzuzufügen

asort($blogs);

zu wp-admin / my-sites.php, aber das hilft auch nicht. Und unabhängig davon würde ich dies lieber mit einem Filter in functions.php tun, als eine Kerndatei zu ändern. Das Problem wird noch komplexer, da die Liste in vier Spalten unterteilt ist. Eine horizontale alphabetische Reihenfolge wäre zwar eine enorme Verbesserung, eine vertikale (nach Spalten) wäre jedoch viel, viel besser.

Ich habe eine Weile nach Antworten darauf gesucht und bin leer aufgetaucht, daher wäre jede Hilfe willkommen. (Mein PHP ist ziemlich einfach, daher wäre es auf jeden Fall willkommen, die Antwort zu formulieren.)


Es wird nicht empfohlen, andere WordPress-Kerndateien als wp-config.php zu ändern.
Pontus Abrahamsson

@ PontusAbrahamsson, das hat er im zweiten Absatz gesagt.
Synetech

Antworten:


12

Einfaches.

<?php
/*
Plugin Name: Sort My-Sites
Description: Sorts the My Sites listing on both the page and in the 3.3 admin bar dropdown
Author: Otto
*/

add_filter('get_blogs_of_user','sort_my_sites');
function sort_my_sites($blogs) {
        $f = create_function('$a,$b','return strcasecmp($a->blogname,$b->blogname);');
        uasort($blogs, $f);
        return $blogs;
}

1
Wow, das ist genau die Art von Lösung, auf die ich gehofft habe: sauber und schön, und die Kerndateien werden nicht geändert. Funktioniert perfekt. Auf keinen Fall etwas, das ich mir hätte einfallen lassen können. Vielen Dank Otto!
Sam

1
Update für PHP 7.2: Funktion sort_my_sites ($ Blogs) {$ f = Funktion ($ a, $ b) {return strcasecmp ($ a-> blogname, $ b-> blogname); }; uasort ($ Blogs, $ f); $ Blogs zurückgeben; } add_filter ('get_blogs_of_user', 'sort_my_sites');
Chris Chalmers

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.