Я пытаюсь немного понять, как WordPress работает в разработке. Я уже создал несколько шорткодов, которые могу просто отредактировать на своей странице, и несколько виджетов, которые отображаются на каждом созданном мной сайте или в блоге...
Мой вопрос: каков общий объем виджетов или плагинов в WordPress, которые я создаю? Я знаю, что есть хуки и функции WordPress API, чтобы показывать их только в определенных частях WordPress, например, на панели администратора или просто на боковой панели виджета страницы...
Но есть ли хорошие источники об архитектуре и возможностях того, как и где использовать ваши плагины? Вводятся ли они в каждую страницу, которую я создаю на своих страницах WP? (например, с помощью enqueue_scripts или около того?). Для меня, как для новичка, это слишком сложно, чтобы получить хороший обзор...
И как эти функции из WP API становятся доступными в моих файлах/папках плагинов, если я никогда их не импортировал? Я предполагаю, что это основано на какой-то модульной технике, но я не знаю, как это сделать.
Это хорошо, чтобы погрузиться в новую концепцию WordPress (WP), называемую блоками, вы можете найти все подробности здесь: Документация по блокам
Создание виджетов и шорткодов — это более старый процесс, в настоящее время большинство людей обращают внимание на блоки WordPress и особенно на FSE (полный редактор сайта), поэтому я бы посоветовал вам начать изучать это как можно скорее.
Давайте перейдем к вашим запросам:
Перейдите в каталог WordPress, вы найдете файл с именем index.php
, который отвечает за загрузку вашего приложения.
Наряду с index.php
вы найдете несколько каталогов под названием
Где у WP все функции, происходящие в административной части, выполняются путем доступа к классам и функциям, присутствующим внутри этого каталога.
В этом каталоге есть все служебные и вспомогательные классы и функции.
Это единственный каталог, в который разработчик может добавлять/редактировать файлы, в которых хранятся все ваши плагины, темы, загрузки и другие пользовательские каталоги, если вы код или любой другой код плагина, созданный
Подробнее о том, как работает WP
Довольно сложно объяснить все тонкости WP в одном посте, но вы можете найти подробное объяснение в официальной документации
WordPress в основном зависит от хуков, а хуки относятся к любой из этих двух категорий:
Как плагины, так и темы имеют терминологию, называемую заголовками, используя метаданные этого заголовка. WP заполняет все детали на странице администрирования списка плагинов и на странице списка тем.
Темы в основном зависят от концепции, называемой циклами, которая отвечает за выборку данных сообщений и создание необходимых деталей с использованием тегов шаблона и повторение их с помощью цикла. В зависимости от типа страницы, которую посетил пользователь, WP использует иерархию шаблонов для отображения страницы в соответствии с запросом, который произошел на стороне клиента.
Подробнее о том, как работают петли WP
Подробнее о том, как работает иерархия шаблонов
Да, вы можете превратить свой полный WP в безголовую CMS с помощью WP REST API . REST API используется для доступа к WordPress за пределами WP, например. если вашему приложению для Android нужно получить какие-либо сообщения, категории или пользователя из WP с помощью этого REST API, оно может это сделать. Также вы можете создавать свои пользовательские конечные точки
Кроме того, попробуйте изучить WP CLI
Я считаю, что я рассмотрел большинство вещей, необходимых для понимания того, как работает WP, чтобы было ясно, что этот пост абстрагирован от многих вещей, чтобы сделать его максимально компактным для всех, кто начал заниматься разработкой WP.
Если вы хотите узнать больше об этих абстрактных объяснениях в подробностях, всегда посещайте официальную документацию
Если в вашем IDE есть функция автозаполнения, попробуйте изучить все эти функции (список подстановочных знаков), которые содержат большинство функций безопасности, предоставляемых WP.
Я полагаю, что я рассмотрел несколько основных моментов, оставив много вещей, чтобы вы чувствовали себя комфортно с WP, особенно с модулями JS и реагирующими компонентами WP.
вау, спасибо, это довольно много советов для начала :)