Разработчик с полным стеком — это тот, кто обладает знаниями и навыками, чтобы иметь возможность работать не только с интерфейсом или сервером, но и с тем, и с другим, а также со всем, что между ними.
Начиная с сервера и хостинга и заканчивая глубоким пониманием необходимых языков программирования, API, пользовательским интерфейсом и взаимодействием с пользователем, приобретение этого набора навыков является сложной задачей даже для самого преданного или одержимого ученика.
Константы развития (среда сервера и хостинга, моделирование даты и т.д.) не меняются. Но есть несколько дополнительных вещей, которые можно добавить в свой набор инструментов, если вы хотите рассматривать (и, возможно, рекламировать) себя как полнофункционального разработчика WordPress.
Если вы даже думаете о том, чтобы стать полноценным разработчиком WordPress, вы уже должны знать языки, лежащие в основе WordPress. (Если нет, возможно, вы захотите ознакомиться с другим нашим постом о начале разработки WordPress здесь.)
Помимо очевидного PHP, HTML/CSS и теперь все больше и больше jаvascript, WordPress также использует различные библиотеки кода, возможно, наиболее заметные; jQuery и TinyMCE. Это полный список всех сторонних библиотек, которые он использует:
Рассмотрим их подробнее
jQuery — это популярная библиотека jаvascript, которая является неотъемлемой частью WordPress. Это стоит за многими анимациями, а также взаимодействием с пользователем, среди прочего. В качестве примера, очевидно показанного в списке выше, WordPress использует jQuery для обрезки изображений.
Backbone — это библиотека jаvascript, которую разработчики используют для структурирования кода в соответствии с шаблоном MVC. (Модель, Контроллер представления) В основном разделение кода на основе того, что обрабатывает данные (Модель). Визуальное представление этих данных в HTML/CSS (View). И, наконец, контроллер, который принимает ввод и использует его для отправки команд в части 1 и 2.
TinyMCE — это текстовый редактор в браузере, который WordPress.org использует в своей административной области. Однако Calypso не использует TinyMCE, но текущая версия с открытым исходным кодом .Org по-прежнему поставляется с TinyMCE, включенным как часть ядра.
Все остальные библиотеки представляют собой более мелкие библиотеки, предназначенные для одной, более мелкой цели, и, возможно, не заслуживающие такого внимания, как другие.
Бонус: React
Хотя WordPress.Com официально не включен в пакет WordPress.org, он работает с чрезвычайно популярной библиотекой React jаvascript. Они даже использовали его для создания совершенно новой административной области, которая не использует TinyMCE для создания и редактирования контента в административной области.)
Как стать полноценным разработчиком — изображение иерархии шаблонов WordPress
Прежде чем мы рассмотрим некоторые из более сложных операций WordPress, рассмотрим иногда запутанную иерархию шаблонов. При разработке тем для клиентов важно полностью владеть иерархией шаблонов, поскольку вы можете избавить их от хлопот и энергии, создав тему, которая автоматически применяет правильные шаблоны к правильным страницам.
Простой способ лучше познакомиться с иерархией шаблонов — внимательно изучить визуальное представление, изображенное выше, на wphierarchy.com. Вы также можете прочитать некоторые статьи, в которых более подробно рассматривается иерархия шаблонов.
Распространенный вопрос, который возникает у многих начинающих разработчиков WordPress, когда они только начинают, заключается в том, загружается ли файл темы functions.php до или после файлов плагинов. Это имеет значение, когда речь идет о приоритете кода, поскольку код, работающий с теми же вещами, которые загружаются последними, будет кодом, управляющим конечным результатом.
Файлы темы на самом деле загружаются после плагинов, но так как вас просят добавить большинство функций в ваши темы и плагины, перехватывая и выполняя их в хуке инициализации, приоритет в большинстве случаев не определяется порядком файлов. Вместо этого вы можете назначить приоритет своей функции в функции add_action().
Для получения дополнительной информации вы можете проверить отличный ответ stackexchange, который объясняет именно это.
Функции WordPress являются основой многих возможностей WordPress. Вы часто полагаетесь почти исключительно на них при разработке тем.
Самое забавное в огромном количестве функций WordPress в наши дни заключается в том, что вы можете обнаружить, что разрабатываете пользовательскую функцию в теме или плагине, как только вы понимаете, что WordPress уже добавил это в ядро.
Так что, чтобы не попасть в такую ситуацию, Помимо того, что вы просто укрепляете свои способности к разработке WP в целом, важно познакомиться со всеми наиболее важными функциями WordPress.
И многое другое.
Чтобы лучше познакомиться с функциями, взгляните на справочник по функциям в кодексе или в руководстве разработчика WP (тот факт, что их 99 страниц, должен дать вам некоторое представление о том, как много вы можете сделать с WordPress без необходимости напишите пользовательскую функцию PHP.)
API — это термин, который относится к коду, который позволяет программе взаимодействовать с другой программой. В дополнение к множеству внутренних API, которые помогают различным частям WordPress общаться и работать вместе, WordPress недавно включил REST API как часть ядра. REST API позволяет WordPress свободно взаимодействовать с веб-сайтами и программами, которые не являются WordPress или даже написаны на PHP. Например, у вас может быть членский сайт WordPress, а затем получать данные и даже отправлять новую информацию на этот сайт WordPress с помощью приложения Android или IOS.
Любой разработчик должен ознакомиться с API-интерфейсами настройки и модификации тем, поскольку они необходимы при разработке тем. Они работают с настройщиком тем, чтобы позволить конечному пользователю вносить изменения в дизайн своего веб-сайта без необходимости возиться с исходным кодом.
И REST API, очевидно, важен по всем причинам, которые мы уже рассмотрели. API позволяет создавать сложные приложения, используя WordPress в качестве основы. Таким образом, любой, кто называет себя полноценным разработчиком WordPress, должен быть хорошо знаком с тем, как это работает, и с реалистичными вариантами использования.
Точно так же, как для того, чтобы стать разработчиком полного стека, в целом требуется глубокое знание каждого этапа передачи веб-сайта или приложения от сервера к пользователю, разработчик полного стека WordPress должен иметь такое же глубокое понимание каждого закоулка WordPress. Это помимо понимания языков и библиотек под капотом.
Сложный вопрос даже для опытного разработчика, но вы можете добиться этого. Однако, если вы новичок, день, когда вы сможете присвоить себе это прозвище, пройдет через много лет (если не десятилетий). Однако, даже если вы только начинаете, мы надеемся, что этот пост может указать вам правильное направление для более подробного ознакомления с элементами ядра WordPress.
WordPress, разработка, обучение