“Sitelerimi” Alfabetik olarak sıralamak için yardıma mı ihtiyacınız var


9

"Planlarım" sayfasında daha fazla planlanan 40'tan fazla sitem var. Ne yazık ki WordPress bunları alfabetik olarak sıralamamaktadır ve bu, rutin güncellemeler ve bakım sırasında siteden siteye taşınmasını acı verici kılmaktadır. Eklemeyi denedim

asort($blogs);

wp-admin / my-sites.php'ye, ancak bu da yardımcı olmuyor. Ve ne olursa olsun, bunu çekirdek bir dosyayı değiştirmek yerine function.php içinde bir filtre kullanarak yapmayı tercih ederim. Sorunu daha da karmaşık hale getirmek, listenin dört sütuna bölünmesi ve yatay alfabetik sıralama büyük bir gelişme olurken, dikey (sütunlara göre) çok daha iyi olurdu.

Bir süredir bunun için cevapları arıyorum ve boş kalıyorum, bu yüzden herhangi bir yardım takdir edilecektir. (Benim PHP oldukça basit, bu yüzden cevap yazım kesinlikle takdir edilecektir.)


O edilir değil wp-config.php dışındaki değişim çekirdek WordPress dosyalarına önerilir.
Pontus Abrahamsson

@PontusAbrahamsson, ikinci paragrafta söylediği buydu.
Synetech

Yanıtlar:


12

Kolay bir tanesi.

<?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;
}

Düzenleme: Bir PHP 7 sürümü istiyorsanız:

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

1
Vay canına, bu tam olarak umduğum çözümün türü: temiz ve güzel ve çekirdek dosyaları değiştirmiyor. Mükemmel çalışıyor. Kesinlikle bir şey olsa gelebilirdi. Çok teşekkürler Otto!
Sam

1
PHP 7.2 için güncelleme: sort_my_sites ($ blogs) işlevi {$ f = function ($ a, $ b) {return strcasecmp ($ a-> blogname, $ b-> blogname); }; uasort ($ bloglar, $ f); $ bloglar döndür; } add_filter ('get_blogs_of_user', 'sort_my_sites');
Chris Chalmers

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.