Как правильно разработать структуру плагина для Wordpress?

Доброго дня.
Необходимо написать плагин для WP, который с помощью curl делает запрос на сторонний сервер и в ответ получает JSON. Затем на основе полученных данных шорткодом выводим тот или иной контент. Для каждого пользователя полученный JSON будет разным.
Вопрос в основном в теории: как правильно это написать, использовать классы или же просто функциями? Как правильно это организовать, чтобы только после получения данных срабатывал шорткод?

P.S. Буду рад всевозможным ссылкам и спасибо.
P.S.S. У меня есть версия плагина, которая работает, но это чистейший г**нокод, а хочется переписать все по фен шуй)
  • Вопрос задан
  • 360 просмотров
Решения вопроса 1
@maxus99
фрилансер
Я лично использую этот шаблон для своих плагинов - wppb.io (https://tommcfarlin.com/wordpress-plugin-boilerplate/).
Для маленького плагина структура может быть слишком исчерпывающей, но можете изучить, что-бы понять как нужно делать.

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

Кроме этого подумайте над кэшированием или выборкой данных в Javascript, потому что если внешний сервер будет тупить и долго отвечать, сайт у Вас так-же будет тупить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
dimasmagadan
@dimasmagadan
1 используйте API, которые есть в WP
запрос на сторонний сервер правильнее сделать с помощью через HTTP API
https://codex.wordpress.org/HTTP_API

2 правильно писать так, как вам и другим разработчикам будет позже удобнее работать с кодом
> использовать классы или же просто функциями
вопрос из разряда "что лучше - табуляция или пробелы". используйте тот подход, которым вы владеете в большей степени.

если идей, как организовать плагин нет, скачайте любой из гугла по "wp plugin boilerplate".
чего-то особо уникального там нет, подход везде примерно одинаковый.
отличаются названием функций/классов, путями и названием папок

>Как правильно это организовать, чтобы только после получения данных срабатывал шорткод?
в функции шорткода пропишите условие,
если данные есть - показывать, если нет - не показывать
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
P.S.S. У меня есть версия плагина, которая работает, но это чистейший г**нокод, а хочется переписать все по фен шуй)

В wp по феншую не будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы