Разработка плагина WordPress с использованием ООП - PullRequest
15 голосов
/ 29 октября 2010

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

У меня есть веб-сайт, которому нужен плагин для игроков со следующими потребностями: -

  • Форма, контролируемая администратором для регистрации игрока, с некоторыми подробностями о них.
  • Страница со списком, где должны быть показаны все зарегистрированные игроки.
  • Зарегистрированные игроки могут быть удалены и сравнены друг с другом.
  • Отображение некоторых зарегистрированных игроков (10 случайных игроков) в теме WordPress в интерфейсе.

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

Теперь у меня есть две головные боли при завершении разработки этого плагина: -

  • Разработайте этот плагин в формате ООП для поддержки будущих версий WordPress.
  • Выполните другие требования этого плагина.

Как поступить следующим образом (даже с небольшим обменом знаниями)?

  • Создание плагина WordPress с нуля с использованием ООП.
  • Вызов веб-формы (например, для регистрации игрока) с использованием ООП.
  • Отправка всей этой информации об игроке в базу данных с использованием ООП.
  • Отображение страницы со списком (например, для зарегистрированных игроков и их позиционирование) с использованием ООП.
  • Отображение некоторых игроков в интерфейсе темы WordPress с использованием тегов-шаблонов или непосредственно с помощью плагина.

Я искал в Google, пытался найти какую-то информацию в интернете об этом, но мне ничего не удалось с ООП.

EDIT: - Для всех нас (новичков в разработке плагинов WordPress OOP) будет очень полезно и полезно иметь фрагмент кода, подчеркивающий его использование. Если возможно, вы также можете предоставить некоторые ссылки на статьи, которые будут правильно описывать, как писать такие OOP-плагины.

Статьи, например, предоставленные " gulbrandr ", были полезны, и я также хотел бы поблагодарить " kovshenin " за предоставление / упоминание ссылок некоторых плагинов ООП; но будет очень здорово, если будет предоставлено еще несколько статей или фрагментов кода, описывающих правильные шаги разработки плагинов ООП.

Ответы [ 4 ]

10 голосов
/ 20 декабря 2010

Я часто загружаю плагины, чтобы посмотреть на код, надеясь, что я что-то узнаю из методов разработчиков и стиля кодирования. Часто я испытываю разочарование, читая плохо написанные плагины. Дело не в том, что они плохие разработчики, они просто недостаточно сосредоточены на альтернативных стилях кодирования и совершенствовании методов программирования своих плагинов. Вот краткое пошаговое руководство по написанию плагинов для WordPress в надежде повлиять на других разработчиков.

Шаги о том, как начать разработку плагинов

Шаг 1 - Создайте свой файл и позвольте ему называться плагином

Шаг 2 - Создание объектов вашего плагина

Шаг 3 - Добавление ваших действий и фильтров

Шаг 4 - Добавление настроек / опций в ваш плагин

Закончите свой код

Ссылка: Написание плагина WordPress с использованием классов

7 голосов
/ 29 октября 2010

Я не гуру, но я работаю с WordPress уже несколько лет и у меня за спиной довольно много плагинов.Ваша первая ошибка, на которую я могу указать:

вместе с созданием таблицы базы данных

Это неправильно.Вы не создаете таблицы, когда работаете с WordPress, схема по умолчанию является достаточно гибкой, чтобы соответствовать всем вашим представлениям.Даже сложные плагины, такие как WP-eCommerce , переписываются (или уже не знают), чтобы соответствовать стандартной схеме WordPress.Тем более что WordPress 3.0 уже вышел.Это было упомянуто на WordCamp ранее в этом году.

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

Теперь, если вы действительно в ООП, вам нужно скачать несколько классных плагинов и прочитать их.код, чтобы увидеть, как это делают другие люди.В качестве примера я мог бы упомянуть один из моих собственных плагинов под названием Twitter Friendly Links - это не самый лучший ООП, но это определенно начало;)

Вы можете перекинуть его на W3 Total Cache впоследствии, где вы увидите очень впечатляющие вещи и организацию кода (благодаря Фредерику Таунсу ).

Кроме того, некоторые части Кодекса теперь показывают примерыв стиле ООП - API виджета, например.Я надеюсь увидеть больше в ближайшее время и ура для ООП в WordPress!Хорошо, что люди задают такие вопросы, именно это мотивирует разработчиков ядра:)

4 голосов
/ 29 октября 2010

Я нашел недавний пост (август 2010 г.) о том, как написать объектно-ориентированный плагин WordPress: http://w3prodigy.com/behind-wordpress/object-oriented-wordpress-plugin/.

Надеюсь, эта помощь.

1 голос
/ 29 октября 2010

Попробуйте использовать встроенные в WP пользовательские типы записей и API пользовательских полей / таксономий. Если этого недостаточно для вашей задачи - вы можете попробовать добавить несколько ORM, например, Doctrine для backend. Также недавно я разработал простую инфраструктуру, которая предоставляет некоторые основные функции для добавления подхода MVC к WP (базовая маршрутизация запросов, API генерации HTML и «модель» на основе записей и пользовательских полей WordPress). Это не идеально - но я могу поделиться кодом и, возможно, это поможет вам.

...