• Netpeak Blog
  • об интернет-маркетинге и не только

« На главную Netpeak

TwitterCounter for @Netpeak_ua
Сергей  Маковецкий

Создание простой темы для WordPress

Сергей Маковецкий

27 Апр 2011

(5,00 из 5 на основе 4 оценок)
Loading ... Loading ...
Tweet
3 463
A
A
A

На днях я перевёл полезную статью и хочу поделиться ею со всеми. Итак, статью написал товарищ Nick La и далее повествование будет от его лица.

Эта статья поведает вам о том, как создать самую простую тему для WordPress. Хоть Codex и предоставляет обширную документацию по этому вопросу, но мне она кажется несколько сложной для новичка. Поэтому в данном «туториале» я расскажу принципы работы тем для WordPress и покажу как адаптировать под них сырой HTML-шаблон. При этом от вас не требуется знание PHP, но хорошо если вы владеете Photoshop и CSS для создания дизайна.

1. Frontend блога

До того, как мы начнём, давайте взглянем на стандартную тему WordPress и разберёмся из чего она состоит.

Отметим элементы (шапка, заголовок поста, форма поиска, навигация, подвал и т. д.).

Стандартный Frontpage (index.php)

Стандартный Single (single.php)

2. Photoshop-макеты

Основываясь на внешнем виде стандартной темы, разработайте Photoshop-макеты для вашего блога. Для примера я использую GlossyBlue — одну из моих бесплатных тем. Скачайте demo.zip, чтобы увидеть готовый файл Photoshop.

3. HTML и CSS

Когда PSD-дизайн готов, создайте HTML+CSS шаблон каждой страницы. Следуя шагам этой инструкции, вы можете использовать мои HTML файлы GlossyBlue из demo.zip. Распаковав архив, вы увидите index.html, single.html и page.html. Далее я буду использовать их для превращения в шаблон.

Зачем сперва создавать статический HTML?

Главным образом это нужно потому, что это значительно упростит процесс разработки. Обычно я создаю HTML файл для каждого шаблона, проверяю их валидность (HTML и CSS разметку) во всех браузерах. После этого остаётся лишь вырезать и вставить код WordPress. Так что можно уже не беспокоиться об ошибках в HTML или CSS.

4. Как работает тема WordPress

Если вы перейдёте к папке стандартной темы (wp-content/themes/default), то увидите много php-файлов (называемых файлами шаблонов) и один файл style.css. Для формирования страницы WordPress обычно использует несколько файлов шаблонов (index.php , header.php, sidebar.php, и footer.php).

Подробнее в Codex: «Архитектура сайта» и «Иерархия шаблонов» .

5. Дублирование файлов шаблонов

Скопируйте папку HTML из GlossyBlue в папку wp-content/themes. После этого перейдите в директорию темы default, скопируйте comments.php и searchform.php в папку glossyblue.

6. Style.css

Перейдите в папку темы default, откройте файл style.css. Скопируйте закомментированный в начале файла текст и вставьте в style.css темы GlossyBlue. Если хотите, можете изменить название и данные об авторе.

7. Разделение файлов

Теперь нам нужно понять где разделить HTML-файлы на части: header.php, sidebar.php, и footer.php.

На скриншоте ниже видно упрощённую версию моего index-файла, а также принцип его деления.

8. Header.php

Откройте index.html. Вам нужно вырезать участок от верха до места, где заканчивается <!—/header —>, вставить его в новый php-файл и сохранить как header.php.

Перейдите в папку темы default, откройте новый header.php. Скопируйте и замените теги, где этого требует php-код: <title>, <link> таблицы стилей, <h1> и <div class=description>.

Меню навигации (wp_list_pages)

Замените тэги <li> в <ul id=nav> на <?php wp_list_pages(’sort_column=menu_order&depth=1&title_li=’);?>;

Ссылка: wp_list_pages

9. Sidebar.php

Вернитесь к index.html, вырежьте код с того места, где начинается <form id=searchform> и до закрытия тега <div id=sidebar>, поместите его в новый php-файл и сохраните как sidebar.php.

  • Замените <form id=searchform> со всем содержимым на <?php include (TEMPLATEPATH . ’/searchform.php’); ?>.
  • Замените теги <li> категорий на <?php wp_list_categories(’show_count=1&title_li=’’); ?>
  • Замените теги <li> архивов на <?php wp_get_archives(’type=monthly’’); ?>

Ссылка: wp_list_categories и wp_get_archives

10. Footer.php

Вернитесь к index.html. Извлеките оттуда код от <div id=footer> включительно с тегом <div id=footer> и до конца </html> затем поместите в новый footer.php.

Недавние записи

Тут я использовал query_post для отображения 5 последних записей в блоге.

«Последние комментарии»

«Последние комментарии» сгенерированы плагином (включён в папку темы)

11. Index.php

Теперь в вашем index.html должен остаться только <div id=content>. Сохраните файл как index.php. Впишите строки: get_header, get_sidebar, и get_footer в том порядке, как они встречаются в шаблоне.

12. Разбор цикла

Цикл последовательно отображает записи блога в зависимости от ваших настроек. Скриншот ниже иллюстрирует его работу.

Изначально цикл проверяет наличие записей и если таковых не находит, то выдает сообщение «Not Found».

13. Копирование цикла

Перейдите к директории темы default, откройте index.php. Скопируйте цикл из стандартного index.php в свой — между <div id=content>..</div>. После этого замените статический текст тегами шаблона WordPress: post date, title, category, comments, next и previous link.

14. Предпросмотр темы

Поздравляю! Вы создали публичную часть (основную часть шаблона). Теперь зайдите в административную панель, перейдите к закладке Design, вы должны увидеть тему GlossyBlue. Активируйте её и перейдите к публичной части, чтобы посмотреть результат в действии.

15. Single.php

Пришло время создать шаблон single.php. Если хотите, можете повторить шаги, перенося код из стандартной темы. Но мне кажется более простым использовать только что созданный index.php, сохранив его как single.php. Откройте single.php из стандартной темы и скопируйте теги шаблона в нужные места. Далее подключите comments_template. На следующем скриншоте отображены внесенные мною изменения:

16. Page.php

Теперь новый single.php сохраните с названием page.php. Уберите дату записи, форму комментариев, ссылки следующий/предыдущий. Вот, собственно, и всё — ваш шаблон page.php готов.

17. Удаление файлов HTML

Удалите все файлы HTML из папки glossyblue (они нам больше не понадобятся).

Технически этого достаточно для создания базовой темы WordPress. Вы, наверное, заметили, что в стандартной теме больше PHP-файлов. Что же, на самом деле, они вам не так уж необходимы, если требуется простая тема. Например, если search.php или 404.php не будет в папке темы, WordPress автоматически использует index.php для отображения страницы. Читайте Template Hierarchy для более подробного рассмотрения.

18. Шаблон страницы WordPress

А теперь последний пример — я покажу вам как использовать Page Template для создания страницы Архива, которая будет содержать список всех записей на вашем блоге (удобно для карты сайта).

Скопируйте archives.php из папки стандартной темы. Удалите ненужный код и получите что-то вроде этого:

Тут я использовал query_post (showposts=-1 означает «отобразить все записи») для перечисления всех записей.

Теперь зайдите в панель администратора, создайте новую страницу и назовите её Archives. В выпадающем списке шаблонов выберите Archives.

Дополнительная литература:

Просмотрите список Плагины WordPress, возможно, они покажутся вам полезными. Для более углублённого изучения читайте WordPress Theme Hacks.

Похожие записи

  • История о чемодане с колесиками
  • Интервью с Анатолием Вассерманом про интернет, революции, поисковые системы и многое другое
  • Длинные заголовки AdWords
Tweet
Опубликовано в Учимся
8P
  • http://twitter.com/po4emu4man Andrey Bondar

    Отлично! Спасибо!

  • http://twitter.com/evgenpolischuk Евгений Полищук

    Хороший материал!

  • http://twitter.com/name_k name-k

    Пост очень кстати, обязательно попробую. Спасибо чувак!

  • http://www.facebook.com/people/Валерий-Пилюк/100001860960905 Валерий Пилюк

    круть, всё пошагово и понятно)

  • Noname

    Укажите ссылку на оригинальный пост, я предпологаю что это перевод, так как на картинке http://netpeak.ua/blog/wp-content/uploads/maybe01_recent-comments.gif подпись кода на анг.языке.

  • Noname

     Извиняюсь, не заметил первый обзац :(

blog comments powered by Disqus

Netpeak рекомендует

2leep.com
Подписаться на RSS
Подписка на рассылку
Будь с нами
Комментарии Теги Рубрики
  • Viktor ;) » Когда и что публиковать брендам в Facebook
  • vipseoblog.ru » Алгоритм Google Penguin, 2 недели феерии, способы избавления от фильтра и черное SEO
  • Artem Chek » Экcплуатация Doodle
  • Паутиныч » Алгоритм Google Penguin, 2 недели феерии, способы избавления от фильтра и черное SEO
  • rededis » Алгоритм Google Penguin, 2 недели феерии, способы избавления от фильтра и черное SEO
  • Margarita » Wolfram|Alpha или Вычислительная Теория Всего
  • Максименюк Александр » Определение лучшего времени для рассылки
  • Eugene Obrazok » Определение лучшего времени для рассылки
  • » Алгоритм Google Penguin, 2 недели феерии, способы избавления от фильтра и черное SEO
  • HoLoD » Алгоритм Google Penguin, 2 недели феерии, способы избавления от фильтра и черное SEO
Интересное Контекстная реклама Конференция Работа Советы Спам Юмор Яндекс блог видео вирусы вконтакте гугл день рождения дизайн интернет-маркетинг контекст креатив маркетинг новичкам новый год одесса офис поиск праздник пятница работа раскрутка реклама совет социальные сети статистика статьи твиттер фейсбук юзабилити digital facebook Google netpeak SEO smm SMM twitter youtube
  • Google
  • Research
  • SEO
  • SEO-среда
  • SMM
  • Благодарности
  • Интересное
    • Интервью
    • Инфографика
    • Репортаж
    • Рецензии
  • Контекстная реклама
  • Копирайтинг
  • Маркетинг
  • Мероприятия
  • Наши проекты
  • Новости
  • Правила
  • Работа
  • Учимся
  • Юмор
  • Яндекс

Золотые посты

  • Азы типографики: нескучно о шрифтах
  • Внезапно про бывшего мэра Боготы и его замечательные идеи
  • О тех, кто редактирует в свободное время википедию
  • Интервью про digital с преподавателем Британки — Дмитрием Карповым
  • Интервью с Сергеем Петренко — генеральным директором Яндекс.Украина

Twitter

  •  

Услуги

  • SEO аудит сайта
  • SEO оптимизация
  • Продвижение в социальных сетях
© Блог студии Netpeak
Save to foursquare
О нас Работа в Netpeak Партнеры Клиенты Услуги Информационное спонсорство
Раскрутка сайта и контекстная реклама с 2006 года.
Главная ›
Блог ›
Учимся ›
Создание простой темы для WordPress