Статьи

Понятие “Территория Плагинов” в WordPress

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

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

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

Если вы пролистали подзаголовки остальной части этой статьи, у вас, вероятно, есть более четкое представление о том, что такое «территория плагина»: вы не можете изменить ядро ​​WordPress, использовать шорткоды или ползунки, создавать собственные типы записей, таксономии или мета-боксы, обеспечивающие функциональность, которая приносит пользу SEO сайта и тому подобное.

Почему? Поскольку пользователи вашей темы не смогут переключать темы без потери своих пользовательских типов записей, ползунков, шорткодов, настроек SEO и т. Д., Что вызовет разочарование, и пользователи столкнутся с двумя вариантами: отказаться от вашей темы и запустить весь сайт с нуля , или сдаться и продолжать использовать тему с принуждением .

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

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

Давайте начнем!

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

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

Прежде всего, почему вы предполагаете, что пользователи вашей темы все равно захотят отключить RSS-каналы? Во-вторых, есть много плагинов, которые могут сделать дело, то есть вы можете порекомендовать такие плагины и оставить решение за пользователями. (Вот мое руководство о том, как рекомендовать или даже требовать плагины: « Использование библиотеки активации плагинов TGM в ваших темах ».)

Другим хорошим примером в этом вопросе будет разделение частей до и после <!--more--> . Вам не нужно использовать функцию get_extended() чтобы разделить две части, потому что в ядре есть функция для документа: get_extended() выполняет свою работу довольно хорошо. (У меня есть еще семь драгоценных камней для вас в этом уроке , если вам интересно.) Проверка основных функций перед написанием собственных — это экономия времени и умная вещь.

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

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

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

То же самое касается пользовательских таксономий и пользовательских мета-блоков. Вы не можете нарушать содержание пользователей, если они решат отказаться от вашей темы, поэтому пользовательские таксономии должны также использоваться в качестве плагинов. Пользовательские мета-блоки немного отличаются: если содержимое мета-блока изменяет внешний вид (например, радиобоксы для изменения стиля оформления), это собственная функциональность темы; но если содержимое мета-бокса изменяет содержимое публикации (например, таблицу обзора фильмов), оно должно использоваться как плагин.

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

Около года назад я написал статью под названием « Загадочная тематика ». Позвольте мне процитировать себя:

Тема WordPress должна быть разработана, чтобы изменить внешний вид веб-сайта и избежать предложения функциональности, встроенной в его ядро. (…) Но иногда, проект требует, чтобы дизайн и функциональность работали вместе. В этом случае у нас есть исключение, а имя исключения, используемое на рынке WordPress, — «специальные темы».

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

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

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

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

Я уверен, что вам есть что сказать по этой теме, поэтому не стесняйтесь делиться своими мыслями в разделе «Комментарии» ниже. И если вам понравилась статья, не забудьте поделиться ею с друзьями!