알파벳순으로 "내 사이트"를 정렬하는 데 도움이 필요합니다


9

더 많은 계획이있는 "내 사이트"페이지에 40 개 이상의 사이트가 표시됩니다. 불행히도 WordPress는 알파벳순으로 정렬하지 않으므로 일상적인 업데이트 및 유지 관리 중에 사이트 간 이동이 쉽지 않습니다. 나는 추가를 시도했다

asort($blogs);

wp-admin / my-sites.php에 있지만 도움이되지 않습니다. 그리고 상관없이 코어 파일을 수정하는 대신 functions.php의 필터를 사용 하여이 작업을 수행하고 싶습니다. 이 문제를 더 복잡하게 만드는 것은 목록이 4 개의 열로 나뉘어져 있고 가로 알파벳 순서는 크게 개선되는 반면 세로 (열별)는 훨씬 더 나을 것입니다.

나는 이것에 대한 답변을 잠시 동안 찾고 있었고 비어있게되어서 도움을 주시면 감사하겠습니다. (내 PHP는 꽤 기본적이므로 답을 철자해도 좋을 것입니다.)


그것은되어 있지 WP-config.php를 이외의 다른 변화의 핵심 워드 프레스 파일을 권장합니다.
Pontus Abrahamsson

@PontusAbrahamsson, 이것이 두 번째 단락에서 말한 것입니다.
Synetech

답변:


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

편집 : PHP 7 버전을 원한다면 :

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

1
와우, 그것은 내가 기대했던 해결책의 유형입니다. 깨끗하고 아름답고 핵심 파일을 수정하지 않습니다. 완벽하게 작동합니다. 확실히 내가 얻을 수 없었던 것은 아닙니다. 너무 감사합니다 오토!
Sam

1
PHP 7.2 업데이트 : function sort_my_sites ($ blogs) {$ f = function ($ a, $ b) {return strcasecmp ($ a-> blogname, $ b-> blogname); }; uasort ($ 블로그, $ f); $ 블로그를 반환; } add_filter ( 'get_blogs_of_user', 'sort_my_sites');
Chris Chalmers

3

이 플러그인도 작업을 수행합니다.

내 사이트 재주문

워드 프레스 멀티 사이트 용. 관리 막대의 내 사이트 드롭 다운 메뉴를 알파벳순으로 재정렬합니다. 메인 블로그를 맨 위에 유지합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.