Расширяемость, на мой взгляд, лучшая особенность WordPress и помогает сделать его самой популярной системой управления контентом в мире. Но если вы поймете это неправильно, вы можете случайно сделать жизнь пользователя WordPress излишне сложной.
Короткая история
Пару лет назад я был новичком в WordPress и искал качественную тему WordPress для своего клиента. После нескольких часов поисков я нашел идеальную тему. Он выглядел идеально, и у него, казалось, были отличные функции : у него был удивительный слайдер, изящные шорткоды и раздел «Услуги» с удивительными функциями — весь пакет!
Когда я установил тему, я столкнулся с ужасной правдой: она выглядела идеально, но это не так. Казалось, у него есть отличные функции, но это не так Должен признаться, у него был красивый дизайн, но основа кода была просто ужасной. Я изо всех сил пытался заставить его работать, и мне удалось создать работающий веб-сайт, но к тому времени, когда я был — почти — сделан, пришло обновление WordPress, и веб-сайт моего клиента потерпел крах со знаменитым Белым Экраном Смерти .
Конечно, это была не вина WordPress, а тема. Я решил сменить тему и потратил еще три часа, чтобы найти другую тему. На этот раз я подумал о том, чтобы проверить комментарии о теме и о форуме поддержки поставщика, и подтвердил, что беспокоиться не о чем. Я купил вторую тему, установил ее с большим нетерпением, и … раздел «Службы» исчез. Наряду с слайдером домашней страницы. Наряду с короткими кодами. Вместе с некоторыми из виджетов боковой панели. Вместе с контактной формой.
Мораль истории? Люди имеют тенденцию переключать темы, когда им не нравится та, которую они используют, и им нужно сохранить свой контент после смены тем. Это не обязательно должно быть из-за ошибок или сбоев: WordPress позволяет нам менять темы, и авторы тем должны уважать этот выбор.
Почему мы должны помнить об этом?
Вы не хотели бы оставлять неприятный вкус во рту людей, если они отказываются от вашей темы, чтобы использовать другую. Ваша миссия — предлагать отличные услуги людям, которые покупают ваш продукт, и это позволяет им переключаться на другую тему, не теряя своих данных.
Для этого вам нужно знать, что включать и чего избегать в темах, которые вы создаете. В этой статье мы рассмотрим некоторые основные правила.
Чего следует избегать при создании темы?
Нам нужно определить, что мы должны оставить вне базы кода нашей темы. Обратите внимание, что это не означает, что мы должны отказаться от каких-либо частей — мы все еще можем интегрировать интересные функции, но мы должны сделать это другим способом. Давайте посмотрим, что мы должны воздерживаться от включения в основные файлы наших тем.
Слайдеры
Слайдеры, нравится нам это или нет, чрезвычайно популярны среди тем WordPress. Я лично считаю, что они немного бесполезны, но когда я работаю с клиентом, чтобы сделать его веб-сайтом, мы почти всегда зацикливаемся на том, что разместить на главной странице; и ползунки обычно являются лучшим решением, которое мы находим.
Поскольку они настолько популярны, было бы разумно включить функцию создания пользователями слайдов с изображениями и фрагментами HTML, но вы также должны подумать о том, что придется делать вашим пользователям при переключении тем: потеряют ли они все? их слайды и нужно строить такие же для новой темы?
К счастью, большинство тем делают это правильно, предлагая отличные плагины для слайдеров. Вы должны сделать то же самое: найти отличный плагин-слайдер, который готов для коммерческого использования, если вы собираетесь продавать свою тему, и интегрировать его в свою тему. Вам не нужно кодировать его с нуля, но если вы это сделаете, не забудьте использовать его как отдельно устанавливаемый плагин с вашей темой.
Шорткоды
Шорткоды являются одной из лучших функций для пользователей WordPress, от новичка до эксперта. Но даже если они помогают с дизайном вашей темы, они немного функциональны и изменяют поведение контента или создают динамический контент. Когда пользователи переключаются на другую тему, им не нужно удалять все ваши [shortcodes]
из своего контента.
Как и в случае с ползунками, вы должны использовать свои шорткоды в качестве плагина и заставить его работать с темами, отличными от вашей.
Пользовательские типы сообщений и таксономии
Пользователь создает контент, решает переключить темы и видит, что его портфолио и контент сотрудников пропали. Они все еще находятся в базе данных, но они недоступны, и ваш начинающий пользователь считает, что все прошло. Хотели бы вы получать электронные письма с очень малоизвестными оскорблениями и 1-звездочными рейтингами? Конечно, нет.
Вот почему вы должны отделить ваши пользовательские типы постов и таксономии от вашей темы и предлагать их как — как вы уже догадались — плагин. Есть несколько чрезвычайно полезных плагинов для создания новых пользовательских типов записей и таксономий — SuperCPT является одним из них. Обязательно прочитайте мое руководство по этому плагину, если вы хотите его использовать.
… и все виды функциональности
Мне не нужно приводить больше примеров, вы понимаете: функциональные части вашей темы должны быть доступны в виде плагинов. В руководящих принципах «Создайте WordPress» есть термин « Территория плагинов», и если вы собираетесь демонстрировать или продавать свою тему на веб-сайте, который соответствует этим рекомендациям (например, WordPress.org или ThemeForest), вам необходимо соблюдать его и служить функциональные биты как плагины с вашей темой.
Библиотека активации плагинов TGM, вероятно, самый простой и эффективный способ связать ваши темы с плагинами. Вы можете «требовать» или «рекомендовать» плагины (из WordPress.org, внутри папки вашей темы или любого другого внешнего сайта), когда ваша тема установлена.
Завершение
Для разработчиков тем WordPress вполне естественно предлагать качественные функции в своих темах, но вы должны быть осторожны, позволяя пользователям переключаться между темами без каких-либо потерь. А это значит, что вы должны установить функциональность отдельно от базы кода вашей темы.
Что вы думаете об этой теме? Поделитесь своими мыслями, комментируя ниже. И если вам понравилась статья, не забудьте поделиться ею!