Тема для начинающих против темы для родителей? Плюсы и минусы

10

Я создаю тему, которая будет служить примером для других веб-сайтов компании, в которой я работаю. В другом проекте мы использовали Hybrid Parent Theme, и его было действительно легко построить, но ДЕЙСТВИТЕЛЬНО сложно поддерживать сайт.

Я предпочитаю подход Starter Theme, когда другой разработчик копирует тему и создает из нее. Parent-> Child дает слишком много свободы для разработчика, чтобы испортить код. Например, я не знал, было ли что-то вызвано на ребенка или на родителя.

Я хотел бы услышать от вас:

  • Когда родительская тема лучше?
  • Когда тема для начинающих лучше?
  • Каковы плюсы и минусы для каждого из них?

Спасибо.

romulodl
источник
2
Близкий голос не является конструктивным : «Мы ожидаем, что ответы будут подкреплены фактами, ссылками или конкретными знаниями, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение».
Чип Беннетт
4
Вопрос будет просить факты. Может быть, часть мнения должна быть удалена ... Смотрите также Хороший субъективный, плохой субъективный .
fuxia
Я мог бы просто отредактировать свой первый вопрос или удалить его
romulodl
2
@romulodl - просто отредактируйте вопрос и удалите «мнение» - думаю, удалять не нужно
anu

Ответы:

11

Я полностью согласен с Rarst . Я просто хочу добавить несколько небольших вещей.

Примечание: я различаю родительскую тему и рамки. В своем ответе я рассматриваю родительскую тему, такую ​​как TwentyEleven, где она в основном создана для конкретного веб-сайта и требует меньше хуков, чем фреймворк.

Начальная тема:

Pros

  • Легко настроить на уровне HTML. Я имею в виду что-то вроде открытого <div>, пользовательского класса CSS для определенного элемента. Это хороший способ создать очень минимальную тему для личного блога, где вам не нужно много вещей, которые предоставляет родительская тема (или, по крайней мере, если вы используете родительскую тему / фреймворк, вам нужно подключиться, чтобы удалить их). Вы также можете отобразить специальную часть HTML, например iframe, ссылку на другой веб-сайт или просто текст приветствия, гораздо проще, чем использование родительской темы.
  • Не нужно дублировать файл шаблона из родительской темы, просто чтобы изменить мелочи.
  • Не нужно изучать что-то новое, например карту хуков, собственный синтаксис, пользовательские функции и т. Д. Разработчики любят это, но не все пользователи.

Cons

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

Родительская тема:

Pros

  • Имеет законченный дизайн, который можно легко настроить, изменив маленькие линии, style.cssнапример, изменив цвет, размер шрифта и т. Д.
  • Является законченной темой, то есть вы можете использовать ее сразу, не беспокоясь о чем-то вроде шаблона комментария, шаблона одной страницы и т. Д.
  • Кто-то построил это для вас!

Cons

  • Родительская тема должна рассматриваться как хорошая, если она в основном соответствует вашим требованиям, поэтому вы можете настроить ее как можно меньше. В противном случае это кошмар
  • Возможность настройки не слишком высока. Я не имею в виду систему хуков, которую вы можете увидеть в фреймворках здесь (см. Фреймворки ниже). Если вы хотите сильно настроить его, вам нужно переписать большинство файлов шаблонов - это означает, что вы воссоздаете тему, а не использование родительской темы.

Фреймворк:

Pros

  • Все доступно: фреймворк часто делается как комплексное решение, поэтому он обладает отличной способностью создавать веб-сайты любого типа. Вам нужен собственный логотип? Выбор цвета? перетаскивания? макет темы? ... у вас уже есть их в руке.
  • Создайте сайт быстрее, если вы с ним знакомы
  • Имеет полную систему подключений, которая позволяет пользователям подключаться во многих местах для изменения многих вещей, которые предоставляет инфраструктура
  • Высокий уровень настройки: не только в системе ловушек, но и во многих средах, таких как Catalyst и Headway, вы можете настраивать практически все элементы прямо в админке, не касаясь CSS или ловушек.

Cons

  • Пользователь должен изучить структуру (подключить систему, ознакомиться с ее функциями, настройками, даже новой терминологией), чтобы использовать ее эффективно. Я считаю это самым большим недостатком фреймворка, потому что в WP уже есть чему поучиться, и не все пользователи хотят учиться чему-то новому, просто чтобы лучше использовать WP. Это то, что любят разработчики, но не все пользователи. Пользователи - это люди, которые просто используют , а не учатся и настраивают.
  • Избыточный код: некоторые части каркасов совпадают с функциями WP, что вызывает дублирование. Примером может быть genesis_meta()(не нужен как у нас wp_head).
  • Производительность: потому что у фреймворков есть все необходимое => он должен загрузить все необходимые файлы для admin / frontend, которые вы можете вообще не использовать. Для этого я предпочитаю, как Hybrid Core загружает свои файлы (используя require_if_theme_supportsфункцию)
  • Внешний вид по умолчанию часто минимален и плох. Нам нужно много работать, чтобы сделать дизайн. Процесс аналогичен, если вы используете начальную тему, но вы используете хуки вместо пользовательских шаблонов, как в начальных темах.
  • Фреймворк имеет свою собственную философию, которая ведет к различным способам создания фреймворков => приводит ко многим фреймворкам => мы не знаем, какой из них лучше для нас (особенно когда они премиум-класса). Это не слишком хорошо, потому что, как я сказал выше, фреймворк полезен для разработчиков, и разработчикам нужно глубоко изучить код, чтобы понять, насколько он хорош! Если рамки премиум-класса, то эта дверь просматривается!

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

Ань Чан
источник
Действительно полный ответ! Спасибо! Это определенно разрешит сомнение любого, что, возможно, в будущем возникнет тот же вопрос!
Ромулодл
9

Баланс рабочего процесса темы - это сочетание нескольких факторов:

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

Каждый из них может быть важным, и каждый из них может быть неважным.

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

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

Более новая тенденция заключается в разделении фреймворков на плагиноподобные компоненты, а не на то, чтобы они полностью выполняли родительскую тему. Если вы знакомы с Hybrid в качестве родительской темы, посмотрите Hybrid Core. Этот подход, по сути, является улучшением по сравнению с родительским / дочерним процессами, поскольку последующие обновления упрощаются благодаря ограничению рамок, а не всей темы.

В двух словах (здесь немного субъективно):

  • стартер подходит для отдельных сайтов
  • родитель / ребенок подходит для нескольких сайтов без особых настроек
  • Framework / parent / child может адаптироваться ко всему и вся, но также более вовлечен в разработку
Rarst
источник
Я думаю, вы хорошо это объяснили. Для блогов родительская / дочерняя модель темы работает отлично. Для создания CMS или приложения это может стать проблематичным довольно быстро.
Рэй Гулик
4

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

ана
источник