Меняем цветовую схему в мальтисайтовой установке wordpress

Появилась потребность администрировать сеть сайтов wordpress.

Остро встали сразу несколько проблем:

Три сайта как в админке так и «снаружи» визуально очень похожих друг на друга;

При добавлении все время приходилась всматриваться в адресную строку браузера или в админ бар что бы понять на каком из сайт тов ты в данный момент находишься;

Админка wordpress в режиме управления сетью очень похожа, точнее она такая же как в режиме администрирования сайта;

Если сменить цветовую схему вордпресс для суперадминистратора  на одном из сайтов сети , она автоматически меняется и на всех остальных сайтах сети, таким образом как то визуально отделить сайты друг от друга не получается.

Решение напрашивалось само собой, переопределить логику установки цветовой схемы.

function ll_admin_color_change( $color ) {
    if( get_current_blog_id() == absint(1) ) {
        $color = 'light';
    }elseif( get_current_blog_id() == absint(2) ){
        $color = 'sunrise';
    }elseif( get_current_blog_id() == absint(3) ){
        $color = 'ectoplasm';
    }

    if(strpos(stripslashes( $_SERVER['REQUEST_URI'] ), 'network') !== false  and get_current_blog_id() == absint(1) ) {
    $color = 'fresh';
    }
    return  $color;
}
add_filter( 'get_user_option_admin_color', 'll_admin_color_change' );

Меняем цветовую схему в мальтисайтовой установке wordpress

P.S. прошу не пугаться грязному фокусу с REQUEST_URI эта строка кода взята из ядра там она используется для схожих целей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *