Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress

Вещи, которые вы должны отделять от своей темы

by
Read Time:4 minsLanguages:

Russian (Pусский) translation by Alexander Popov (you can also view the original English article)

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

Краткое изложение

Несколько лет назад, будучи новичком в WordPress, я искал качественную тему WordPress для своего клиента. После нескольких часов поисков я нашел превосходную тему. Она выглядела идеальной и с виду имела огромные возможности: потрясающий слайдер, аккуратные шорткоды и раздел «Услуги» с удивительными возможностями — полный набор!

Однако, когда я установил тему, я столкнулся с жестокой правдой: она выглядела идеальной, но не была ею. Она, по видимости, имела большие возможности, но это было не так. Я должен признать, что она имела красивый дизайн, но код был просто ужасен. Я бился, чтобы заставить её работать и мне удалось создать работающий сайт, но когда я (почти) закончил, обновление WordPress привело к аварии со знаменитым белым экраном смерти на сайте моего клиента.

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

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

Почему мы должны учитывать это?

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

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

Чего следует избегать при создании темы?

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

Слайдеры

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

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

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

Шорткоды

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

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

Пользовательские типы записей и таксономии

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

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

...и все виды функциональности

Мне не нужно приводить ещё примеры, вы поняли основную мысль: функциональные части вашей темы должны предоставляться как плагины. В руководстве «Создавая WordPress» существует понятие «территория плагина» и если вы собираетесь демонстрировать или продавать вашу тему на сайте, который следует этим принципам (как WordPress.org или ThemeForest), вам нужно соблюдать их и предоставлять функциональные части как плагины с вашей темой.

Библиотека TGM Plugin Activation — возможно, наиболее простой и эффективный способ связать ваши темы с плагинами. Вы можете «требовать» или «рекомендовать» плагины (с WordPress.org, из папки вашей темы или любого другого внешнего сайта) при установке своей темы.

Подводя итоги

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

Что вы думаете по этому поводу? Поделитесь своими мыслями в комментариях ниже. И если вам понравилась статья, не забудьте поделиться ей!

Advertisement
Did you find this post useful?
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.