Здравствуйте, дамы и господа, в этой статье хочу рассказать об одной важной вещи: использовать для клиентов самописные (кастомные) темы для WordPress или брать созданные другими людьми, например, из репозитория, премиум-темы? Вопрос на самом деле очень важный, ибо часто позиция в данном вопросе неоднозначная. Но давайте перейдём к делу, ибо вопрос стоит внимания.

Custom vs готовые темы

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

Правда, случаются ситуации, когда захожу в дочернюю тему у очередного клиента. Смотрю и вижу прекрасные творения.

Код в functions.php
Уверен, профи сразу поняли что к чему, и название функции «говорящее»

Нет бы комментарий приписать, что к чему, а то не сразу допёр, что это для пагинации. Так что дочерняя тема — плохой выход из ситуации, даже в рамках неё можно наворотить эталонного быдлокода или просто сделать так, что будет непонятно, что к чему.

И, кстати, покупка премиум-тем также не спасёт от некоторых проблем.

Типичный быдлокод в темах для WP
Источник: http://govnokod.ru/19768

Так что можете не переживать, если можете написать качественную тему, а также поддерживать её, то вперёд и с песней. Но давайте расскажу о главных проблемах:

  1. Весь функционал для кастомной темы придётся добавлять самостоятельно.

  2. Весь код от А до Я будет висеть на разработчике, а это: PHP, HTML, CSS, JS. И даже какие-нибудь фреймворки. Если желаете позабавиться и потролить сторонних специалистов, можете вообще построить компоненты темы на базе React JS, весь необходимый функционал в WP есть. Заодно для стилей можно использовать препроцессоры, к примеру, SASS или LESS.

  3. Поддержка темы полностью на вас. Обновлять компоненты темы, например, интегрированные фреймворки или устранять проблемы безопасности придётся разработчику.

  4. А также необходимо запилить документацию, ибо делать это необходимо даже для себя самого, а то можно запутаться в собственных функциях.

В общем, одни проблемы, кода придётся сделать больше, запилить его качественно, с учётом логики WP, а также понадобится тему поддерживать, искать уязвимости. Ну и с документацией работать, при необходимости вести GIT.

Зато какие плюсы! Клиент от вас зависит. И если сделаете эталонный код в стиле барокко, то вашему клиенту вообще некуда будет податься. Говорю, запилить тему на React или подружить с шаблонизатором Twig – идеальный вариант. Препроцессоры тоже.

Код в стиле барокко

Поверьте, чем запутаннее код, тем лучше. Пилить заново — дорого. А сторонний специалист за такое даже браться не будет.

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

На этом проблемы не заканчиваются, темы, которые устанавливают тысячи людей, как правило, проверены на качество и безопасность. Все найденные ошибки сыпятся на разработчика в багрепортах, соответственно, со временем будут исправлены (но это не точно).

А если у вас затесался какой-то цикл, который начинает жрать оперативку при запросах к БД, то вы можете не сразу это заметить.

Преимущества и недостатки готовых тем

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

Конечно, некоторые клиенты могут заявить следующее, цитирую:

Подождите, вы берёте с меня деньги, но вместо того, чтобы разработать для нас индивидуальную тему, с уникальным функционалом и дизайном, берёте готовую, чуть-чуть дорабатываете, а потом требуете с нас деньги? За что, спрашивается, должны вам платить? Вы не сделали ничего, просто взяли готовое и установили!

Конечно, а 300 строк кода в functions.php, а также 4 шаблона не считаются. И да, заказ был всего на 12 тыс. рублей. Забавно, но клиент, видимо, считал, что за 12 штук получит уникальный проект, сделанный как минимум на фреймворке, а лучше с использованием «чистых» языков программирования. Backend и Frontend будут написаны с нуля и превзойдут по качеству любую современную CMS.

Ладно, человек просто хотел уникальную тему на заказ, но проблема в том, что уникального в данном плане особо ничего не придумаешь, дизайнерские решения внедряются с помощью «шаблонизатора PHP», а также CSS, конечно же, можно поизощряться и добавить какие-нибудь фишки на AJAX, но факт в том, что требования клиента закрывало процентов 70 тем из репозитория, а работа заключалась в написании шаблонов с выводом категорий на главной, а также выводом записей в формате Grid. Собственно, даже у человека, практически не знающего код, проблем с этим не возникнет, ибо есть тысячи готовых решений.

А большую часть кода занимали счётчики и цели Метрики. Так что проблем не было никаких. Берём типовую тему из репозитория, создаём дочернюю и допиливаем стили и функции. Всё.

Во-первых, давайте посмотрим на любую тему для WP. Из чего она состоит:

  1. Десятки тысяч строк кода. На разных языках.

  2. Библиотек, необходимых для адекватной работы.

  3. Помимо знаний языков программирования, необходимы знания функций самого WordPress.

  4. Десятки часов работы и доработок.

Стандартный состав. Тема для WordPress может оказаться настолько сложной, что разработка займёт очень много времени, соответственно, съест немало денег.

Во-вторых, поддержка темы тоже будет проблемным местом. Обновлять код и дорабатывать — время, которое должно быть оплачено. Соответственно, кастомная тема — дополнительные расходы.

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

Понимаю, заказчик желает «крутой уникальный проект» за 12 тыс. рублей. Или вообще маркетплейс за 5 (это не шутка).

Маркетплейс за 5 тыс. рублей
Готовы сделать?

Короче, если не получится объяснить, почему тема из репозитория подойдёт и почему индивидуальная разработка темы — удовольствие дорогое, то лучше быстренько разойтись.

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

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

В третьих, в один прекрасный момент можете обнаружить такую картину.

Устаревшая тема в репозитории
Устаревшая тема в репозитории

Автор просто бросил тему. Соответственно, с новыми версиями WordPress работать будет кривовато, да и новые технологии пройдут мимо неё. И в таком случае либо придётся делать форк и дорабатывать тему самостоятельно, либо переходить на другую, у которой функционал и основные шаблоны могут отличаться, соответственно, придётся дочернюю «подружить» с новой темой. А также переиначить стили заново.

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

И что делать?

Всё просто, если вы в должной степени владеете кодом и готовы поддерживать темы, никто не мешает вам делать их самостоятельно. При желании можете собственные темы в репозиторий добавлять.

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

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.