Статьи

DIY WordPress Theme Framework Часть 1: Определение ваших потребностей

Одной из лучших вещей в моем образовании в Университете Скрантона был повторяющийся урок, который мы узнали о повторном использовании . Повторное использование невероятно важно в программировании по многим причинам: более простое тестирование, экономия времени, возможность сосредоточиться на более сложных вещах и т. Д. После того, как я закончил и вошел в удивительный мир фриланса на полный рабочий день, я решил, буду ли я продолжать заниматься Работа в WordPress, мне нужно применить эти уроки повторного использования в моей повседневной жизни. Номер один в моем списке — это простая тема WordPress.

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


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

«Тестирование обеспечит работу вашего кода перед его реализацией 5, 10 или 20 раз».

  • Дизайн вашего кода: я знаю, что когда речь идет о WordPress, дизайн обычно подразумевает внешний интерфейс, но не менее важно разрабатывать код. Расскажите, какими будут ваши функции, классы и страницы, прежде чем вы начнете их кодировать.
  • Обобщать, когда это возможно. Возможно, самый важный принцип — это распознавать, когда вы повторно используете фрагменты кода, и обобщать их в функции. Это значительно упростит управление и обновление вашего кода.
  • Тщательно документируйте и тестируйте: это то, что вы должны делать со всем кодом, но особенно с кодом, который вы планируете часто использовать повторно. Документирование поможет вам вспомнить, что вы думали через 6 месяцев или год. Тестирование обеспечит работоспособность вашего кода перед его реализацией 5, 10 или 20 раз.

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

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

«Нам нужно определить, чего мы хотим добиться от нашей структуры»

После этого я должен был определить свои потребности: что я делаю снова и снова, и что я могу обобщить. Мой список требований был таким:

  • Подключаемый CSS : Есть несколько частей моего CSS, которые редко меняются. Это включает в себя определения классов WordPress, мой сброс CSS, некоторые общие классы, которые я использую (.hide, .left, .right, .clear и т. Д.), И (обычно) мои исправления IE. Если бы я мог абстрагироваться от всего этого, все, что мне нужно было бы сделать, это создать дамп в специфичном для сайта CSS-файле (называемом master.css после простой CSS-структуры Дана Седерхольма), и я знаю, что все остальное будет работать правильно.
  • Константы для URL-адреса темы и путей к изображениям : это две переменные, которые мне нужны для каждой темы. Если бы я мог легко определить их где-нибудь, мне не пришлось бы беспокоиться о замене URL-адресов для каждого сайта, который я создаю.
  • Общая функциональность WordPress: это меню, определения боковых панелей и все, что я мог придумать, что я буду набирать снова и снова.
  • Общие шаблоны страниц: страницы общих тем (верхний, нижний и нижний колонтитулы), на которых достаточно страниц, чтобы сделать их полезными, но не настолько, чтобы мне приходилось менять тему каждый раз, когда я разрабатывал новую тему.
  • Общие папки: у меня всегда есть папка с изображениями, папка css и папка css / img. Я должен был включить это тоже.
  • Легкий вес: он должен быть легким. Я не хочу просеивать страницы и страницы кода, чтобы найти то, что я хочу. Хотя я считаю, что WordPress сам по себе является сложной структурой; зачем строить второй сложный фреймворк сверху?

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


Самое замечательное в программном обеспечении с открытым исходным кодом заключается в том, что если вам что-то нужно, это, вероятно, уже сделано. То же самое относится и к Frameworks. Существуют десятки фреймворков, поэтому, прежде чем приступить к разработке собственной, определенно стоило бы проверить, что там уже есть. Цель — сэкономить время, верно? Нет лучшего способа сэкономить время, чем вообще не развивать!


Thematic by ThemeShaper — очень популярный фреймворк

Чтобы помочь вам, я составил короткий список фреймворков, на которые я хотя бы посмотрел (хотя большинство из них я на самом деле использовал):

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

Для меня я чувствовал, что те, которые я пробовал, были слишком сложными и не легкими. Они отлично подходят для людей, которым нужна тема быстро, но что касается настройки, мне пришлось изучить совершенно новую систему для создания тем. Как я уже говорил ранее: я уже знаю сложную инфраструктуру / API WordPress. Я должен был бы заменить это знание структурой / API другой темы. Я решил создать свои собственные, которые будут по-прежнему использовать функции WordPress, а не заменять их.


Я уверен, что в начале этой статьи вы могли догадаться, что неизбежным выводом будет то, что мы создаем нашу собственную структуру. У нас есть наши принципы и требования, и мы провели наше исследование. Мы готовы построить каркас, который мы сделаем в следующий раз!

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

На следующей сессии этой серии мы будем применять эти принципы в первый день работы над нашей новой структурой!