Intereting Posts
Изменение URL-адреса по умолчанию для прикрепления изображения Добавление post_class в запрос functions.php Вызвать контактную форму 7 форму отправить функцию из бэкэнд Применить фильтр the_content только для определенных типов сообщений Переопределение полей в форме регистрации через пользовательский плагин WordPress может генерировать числовые постоянные ссылки, которые затем 404 Сохранить значения метаданных в виде массива в wp_postmeta Обычная 503 ошибка каждые 5 минут для зарегистрированных пользователей Ошибка базы данных WordPress – Ошибка в синтаксисе SQL – я не могу определить какую-либо ошибку? Изменение описания метатега wordpress с использованием функций WP Показывать приветственное сообщение для конкретной роли пользователя Как добавить плагин в репозиторий WordPress? Как скопировать и вставить изображение, найденное в Интернете, в WordPress легко Изменение постоянной ссылки WordPress Пользовательский виджет не отображается на лицевой стороне

Удалите типы сообщений по умолчанию на всех сайтах, кроме основного блога. WPMU

Я пытаюсь найти решение, которое позволит мне удалить типы сообщений по умолчанию (страницы, сообщения, комментарии, ссылки и т. Д.) Из всех многосайтовых блогов. ИСПОЛНИТЕ основной блог. Он останется полностью функциональным. Моя цель – применить настраиваемый тип сообщения для всех многосайтовых блогов для замены значений по умолчанию.

Любая помощь в правильном направлении была бы высоко оценена.

-Фил

Я много не использую Multisite, но я считаю, что что-то вроде этого может работать:

Если я не ошибаюсь, global $blog_id; позволяет вам получить доступ к различным идентификаторам «Блоги». Затем «Основной блог» должен иметь идентификатор 1.

Таким образом, удаление меню типа сообщения из всех блогов, которые НЕ имеют идентификатор 1, будет выглядеть примерно так:

 <?php function remove_menus() { global $blog_id, $menu; if( $blog_id != '1' ) { $restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins')); end ($menu); while (prev($menu)){ $value = explode(' ',$menu[key($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} } } } ?> add_action('admin_menu', 'remove_menus'); 

Здесь я получил функцию «Удалить меню»:

http://www.wprecipes.com/how-to-remove-menus-in-wordpress-dashboard

Примечание. Это не было протестировано. Просто теория. , . Я не часто использую multisite и не имею ни одного настроенного, чтобы попробовать это на данный момент.

Начиная с WP 3.1.0 вы можете использовать remove_menu_page . Пример:

  add_action('admin_menu', function() { if (!is_main_site()) return; remove_menu_page('edit.php?post_type=post'); remove_menu_page('edit.php?post_type=page'); });