рабочий процесс проектирования и разработки
Мы разрабатываем набор веб-сайтов, сложных, имеющих много общего, и компания решила использовать WP в качестве базовой CMS.
Как и на каждом сайте, существует процесс проектирования, за которым следует HTML, а затем интеграция разработки/CMS. Однако мне интересно, как это будет работать с WP?
Разрабатывают ли компании все шаблоны, затем HTML, а затем разработку тем и CMS, или они заканчивают разработку CMS (в данном случае это слой пользовательских плагинов расширение WP), а затем создавать отдельные темы, которые работают над этим?
Поскольку время имеет решающее значение и задействовано много людей, что повышает стоимость, я хотел бы повысить эффективность команды и заставить команды разработчиков и разработчиков работать параллельно.
Приветствуется любая идея о том, какой должна быть последовательность.
Кстати, у нас есть общие функции среди сайтов, а затем у нас есть специфические для сайта функции, которые вы можете рассматривать как специфические для темы функции
4 answers
Если вас устраивает система управления версиями, такая как git
- один из подходов, который я успешно использовал, заключается в создании темы "наименьший общий знаменатель" со всеми стандартными функциями, разделяемыми между сайтами, и неописуемым стилем (черно-белый, стандартный сброс и стили типографии и т. Д.).
Затем, чтобы создать новый сайт, отделитесь от главной ветви и выполните CSS для конкретного сайта и т. Д., Чтобы создать дизайн для отдельного сайта (плюс дополнительный шаблон/PHP-код, если необходимо добавить функциональность). Если у вас есть надежная основная тема, вам следует, что для создания нового сайта потребуется намного меньше работы, чем если бы вам пришлось начинать с нуля. Кроме того, если дизайнеры создают PSD, хороший интерфейсный программист должен быть в состоянии довольно легко закодировать дизайн из PSD поверх вашей основной темы.
Кроме того, если вы обнаружите что-то вроде ошибки безопасности или что-то сломается в новой версии Wordpress, вы можете внести изменения в мастер и выбрать изменения на отдельные развернутые сайты.
Конечно, это только один способ сделать это, и если ваши сайты сильно отличаются, вы можете захотеть начать новые темы с нуля... Надеюсь, это поможет.
Личные рекомендации
Самое главное: не пытайтесь все делать самостоятельно. В большинстве случаев это дешевле и лучше
- пожертвовать на плагины с открытым исходным кодом.
- чтобы удалить свой собственный код и заменить его какой-нибудь библиотекой с открытым исходным кодом и начать вносить в нее свой вклад (у некоторых есть репозитории на GitHub) - я удалил свой собственный набор библиотеки классов meta box и теперь работаю над библиотекой классов Meta Box Rilwis.
Темы, плагины и части
У меня есть базовый фреймворк/библиотека/каркас, который служит родительской темой. Затем я добавляю дочернюю тему, которая выполняет начальную загрузку и загружается из родительской темы, что необходимо. Таким образом, я могу обновлять свои изменения непосредственно из основного репозитория и разделять материалы, относящиеся к проекту, в дочерней теме.
Плагины
Большие части и те, которые нужно перехватить довольно рано, хранятся в плагине. Не имеет значения, использую ли я functions.php включите модули, части шаблонов или плагины. Единственная разница это доступ к крючкам. И здесь лучше всего работают плагины, mu-плагины и дропины. Моя личная рекомендация - хранить функциональные материалы в плагинах
Темы
Темы ИМХО больше представление часть истории. Поэтому я стараюсь оставаться умным и сохранять их как "микро", насколько это возможно, для повторного использования. В моем случае они содержат только стандартную разметку и отображаются из частей моей пользовательской библиотеки. Таким образом, наценка получает только новые классы из некоторой структуры css и функции, которые воспроизводят эхо, - это просто вызывающие определения. Таким образом, вы можете создать быстрый прототип в смысле этого слова: Быстрый. Если ваши пользовательские плагины или части темы достаточно умны, чтобы по умолчанию отображать фиктивный контент, вы можете легко создавать эскизы, с которыми могут работать ваши дизайнеры.
Пример того, о чем я говорю, - это функция изображения по умолчанию, которую вы можете взять, взглянув на этот билет trac в патче, который я предоставил.
Комментируя билет высоко ценится и, возможно, перенесет его в следующую версию!
SEO
Этот, как и некоторые другие более крупные детали, лучше держать на стороне специалистов. Просто выберите одно из значений по умолчанию, например wpSEO от Сергея Мюллера или от Yoast.
Обычно, когда я начинаю тему с нуля, я начинаю с дизайна, затем с HTML, а затем с интеграции WP. Это определенно самый простой способ выполнить работу с темами, но я думаю, что плагины разные.
Когда я запускаю плагин, я обычно собираю всю функциональность в один большой PHP-файл и разбиваю его по ходу работы, создавая его по частям.
В то время как плагины и код тем почти идентичны и могут (по большей части) иметь одинаковый объем функциональности, это действительно зависит от того, хотите ли вы плагины, которые вы можете копировать и размещать на каждом сайте, добавляя определенные функции для каждого сайта/темы по отдельности, или тему, которую вы могли бы по существу скопировать и изменить с помощью функций, специфичных для сайта, при условии, что у этой темы есть хороший каркас для редактирования дизайна для каждой темы.
Обычно вы можете извлечь код из плагина, поместить его в файл вашей темы functions.php
(за исключением изменения некоторых путей к файлам), и он будет работать так же.
Я надеюсь, что это помогает направить вас в правильном направлении.
Изменить:
Кроме того, в WordPress также есть функция мультисайта, которую вы можете включить и использовать одни и те же плагины во всей сети сайтов, устанавливая отдельные (или даже одинаковые) темы для каждого сайта. Документация по этому вопросу находится здесь.
Отличный вопрос! Вот мой предлагаемый рабочий процесс:
Во-первых, используйте Мультисайт WordPress, так как это сэкономит вам массу времени, денег, энергии, ресурсов. Используйте плагин сопоставления доменов , если вам нужно, чтобы у каждого сайта был уникальный домен.
Разработайте одну родительскую тему и внесите свои изменения, используя Дочерние темы . Таким образом, у вас есть основной набор файлов, которые вы добавляете, и вы не повторяете свои усилия с каждым новым сайтом. Если вам нужна хорошая тема, чтобы получить начав с того, что я был родителем, Automattic создал инструмент под названием Toolbox.
Научитесь мастерски писать свои собственные плагины, а затем с помощью Multisite вы можете автоматически включать их на всех сайтах или выбирать их по своему усмотрению. Это отличный рабочий процесс. Я занимаюсь этим уже несколько лет, и это потрясающий рабочий процесс, который обеспечивает непревзойденное управление системой, сухость (не повторяйтесь), безопасность и гибкость.
Если у вас есть какие-либо более конкретные вопросы о рабочий процесс, т.е. процедуры развертывания, не стесняйтесь спрашивать!
Приветствия~