Necesita ayuda para ordenar alfabéticamente "Mis sitios"

9

Tengo más de 40 sitios que aparecen en la página "Mis sitios" con más planes. Desafortunadamente, WordPress no los ordena alfabéticamente, y eso hace que sea difícil moverse de un sitio a otro durante las actualizaciones y el mantenimiento de rutina. He intentado agregar

asort($blogs);

a wp-admin / my-sites.php, pero eso tampoco ayuda. E independientemente, prefiero hacer esto usando un filtro en functions.php en lugar de modificar un archivo central. Lo que complica aún más el problema es el hecho de que la lista se divide en cuatro columnas, y si bien un orden alfabético horizontal sería una gran mejora, vertical (por columna) sería mucho, mucho mejor.

He estado buscando respuestas para esto por un tiempo y estoy vacío, por lo que agradecería cualquier ayuda. (Mi PHP es bastante básico, por lo que deletrear la respuesta definitivamente sería apreciada).

Sam
fuente
Se no recomienda a los archivos de WordPress cambios fundamentales que no sean wp-config.php.
Pontus Abrahamsson
@ PontusAbrahamsson, eso es lo que dijo en el segundo párrafo.
Synetech

Respuestas:

12

Fácil.

<?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;
}
Otón
fuente
1
Wow, ese es EXACTAMENTE el tipo de solución que esperaba: limpia y hermosa, y no modifica los archivos principales. Funciona perfectamente. Sin embargo, definitivamente no es algo que podría haber inventado. Muchas gracias Otto!
Sam
1
actualización para PHP 7.2: function sort_my_sites ($ blogs) {$ f = function ($ a, $ b) {return strcasecmp ($ a-> blogname, $ b-> blogname); }; uasort ($ blogs, $ f); devolver $ blogs; } add_filter ('get_blogs_of_user', 'sort_my_sites');
Chris Chalmers
3

Este complemento también hace el trabajo:

Reordenar mis sitios

Para WordPress Multisite. Reordena el menú desplegable Mis sitios en la Barra de administración alfabéticamente. Mantiene el blog principal en la parte superior.

Hooman Askari
fuente