Intereting Posts
Автоматическое добавление заданного значения в метаданные вложения при загрузке Как выбрать страницу внутри администратора? Как отредактировать заголовок для изображений и исключить его из запроса excerption? How-To: wpdb Вставить запись с датой Включая только сообщения текущего пользователя в поиске только для гостей / незарегистрированных пользователей Что такое пользовательские сообщения типа «Журналы» WordPress? Удалить проблему PHP-код, введенный в нижний колонтитул с помощью темы Категории отображения в результатах поиска Разработка виджета – варианты выпадающего меню не будут сохраняться Что такое хороший robots.txt? Заполните раскрывающийся список метаболизма с заголовком сообщения из другого пользовательского типа сообщения (проблемы с wp_reset / global $ post) Сохранить список из пользовательского мета-поля? Как установить метабокс по умолчанию при создании пользователя? Как установить скрипт перед jQuery?

Обновление роли пользователя во всей сети при обновлении основного сайта

Я использую слегка измененную копию плагина управления пользователями Multi Site, чтобы пользователи синхронизировались в многопользовательской сети, но имеют одну проблему. Когда роль пользователя обновляется на основном сайте, эта роль НЕ обновляется на этом сайте. Чтобы все работало правильно, роли пользователя должны оставаться в синхронизации.

Я смотрел без успеха, так же как это происходит, когда пользователь обновляется? Я знаю о функциях profile_update и wp_update_user / hooks, но ни одна из них не работает, потому что роль пользователя обновляется через внешнюю функцию. Поэтому мне нужен новый способ всегда синхронизировать роли пользователей.

Есть идеи?

Я нашел способ решить эту проблему. Это не «исправление», а скорее способ обойти проблему необходимости синхронизации ролей пользователей. Вместо того, чтобы пытаться совместить все пользовательские роли, я решил проверить только роли пользователя для основного сайта. см. мою функцию ниже, как я это сделал:

/* * Function to check a specified user from a subsite against * the role of that same user on the main site * * @param int $site_to_check the id of the site to check the user's role from * @param int $user_id the user's id to check */ function cgc_check_for_citizen($site_to_check = 1, $user_id = null) { if(!isset($user_id)) { return false; } $citizen = false; global $blog_id; if($blog_id == 1) { // we're on the main site if(user_can($user_id, 'read_citizen')) { $citizen = true; } } else { switch_to_blog($site_to_check); if(user_can($user_id, 'read_citizen')) { $citizen = true; } restore_current_blog(); } return $citizen; } 

Я думаю, если вы не можете понять это, никто не сможет. ; (

Во всяком случае, этот плагин автоматически обновляет роли пользователей для подсайтов на основе основного сайта. Поэтому, возможно, вы можете извлечь код:

http://wordpress.org/extend/plugins/user-role-editor/

Привет, я не уверен, поможет ли вам этот плагин или нет. Но попробуй. Попробуйте плагин правильной сетевой активации scribu