Intereting Posts
get_header_image () вызывает проблему с приоритетом видимого содержимого в странице Speed ​​Insights создать страницу, которая отображает список категорий title + короткое описание? Есть ли способ передать сообщения из сценария в цель перенаправления скрытым способом? Как отображать дочерние страницы в 2 столбца на родительской странице? Почтовый ящик для регистрации Как перенаправить пользовательский поиск Google на страницу / шаблон WordPress? 'Примечание: ошибка неопределенного индекса на странице плагинов Можно ли показать пользовательские метаданные комментариев в панели администратора? «Перенаправлено слишком много раз» Работа с файловой системой Frontend работает, но я получаю ошибку «Constant ABSPATH уже определен» Проблема загрузки ajax в заголовке Локальная и живая синхронизированная среда разработки и производства Ограничить пользовательский тип сообщения только ролью администратора сайта Как я могу запрашивать сообщения по суб-значению с помощью API? Как изменить ссылки комментатора на / user / user_id?

Разработка плагинов: WPMU или WP?

Я думал, с какими проблемами я могу столкнуться, если я переношу плагин из WPMU в WP или наоборот.

Скажем, я разработал плагин с нуля и хотел, чтобы этот плагин был совместим с обоими, следует ли начинать с WPMU или WP?

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

  1. Если вы зарегистрируете обратный вызов активации, вам нужно проверить, была ли активация сетевой. Если это так, запустите логику активации для всех блогов, а не только для текущей.
  2. Если плагин активирован в сети, регулярный обратный вызов активации не будет срабатывать при добавлении новых блогов, поэтому вам нужно будет создать дополнительный обратный вызов, который перехватывает действие wpmu_new_blog . Он должен переключиться на новый блог, выполнить логику активации, а затем восстановить текущий блог. $id нового блога передается обработчику в качестве первого параметра.
  3. Если вы создаете персонализированный тип сообщения и хотите, чтобы отображался метаданный Set Seted Image, вам необходимо убедиться, что в настройках кнопок загрузки мультимедиа включен флажок «Изображения». Вы можете использовать get_site_option( 'mu_media_buttons' ) чтобы проверить его и update_site_option() чтобы установить его.
  4. Путь к каталогу uploads отличается, но вы будете в порядке, если вы всегда используете wp_upload_dir () вместо констант.
  5. У каждого блога есть своя копия большинства таблиц базы данных, и у них есть префикс идентификатора блога. Обычно вам не нужно ничего делать, хотя вы используете API для взаимодействия с базой данных – что вам нужно, когда это возможно.
  6. Исключение составляют таблицы пользователей и usermeta ; они разделяются во всех блогах.
  7. В последнее время появилось несколько ошибок WP-Cron [ 1 , 2 ], которые затрагивали только задания на установках MultiSite.

Вы можете использовать switch_to_blog (), если вам нужно временно получить доступ к данным другого блога с функциями API, а затем restore_current_blog () для возврата.

Вы можете увидеть полный пример функций активации, просмотрев исходный код моего скелета плагина .

Нет никакой разницы.

С сайта http://mu.wordpress.org/

WordPress MU больше не является отдельным проектом; он продолжает развиваться как часть основной ветви WordPress под названием multisite или MS.

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

Если вы никогда не строили плагин раньше, и планируете выпустить его в репозиторий WordPress, тогда вам будет достаточно сложно исправить все ваши ошибки WP, чтобы даже беспокоиться о совместимости WPMU.

Сначала пойдите с WP и узнайте его внутри и снаружи. Затем вы можете начать изучение того, что делает плагин WPMU отличным от WP.

Плагин WP является плагином, который несовместим с WP Multi-сайтами. На самом деле есть много вещей, которые вам нужно понять о плагинах, чтобы даже начать понимать требования разработчика WPMU, с которыми вы столкнетесь.