Для того, чтобы вам было понятно, что за статусы такие, взгляните на этот скриншотец:
Один из сайтов на скриншоте я отметил в его настройках как «Для взрослых», и рядом с ним стала отображаться соответствующая надпись. Второй же сайт типо главный, и поэтому рядом написано «Основной».
Эти приколюхи появились для сайтов сети в WordPress 5.3 и помимо всего прочего появился и хук display_site_states
, который предоставляет нам возможность написать что-то своё.
На основе чего мы будем делать надписи?
- На основе объекта WP_Site, который передаётся в этот хук,
- На основе метаданных сайта и функции get_site_meta(), которые уже в теме с версии WordPress 5.1.
Попробуем:
add_filter( 'display_site_states', function( $display_states, $site ) { if( $site->blog_id == 1 ) { // $site, как вы догадались – объект WP_Site $display_states[] = 'Сайт с ID 1'; } if( 'surfing' == get_site_meta( $site->blog_id, 'topic', true ) ) { $display_states['about-surf'] = 'Про сёрфинг'; } return $display_states; }, 20, 2 );
Старался сделать пример максимально лёгким для понимания. Ключ about-surf
на 8й строчке не обязателен, но так его будет можно легко удалить через этот же хук (подробнее ниже). А вот что происходит в результате вставки того кода:
Помим всего прочего, если например вы не хотите, чтобы отображались стандартные статусы, например «Основной» или «Для взрослых», то можете их отрубить через тот же самый хук display_site_states
.
add_filter( 'display_site_states', function( $display_states, $site ) { unset( $display_states['main'] ); unset( $display_states['site-mature'] ); return $display_states; }, 20, 2 );
Что ещё нового и интересного в WordPress 5.3
- Добавление фильтра по сайтам в WordPress Multisite
- Обработка больших изображений
- Функция wp_get_original_image_url()
- Функция wp_get_original_image_path()
- Использование параметра compare_key в WP_Meta_Query
- В WordPress 5.3 появилась кнопка, позволяющая показать введённый пароль на странице входа
- Изменился HTML функции wp_die() в WordPress 5.3
- Атрибут UGC для ссылок в комментариях
- Функция wp_rel_ugc()
- Функции и методы с переменным количеством аргументов
- Проверка email администратора в WordPress 5.3
Источник: misha.blog