Wordpress

Программирование на wordpress: WordPress. Введение. (Урок 1) | Народное программирование

09.01.2023

WordPress — это просто?

Posted inВыбор редакции, Другое

by R2 D2

Часто в разговорах можно услышать фразу “знающих программистов” о том что WordPress это просто, оно для школьников, чайников, домохозяек (нужное подчеркнуть). А вот “крутым программистам” на таком работать позор.

В этих словах есть доля правды, как и целый пласт заблуждений 🙂

Давайте начнем с правды. WordPress отличается от других платформ тем что имеет двойственную природу. С одной стороны он может работать как коробка и облако, позволяя относительно просто сделать сайт без программирования. Условно назовем это “режим LEGO”. Но у него есть и второй режим – фреймворка. Вот тут не все так просто как говорят, а если вдуматься то сильно сложнее чем на многих аналогах.

В режиме LEGO

Тут все просто. Берем кубики (плагины, темы), собираем то что хотим.

Для 80% задач этого более чем хватает. На этом уровне действительно может справиться школьник  или домохозяйка. В этом причина его популярности и простоты. Где-то можем попросить начинающего программиста подправить стили или какие то простые правки по инструкции внести.

В режиме фреймворка

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

Определение очень простое:

Фреймворк (неологизм от англ. framework — каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

В соответствии с этим определением WordPress это фреймворк. Есть целые книги на эту тему (например тут).

Причем в категории фреймворков это очень сложный уровень. Большинству программистов не под силу его освоить даже на среднем уровне (Middle WordPress Developer). Не говоря уже про уровень Senior WordPress Developer.

Многие программисты страдают синдромом утенка. Они сначала собирали костыли на php, потом где то на Хабре прочитали про MVC для соглашений и ORM для работы с данными – решили что вот она матерь всех веб-программистов. Единственная добрая, умная, красивая, пушистая, родная и правильная. А все что не похоже на это то не мама и значит плохо.

И тут WordPress далеко не похож на их идеалы. Вместо ORM у него EAV (Entity Attribute Value), а кроме MVC у него EDA (Event Driven Architecture). MVC тоже есть, но оно выглядит иначе чем у популярных фреймворков и не так явно выражено.

У этих технологий нет идеального решения. У каждого есть свои плюсы и минусы. Например EAV существенно гибче чем ORM, но сложнее в понимании и в некоторых случаях может оказаться медленнее, особенно если программисты малоопытные.

При этом EAV & ORM медленней чем SQL и в обоих случаях на некоторых задачах требующих тонкой работы с данными приходится переходить на SQL. Похожая ситуация с EDA – оно сильно гибче чем MVC, позволяет создавать системы гораздо больше, защищая от энтропии хаоса, но их чуть сложнее отлаживать, плюс это гиперскачок в мышлении относительно чистого php.

Далее возьмем современного фаворита типа Laravel. Программисты его любят, птм что он модный, у него есть MVC и ORM. Но вот только у него очень тонкая архитектура (100-200 основных методов) против WordPress (1000-2000 основных методов). Что проще выучить 100 методов или 1000 методов?

Когнитивный диссонанс

В результате двойственной природы WordPress мы получаем забавный сценарий. Некому типичному программисту дают задачу “сделай вот такую штуку для WordPress”. Тот будучи уверен что это простая игрушка для школьников, то он сейчас сядет и сделает. Там только начать и кончить. Садится, начинает разбираться и понимает что ничего не понимает. Вообще все не так. Не понятно. Чтобы решить какую то задачу нужно сначала вникнуть в толстенную архитектуру, тк тут одна часть цепляется за другую. Для решения нужно иметь в голове кучу знаний о том как все устроено, что на что влияет и как изменить одну часть не сломав другую. Это не просто.

У программиста возникает когнитивнный диссонанс “Я че тупее школьника? Это же позор! Конец моей репутации умного мальчика/девочки! Да мне проще на голом php написать. И вообще ваш вордпресс говно!”.

Так и образуется репутация WordPress в России что это для школьников, и вообще говно, а настоящие программисты программируют на голом php или laravel.

А то что надо осваивать EAV & EDA – вызывает синдром утенка, тк оно ниразу не походит на хорошо знакомое ORM & MVC. И вместо того чтобы признать свои пробелы в знаниях, гораздо проще сказать что инструмент фигня. Получаем ситуацию которая звучит как “Плохому танцору – яица мешают”.

Резюме

WordPress это платформа №1 в мире. Но у нее двойственная природа. Которую нужно хорошо понимать. Нужно понимать что в режиме Лего с ней справится даже школьник. А вот в режиме фреймворка нужны очень матерые и дорогие программисты. Иначе эмоционально не зрелые специалисты без богатого опыта очень быстро сдадутся, и большинство найдет крайнего – WordPress.

Автор не против Laravel или даже чистого php. Если нужно написать некое API к существующей большой БД то вероятно лучше взять Laravel или node.js. Но если мы делаем контентный ресурсы, будь то сайт, блог, каталог, магазин или что-то из категории ECM (Enterprise Content Management), то вероятно лучше брать платформу (фреймворк), у которого больше методов для работы с контентом.

Также стоит принимать во внимание то что компании типа Майкрософт, МерседесБенц, Касперский, Убер и многие другие мировые лидеры, где работают люди умеющие принимать адекватные решения, у которых есть деньги на хороших программистов – используют для многих своих сайтов WordPress.

Так и живем 🙂

Tagged: WordPress

Программирование на WordPress обзор, сравнение, лучшие продукты, внедрения, поставщики.

  • Продукты
  • Сравнение
  • Поставщики
  • Производители
  • FAQ
  • Материалы

Наиболее популярные продукты категории Программирование на WordPress Все продукты категории

AgiliWay CUSTOM Software development

AgiliWay

Katasis Разработка ПО

Katasis

Производители Программирование на WordPress

Ardas

FRA. ..

  • FRA
  • GBR
  • UKR
  • USA

Andersen

DEU…

  • DEU
  • GBR
  • GEO
  • HUN
  • KAZ
  • LTU
  • POL
  • UKR

LineUp

FRA. ..

  • FRA
  • ITA
  • POL
  • RUS
  • UKR
  • USA

UKAD

GBR…

  • GBR
  • POL
  • UKR

Uran

BGR…

  • BGR
  • UKR
  • USA

Вы уверены что хотите удалить ?

Да

Нет

Как начать разработку WordPress

Советы

Последнее обновление:

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

Первый тип людей — это те, кто так или иначе уже является разработчиком и решил узнать больше о WordPress. Второй тип людей — это те, у кого нет реального опыта программирования, но им нужно повозиться со своим текущим веб-сайтом WordPress, чтобы изменить что-то, что им не нравится.

WordPress — отличный способ узнать больше о разработке, поэтому он особенно подходит для тех, кто изучает вещи по мере необходимости. Он особенно хорошо работает в качестве учебного пособия для новых разработчиков по нескольким причинам.

Строительные блоки WordPress

Существует несколько различных языков программирования, которые необходимо изучить, чтобы получить максимальную отдачу от разработки WordPress. По своей сути WordPress построен на одном из самых распространенных языков программирования в Интернете — PHP. Он также использует огромное количество HTML, CSS и немного Javascript для различных аспектов.

Существуют и другие используемые языки программирования и стандарты (например, XML и MySQL), но вам не нужно слишком много о них узнавать в начале вашего пути разработки.

Три основных языка, которые вам нужно выучить, чтобы стать разработчиком WordPress (в порядке убывания сложности и необходимости): PHP, CSS и HTML.

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

Следующим важным аспектом для изучения является CSS. Вот как вы оформляете свой сайт. Это то, как вы отличаете свой сайт от всех остальных в Интернете. Это может быть чрезвычайно сложно освоить, и потребуется много учиться, чтобы извлечь из этого максимальную пользу.

HTML — это структура, вокруг которой построены функции, созданные в PHP, и стили, определенные в CSS. Это самый простой язык для изучения, но он чрезвычайно важен для создания хорошо построенного веб-сайта.

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

Пути разработки для изучения

Если вы заинтересованы в изучении разработки WordPress, есть три основных пути.

Разработка темы

Разработка темы — наиболее распространенный этап разработки WordPress. Большинство разработчиков WordPress начинают свой процесс обучения с тем. Если у вас есть тема, которую нужно настроить по той или иной причине, или вы решили создать собственную тему, это отличное место для начала.

Разработка тем включает в себя все три основных языка разработки, и вы узнаете, как WordPress интегрируется со всеми его многочисленными аспектами. Он поставляется с дополнительным бонусом, позволяющим вам просматривать код других тем и узнавать, как они собираются.

Создание темы с нуля — отличный способ изучить все аспекты WordPress.

Разработка плагинов

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

Те, у кого есть предыдущие знания PHP и кто хочет решить конкретную проблему, с которой они сталкиваются в WordPress, с большей вероятностью пойдут по этому пути с самого начала. Ведущим фактором в разработке плагинов является то, что вы ограничены только своим воображением.

Вы можете изменить установку WordPress по умолчанию практически на что угодно с помощью хороших плагинов. Примеры доступных в настоящее время плагинов включают форумы, социальные сети, членские сайты и многое другое.

Разработка основного программного обеспечения

Это не для слабонервных.

Участие в разработке основного программного обеспечения для WordPress требует большого мастерства. Это не то, что следует делать тем, у кого нет предыдущего опыта работы с PHP.

Источники обучения

Хотя разработка WordPress может быть сложной, в Интернете существует огромное количество ресурсов, которые могут помочь вам с любой проблемой, с которой вы сталкиваетесь.

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

Кодекс

Кодекс WordPress должен быть первой остановкой для любых вопросов разработки.

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

Учебники

В Интернете есть огромное количество руководств, которые помогут вам начать разработку WordPress. У нас их много здесь, в нашем блоге WordPress. Существует множество бесплатных учебных пособий, доступных для изучения, но есть также несколько премиальных курсов и учебных пособий, которые вы можете использовать (.

Помимо руководств по общему развитию, существует также множество конкретных руководств, которые научат вас выполнять различные задачи. Быстрый поиск в Google даст вам материал для чтения на несколько дней.

Форумы

Существует ряд форумов специально для разработчиков. Не все из них стоит читать регулярно, но они идеально подходят для того, чтобы задавать вопросы о проблемах, с которыми вы столкнулись. Не все ответы, которые вы получите, будут полезными, но они могут быть быстрыми и полезными местами для получения ответов на конкретные вопросы.

Существуют специализированные форумы WordPress или общие форумы разработчиков, такие как Stack Overflow, которые вы можете изучить. Стоит потратить время на поиск подходящего вам форума и задать вопросы более опытным пользователям.

Участие в сообществе

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

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

В Кодексе есть отличная статья о вкладе в WordPress, и если вы хотите принять участие, ее стоит прочитать. Если вы мыслите творчески, вы найдете какой-то способ отплатить сообществу.

Вывод

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

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

Вы недавно начали свой путь в разработке WordPress или надеетесь начать в ближайшее время? Если вы опытный разработчик WordPress, как бы вы порекомендовали людям начать работу? Мы будем рады услышать ваши мысли в комментариях.

PHP 101: Нежное введение в программирование WordPress

Добро пожаловать в программирование WordPress. В этой практической лаборатории по созданию кода вы познакомитесь с программированием на PHP. Эта лабораторная работа предполагает, что вы ничего не знаете о программировании или PHP. Вы начнете с самого начала и постепенно изучите основные концепции и инструкции, с которыми вам придется столкнуться. Это PHP 101.

Когда вы открываете тему или плагин, вы видите HTML, CSS и PHP. Правильно, WordPress построен на языке сценариев PHP. Он работает на сервере и обрабатывает запрос страницы, общается с базой данных, обрабатывает формы, загружает различные файлы и обрабатывает бизнес-логику, чтобы затем отобразить ответ или новую веб-страницу в браузере.

Чему вы научитесь?

В этом практическом занятии мы с вами познакомимся с программированием. Вы узнаете о:

  • Что такое PHP и почему веб-сайты его используют
  • Почему и как WordPress использует PHP
  • Запутались в файлах, в которых есть HTML, CSS, JavaScript и PHP. Когда это PHP?
  • Что делать с синтаксисом
  • Организация кода путем его разбиения на файлы и подпрограммы
  • Хранение значений в переменных
  • Определение того, следует ли выполнять какой-либо блок кода или нет
  • Повторение кода с использованием циклов
  • Область видимости – кто и что могут разговаривать друг с другом
  • Порядок вещей, что вызывается, когда
  • Нежный взгляд на реальный код, ориентированный на WordPress
  • и многое другое

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

Хотите научиться #PHP? Изучите основы с помощью этого БЕСПЛАТНОГО введения в #WordPress. Нажмите, чтобы твитнуть

Предварительные условия

Для выполнения этой лабораторной работы вам потребуется развернутый и готовый к работе локальный сайт-песочница. Я расскажу вам об этом в эпизоде ​​«Введение в лабораторию». Вы будете использовать тему Genesis Sample или Twenty Seventeen.

Рекомендуемая отправная точка

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