Intereting Posts
Страница, найденная с помощью «Обычная», но не с именем «Post name» 301 Перенаправляет результат в 404 для строк запроса WordPress как получить комментарий автора внутри цикла? upload_max_filesize в .user.ini Не отражается в загрузке мультимедиа Как изменить порядок JQuery в нижнем колонтитуле моей темы? Пользователь, вошедший в систему с внешнего входа, автоматически выходит из системы wp-admin Как показать обновленное изменение URL-адреса предварительного просмотра без нажатия кнопки предварительного просмотра WP API: получать сообщения, за исключением тех, у кого есть тег или название категории Как сделать обычную почтовую таксономию похожей на обычные категории? Добавление настраиваемых полей в собственные настройки галереи wp Настройки постоянных ссылок Могу ли я использовать пространства имен в своем плагине? IF .. post meta show … Справка условного тега …? add_action to wp_head добавляется, но не вызывается плагин feedburner для WP 3.5

Могут ли простые параметры сохранения администратора в Multisite?

Я разрабатываю настраиваемый плагин на многоуровневой установке, к сожалению, я не так привык к работе.

Проблема заключается в том, что мне нужно добавить поле в страницу профиля пользователя, и мне нужно, чтобы значение, которое будет храниться, будет храниться как пользовательское мета, а также как опция (внутри таблицы wp_options).

Все работает нормально, если я Супер Администратор, опция будет сохранена, и я могу использовать их позже в моей теме, но когда я пытаюсь сохранить значения с помощью функции update_option() я не могу это сделать, и я не могу хранить ценности.

Здесь вы можете найти мой экспериментальный код, но обратите внимание, что даже если у меня нет проблем с функцией update_usermeta() я не могу сохранить свою информацию в таблице wp_options …

 function ohw_update_field( $user_id ){ $field = 'side_banner_' . $user_id; $side_ad = $_POST[ $name ]; update_usermeta( $user_id, $name, $side_ad ); update_option( $name, $side_ad ); } add_action( 'personal_options_update', 'ohw_update_field' ); add_action( 'edit_user_profile_update', 'ohw_update_field' ); 

Как вы можете видеть, я пытаюсь использовать $user_id для создания уникального поля в таблице, возможно, я начну использовать массив для сериализации информации в уникальном поле, но я хотел бы понять, почему администратор сайт сети не может сохранить опцию …

Я имею в виду, что, прочитав в Codex, пользователь должен иметь возможность manage_options для доступа к этой базе данных, поэтому почему только супер администратор может это сделать?

Заранее благодарю за все ответы и у вас отличный день!

Solutions Collecting From Web of "Могут ли простые параметры сохранения администратора в Multisite?"

 update_option( $name, $side_ad ); 

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

В результате, редактирование пользователя на блоге / сайте A не изменит вариант на блоге / сайте B, так же, как рисование стены зеленым в вашем доме не делает такой же зеленый стен в моем доме. Если это не так, то обновление названия одного сайта будет обновлять название всех сайтов.

Так:

Я хочу хранить пользовательские данные

Храните его в метателе

Я хочу хранить данные в блоге

Сохраните его в опции. Экран редактирования пользователя не является подходящим местом для этой опции, поместите его на экран настроек в меню настроек.

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

Используйте update_site_option и сначала проверьте, является ли это is_multisite() используя is_multisite() . Не храните большое количество данных таким образом. Опять же, эти параметры не относятся к странице редактирования / обновления. Не помещайте страницы параметров в обычные параметры панели мониторинга, помещайте их в панель администрирования сети