Где я должен хранить глобальные данные для своего многосайтового плагина WordPress? - PullRequest
3 голосов
/ 18 октября 2011

Я написал плагин для WordPress, который имеет несколько настраиваемых пользователем настроек, которые хранятся с использованием предложенного метода WordPress.Я знаю, что они сохраняются в таблице wp_options, но это абстрагируется от API параметров WordPress.

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

Если я сохраню это с помощью обычного API параметров, тогда настройки будут сохраняться индивидуально для каждогосайт.Я ищу место, чтобы сохранить их глобально для всех сайтов, поэтому плагин может сначала посмотреть, не были ли настройки глобально переопределены администратором сервера.

Я могу просто написать некоторый код для прямой записив таблицу wp_options одного из сайтов (например, сайт № 1) или даже создать свою собственную таблицу.Я знаю, как делать все это, но я не хочу этого делать, если есть предпочтительный способ написания плагинов для нескольких сайтов.

Спасибо за любой совет.

1 Ответ

0 голосов
/ 20 октября 2011

Как вы знаете, основное отличие между разработкой одного плагина WordPress и многосайтового плагина заключается в том, где записываются данные. Согласно этой статье , поскольку плагины обычно полностью управляют одной базой данных, а в некоторых случаях файлы локальных страниц плагинов необходимо обязательно вызывать только глобальный объект $ wpdb вместо жестко запрограммированной ссылки на Таблица.

Например, если вам нужно выполнить команду SQL для таблицы сообщений, не используйте wp_posts в качестве имени таблицы $post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM wp_posts"));

используйте это

$post_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts"));

Для получения дополнительной информации см. статью .

...