Intereting Posts
Как получить персонализированный тип сообщения на странице архива? Пользовательские типы сообщений и пользовательские переменные – add_rewrite_tag () вопрос Как копировать заголовки сообщений для публикации slug в phpmyadmin Устанавливать различные канонические url программно для каждого сообщения Динамически исключать пункты меню из wp_nav_menu Как вы отображаете настраиваемое поле на новой странице? Являются ли идентификаторы сроков уникальными даже между несколькими пользовательскими таксономиями Почему css не применяется к постраничному запросу? Добавить пользовательский класс CSS в пользовательский тип сообщения WP_Query с аргументом "offset" какой лучший способ включить изображения из папки изображений шаблона? Ресурс был предварительно загружен с использованием предварительной загрузки ссылок, но не использовался в течение нескольких секунд Поиск темы Twenty Twelve не найден разрешить фото / видео в комментариях Как WordPress создает свою базу данных во время установки?

различия между поведением get_option vs get_site_option в многопользовательском режиме

Я конвертирую кучу сайтов в multisite, и я смущен различиями в поведении между get_option и get_site_option.

Похоже, что get_site_option фактически означает «get_network_wide_option», а get_option означает «get_option_for_this_site», и то же самое для версий обновлений.

Учитывая это, если плагин хочет иметь отдельные настройки для каждого сайта, ему необходимо использовать get_option и update_option. С другой стороны, если он хочет, чтобы значения параметров были постоянными во всех сайтах, используйте версию get_site_option.

Насколько я понимаю это правильно?

Solutions Collecting From Web of "различия между поведением get_option vs get_site_option в многопользовательском режиме"

Да, get_site_option() предназначен для данных о всей сети.

Раздражение исходит из смешанного словаря: то, что было сайтом однажды, является сетью в настоящее время, и то, что было блогом, теперь является сайтом в сети.

wp_get_sites() является версией 3.7, он выбирает сайты в сети, а не все сети в процессе установки. Таким образом, сайт в wp_get_sites() не совпадает с сайтом в get_site_option() .

Для плагина, который должен использоваться только для get_site_option() установки или только для сетевых плагинов, вы всегда можете использовать get_site_option() , потому что на одном сайте он вернется к get_option() .

Одно из важных различий: обычные параметры загружаются автоматически при каждом get_option() , поэтому вы попадете в кеш с помощью get_option() . Параметры сайта не загружаются автоматически, а только некоторые основные параметры. См. /wp-includes/option.php wp_load_core_site_options() .

Чтобы хранить информацию для всех сайтов во всех сетях, вы должны использовать пользовательскую таблицу или выбрать одну сеть в текущей установке.