Представьте, что кто-то открывает магазин с изящной темой WordPress, месяцами занимается этой темой, а затем хочет ее изменить. Теперь представьте, что все ее слайдеры, виджеты и даже продукты исчезают с сайта. Представь ее разочарование. Хотели бы вы вызвать такое разочарование?
Существует концепция под названием «территория плагинов», которая определяет, что разработчики тем должны исключать из своих тем. В этой статье я расскажу об основах этой концепции.
Введение в плагин территории
Давайте начнем с простого: основное мышление, лежащее в основе концепции «территории плагинов», состоит в том, чтобы исключить вещи, которые мешают пользователям переключать темы . Это означает, что вы должны создавать темы, которые можно переключать, когда вы прекращаете разработку темы или когда пользователю нужно (или хочет) изменить свою тему. И вы должны помнить, что тема WordPress должна касаться изменения внешнего вида WordPress, а не его работы .
Если вы пролистали подзаголовки остальной части этой статьи, у вас, вероятно, есть более четкое представление о том, что такое «территория плагина»: вы не можете изменить ядро WordPress, использовать шорткоды или ползунки, создавать собственные типы записей, таксономии или мета-боксы, обеспечивающие функциональность, которая приносит пользу SEO сайта и тому подобное.
Почему? Поскольку пользователи вашей темы не смогут переключать темы без потери своих пользовательских типов записей, ползунков, шорткодов, настроек SEO и т. Д., Что вызовет разочарование, и пользователи столкнутся с двумя вариантами: отказаться от вашей темы и запустить весь сайт с нуля , или сдаться и продолжать использовать тему с принуждением .
В блоге Make WordPress есть страница, посвященная «территории плагинов», которая охватывает все основы всего несколькими словами, но я считаю, что мы можем уточнить тему с помощью того, что мы видим в сообществе WordPress, и этикет создания тем.
Вещи, которые следует исключить из тем
Теперь, когда мы установили, что означает «территория плагина», мы можем начать применять концепцию на нескольких примерах. Некоторые выражения могут показаться вам неполными, противоречивыми или даже неправильными , поэтому не стесняйтесь вносить свой вклад в этот раздел, комментируя использование понятия «территория плагина».
Давайте начнем!
Основные модификации и репликации
Это не просто: ваша тема не должна изменять или копировать основные функции. То есть вы не должны злоупотреблять возможностями расширяемости WordPress, ограничивая функциональность WordPress, и воздерживаться от создания новых функций, когда основные функции могут выполнять ту же работу.
Возьмем, к примеру, фиды: вы хотите создать журнальную тему для издателей, которая будет запрашивать у своих читателей деньги за контент. WordPress имеет функцию «RSS-канал», поэтому может показаться хорошей идеей, чтобы ваша тема вообще отключила функцию «канал» … за исключением того, что это очень плохая идея.
Прежде всего, почему вы предполагаете, что пользователи вашей темы все равно захотят отключить RSS-каналы? Во-вторых, есть много плагинов, которые могут сделать дело, то есть вы можете порекомендовать такие плагины и оставить решение за пользователями. (Вот мое руководство о том, как рекомендовать или даже требовать плагины: « Использование библиотеки активации плагинов TGM в ваших темах ».)
Другим хорошим примером в этом вопросе будет разделение частей до и после <!--more-->
. Вам не нужно использовать функцию get_extended()
чтобы разделить две части, потому что в ядре есть функция для документа: get_extended()
выполняет свою работу довольно хорошо. (У меня есть еще семь драгоценных камней для вас в этом уроке , если вам интересно.) Проверка основных функций перед написанием собственных — это экономия времени и умная вещь.
Шорткоды, слайдеры и виджеты
Разработчики тем обычно запутываются в отношении территории плагина, когда вы говорите, что некоторые элементы дизайна также попадают на территорию. И они правы, чтобы запутаться: как может быть слайдер на территории плагина, когда слайдеры являются одной из наиболее важных частей современных корпоративных веб-сайтов, работающих с печеньем?
Вот как: если пользователь отказывается от вашей темы, ему также придется отказаться от слайдера (ов). Как и в примере, который я упоминал в самом начале этой статьи, это создаст разочарование. И то же самое касается шорткодов и виджетов: никто не должен отказываться от выпадающих заглавных букв, социальных виджетов в социальных сетях или каналов Twitter, когда они перестают использовать вашу тему. Все они должны быть представлены в виде плагинов, чтобы вашим пользователям не приходилось создавать новые слайды с нуля или удалять старые, нефункциональные биты шорткода из своего контента.
Пользовательские типы сообщений, таксономии и мета-боксы
В случае ползунков в игру вступают и пользовательские типы записей: в большинстве тем слайды представляют собой пользовательский тип публикации, и если этот пользовательский тип публикации теряется, когда пользователь активирует другую тему, данные будут потеряны. Конечно, случай с ползунками — еще один пример, но это очень хороший пример для пользовательских типов постов, находящихся на территории плагина.
То же самое касается пользовательских таксономий и пользовательских мета-блоков. Вы не можете нарушать содержание пользователей, если они решат отказаться от вашей темы, поэтому пользовательские таксономии должны также использоваться в качестве плагинов. Пользовательские мета-блоки немного отличаются: если содержимое мета-блока изменяет внешний вид (например, радиобоксы для изменения стиля оформления), это собственная функциональность темы; но если содержимое мета-бокса изменяет содержимое публикации (например, таблицу обзора фильмов), оно должно использоваться как плагин.
Настройки SEO и аналитика
Я не хочу тратить ваше время на повторение одних и тех же слов: вы не можете отказаться от SEO-оценок ваших пользователей, когда они переключают темы! Но опять же, никто не остановит вас, если вы будете использовать его как плагин и порекомендуете его с библиотекой активации плагинов TGM.
Особый случай по специальным темам
Около года назад я написал статью под названием « Загадочная тематика ». Позвольте мне процитировать себя:
Тема WordPress должна быть разработана, чтобы изменить внешний вид веб-сайта и избежать предложения функциональности, встроенной в его ядро. (…) Но иногда, проект требует, чтобы дизайн и функциональность работали вместе. В этом случае у нас есть исключение, а имя исключения, используемое на рынке WordPress, — «специальные темы».
«Специальная тема» — это своего рода тема WordPress, которая имеет очень специфическое назначение, например веб-сайт для краудфандинга или система управления обучением (LMS). Хотя его можно расширить с помощью хуков WordPress (действий и фильтров) или изменить с помощью дочерних тем, веб-сайты, созданные с этими темами, должны будут работать с одной и той же темой в течение всей своей жизни. Вот почему не считается «плохой практикой» для этих тем вторжение в территорию плагина.
Это, безусловно, серая область: например, ThemeForest не позволяет вторгаться на территорию плагина даже для специальных тем. Мне бы тоже хотелось услышать о том, что вы думаете, так что давайте поговорим в комментариях!
Подведение итогов на сегодня
Как люди, которые зарабатывают деньги на WordPress, мы, естественно, хотим, чтобы WordPress постоянно рос. Тем не менее, мы являемся причиной его роста, поэтому мы несем ответственность за его дальнейший рост. И вы не можете видеть рост в несовместимых средах, поэтому мы должны быть осторожны, управляя его согласованностью. Вот почему мы должны заботиться о «территории плагинов» и позволить плагинам управлять функциональностью , а темы — визуальностью .
Для тех, кто заинтересован, у нас есть множество плагинов WordPress, доступных как для покупки, использования, так и для обучения на рынке .
Я уверен, что вам есть что сказать по этой теме, поэтому не стесняйтесь делиться своими мыслями в разделе «Комментарии» ниже. И если вам понравилась статья, не забудьте поделиться ею с друзьями!