「マイサイト」をアルファベット順に並べ替える助けが必要


9

40以上のサイトが[マイサイト]ページに表示され、さらに計画が進んでいます。残念ながら、WordPressはアルファベット順に並べ替えません。そのため、定期的な更新やメンテナンス中にサイト間を移動するのは面倒です。追加してみました

asort($blogs);

wp-admin / my-sites.phpに追加しますが、これも役に立ちません。とにかく、コアファイルを変更するのではなく、functions.phpのフィルターを使用してこれを行います。問題をさらに複雑にするのは、リストが4つの列に分割されていることです。水平方向のアルファベット順は大幅に改善されますが、垂直方向(列ごと)のほうがはるかに優れています。

私はしばらくの間、これに対する答えを探していて、空っぽになってきたので、どんな助けでもありがたいです。(私のPHPはかなり基本的なので、答えを綴ることは間違いなくありがたいです。)


wp-config.php以外のコアWordPressファイルを変更することはお勧めしません
Pontus Abrahamsson、2012

@PontusAbrahamsson、それは彼が第2段落で言ったことです。
Synetech 2013

回答:


12

簡単なもの。

<?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
うわー、それはまさに私が望んでいたソリューションの種類です。クリーンで美しく、コアファイルを変更しません。完璧に動作します。確かに私が思いついたはずの何かではなかった。オットー、どうもありがとう!
サム

1
PHP 7.2の更新:function sort_my_sites($ blogs){$ f = function($ a、$ b){return strcasecmp($ a-> blogname、$ b-> blogname); }; uasort($ blogs、$ f); $ blogsを返します。} add_filter( 'get_blogs_of_user'、 'sort_my_sites');
Chris Chalmers

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.