Besoin d'aide pour trier «Mes sites» par ordre alphabétique

9

J'ai plus de 40 sites apparaissant dans la page "Mes sites" avec plus de prévu. Malheureusement, WordPress ne les trie pas par ordre alphabétique, et cela rend difficile de passer d'un site à l'autre lors des mises à jour et de la maintenance de routine. J'ai essayé d'ajouter

asort($blogs);

à wp-admin / my-sites.php, mais cela n'aide pas non plus. Et peu importe, je préfère le faire en utilisant un filtre dans functions.php plutôt qu'en modifiant un fichier core. Ce qui rend le problème encore plus complexe, c'est le fait que la liste est divisée en quatre colonnes, et bien qu'un ordre alphabétique horizontal serait une énorme amélioration, vertical (par colonne) serait beaucoup, beaucoup mieux.

Je cherche des réponses à cela depuis un moment et je reviens vide, donc toute aide serait appréciée. (Mon PHP est assez basique, donc énoncer la réponse serait certainement apprécié.)

Sam
la source
Il n'est pas recommandé de modifier les fichiers WordPress principaux autres que wp-config.php.
Pontus Abrahamsson
@PontusAbrahamsson, c'est ce qu'il a dit dans le deuxième paragraphe.
Synetech

Réponses:

12

Facile.

<?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;
}
Otto
la source
1
Wow, c'est EXACTEMENT le type de solution que j'espérais: propre et beau, et ne modifie pas les fichiers de base. Marche parfaitement. Certainement pas quelque chose que j'aurais pu trouver. Merci beaucoup Otto!
Sam
1
mise à jour pour PHP 7.2: fonction sort_my_sites ($ blogs) {$ f = function ($ a, $ b) {return strcasecmp ($ a-> blogname, $ b-> blogname); }; uasort ($ blogs, $ f); retourner $ blogs; } add_filter ('get_blogs_of_user', 'sort_my_sites');
Chris Chalmers
3

Ce plugin fait aussi le travail:

Réorganiser mes sites

Pour WordPress Multisite. Réorganise le menu déroulant Mes sites dans la barre d'administration par ordre alphabétique. Il maintient le blog principal en haut.

Hooman Askari
la source