Настройка шаблона WordPress (структура php)

Wordpress

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

Думаю раз вы дошли до этой ступени, то уже имеете представление о WordPress, и сможете разобраться с кнопками, на которых все написано по русски 🙂 Мы же пойдем на чуть более продвинутый уровень настройки шаблона wordpress.

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

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

Каким образом происходит настройка шаблона WordPress?

Как мы помним на статических сайтах для настройки внешнего вида нам достаточно открыть  нужную страницу, скажем index.html и привязанные к ней css-файлы в текстовом  редакторе(или html редакторе) , и просто внести необходимые изменения в коде страницы.

Но в CMS WordPress страницы нашего сайта динамические, т.е. они генерируются  сервером при помощи PHP-программы, непосредственно после запроса пользователя из браузера.  Другими словами мы не можем просто взять и изменить готовую страничку, т.к. готовой странички нет 🙂

Но у такой динамической страницы есть своя структура, зная которую можно вносить изменения в ее настройки. Я не знаток php и целенаправленно его не изучал, но для общей настройки шаблона для WordPress глубоких знаний и не нужно, достаточно будет немножко вникнуть в тему, так что сильно не пугайтесь)

Из чего состоит тема оформления для WordPress?

Главным образом из php-файлов, css-файлов, изображений и скриптов, используемых в теме. Все эти файлы находятся в папке  \wp-content\themes\название_вашей_темы\

Список php-файлов а так же основной css стиль темы можно так же увидеть перейдя в админ. панель на вкладку Дизайн — Редактор, там же можно и редактировать их. Однако для серьезных изменений советую использовать Notepad++ он заметно облегчает работу с кодом. При сохранении не забывайте ставить кодировку файла utf_8

настройка темы WordPress

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

 настройка темы WordPress

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

Шапка сайта.


За шапку в стандартизированных темах отвечает файл header.php В состав шапки обычно входят такие элементы как Меню, Название сайта, логотипы, баннеры, может входить навигация, поиск, слайдшоу и т.д. Все зависит от конкретного шаблона. Так же там прописываются доктайпы, меты и прочие значения тэга <head> html странички.

Основной контент

Далее идет центральная часть сайта в котором и содержится основной контент. В него входит приличный список php-файлов, в моем случае это:

  • 404.php который отвечает за вывод страницы с ошибкой 404.
  • archive.php который отвечает за страницы с архивами такими как рубрики, метки, календарь и т.д.
  • index.php — главная страница сайта
  • page.php отвечает за вывод страницы «Страницы» пардон за каламбур) ее вы видите если кликаете  у меня вверху на  «Об авторе», «Карта сайта» «Гостевая» и т.д.
  • single.php отвечает за вывод конкретной записи, наподобие той, которую вы читаете в данный момент 🙂
  •  comments.php  нетрудно догадаться отвечает за блок с комментариями
  • recent-comments.php недавние комментарии
  • и т.д.

Далее у каждой темы могут быть свои индивидуальный настройки и php файлы но думаю вы поняли смысл.

Боковая колонка (sidebar)

За вывод боковой колонки нашего блога отвечает sidebar.php . В некоторых темах их может быть несколько, у меня одна. Сайдбар это важная часть сайта, в нее как правило помещают виджеты, баннеры, навигацию, и прочую полезную информацию которая должна быть у посетителя всегда на виду, вне зависимости на какой бы он странице не открыл ваш сайт.  В моей теме так же на боковой панели находится поиск.search.php и searchform.php отвечают за поиск и все что с ним связано.

Подвал сайта (footer)

 footer.php отвечает за вывод нижней части сайта — подвала. Там обычно находятся копирайты, информация о создателях и дизайнерах, счетчики, и т.д. иногда туда помещают какой-то функционал сайта, который не стали помещать в верхние части сайта, что бы он не отвлекал внимания посетителя.

Особняком стоит functions.php в нем перечислены различные функции вашего сайта, в том числе и доступные только администратору.

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

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

Кстати о поисках нужного элемента — рекомендую использовать браузер Mozilla Firefox  с установленным на него плагином Firebug.

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

Тема довольно сложная для новичка, поэтому если есть какие-то вопросы или что-то осталось непонятным, то не стесняйтесь,задавайте вопросы в комментариях.

Комментариев: 35

  • Не firebug’ом едины, во всех современных браузерах есть средства разработки, которые сильно похожи друг на друга. хотя если прокачать firebug то все изменения css могут сразу вноситься в исходные файлы, не забудь рассказать об этом в следующей статье 🙂 для тех кто уже немного ориентируется в CSS не лишним будет ознакомиться с правилами хорошего кода — http://belyan.in/2013/01/sovety-po-uluchsheniyu-css-koda/

    • я советую то, чем пользуюсь =) Хотя для справедливости наверное и правда стоит сказать, что и в Хроме и в Опере есть аналогичные инструменты.
      Однако в Опере мне не понравился, Хромовским не пользовался, как то привык уже к фаербагу) про изменения ты имеешь ввиду cssUpdater?

  • Всем привет!
    Сергей, спасибо за ваш труд на сайте! все толково и понятно.
    У меня вопрос: в моем проекте , в форме подачи объявления нужно поменять местами два блока ( категории и теги) , а один блок ( введите адрес своего сайта) удалить. Я чет не могу найти нужный файл для изменения. подсажите в каком направлении искать. Просмотр кода не показывает адрес папки php. Спасибо

  • Здравствуйте, Сергей. Я новичок, потому мне не понятно, а для чего нужен плагин Firebug? И будет ли он на Мозиле, который закачаю в планшет с ОС Андроид? Спасибо.

    • Здравствуйте Лилия. Можно и без фаербага конечно, если вы спец по CSS и способны лишь взглянув на код понять как это будет выглядеть визуально)
      Насчет андроида не знаю, но думаю что должно все работать.

  • У огнелиса в последних версиях появился отличный аналого Файрбага, в меню по правой кнопке появляется Исследовать элемент. Там даже 3Д модель сайта позывают.

    • Приветствую. Лилия не совсем понял вопрос, оформление вы можете поменять где угодно по сути, все зависит от вашего желания, умения и вкусов =)
      Если вы хотите всерьез заняться CSS то советую сначала изучить это дело хорошенько, что бы понимать что и как.
      Тут хороший самоучитель и шпаргалки по CSS http://htmlbook.ru/samcss
      А тут бесплатный и подробный видеокурс по CSS http://1popov.ru/bonuscourse/cssform/

      Если же вы про сам php код, то тут дело куда сложнее, и менять там без хороших знаний или четких инструкций ничего не стоит =)

  • Да, я не совсем понятно написала, прошу прошения. В смысле поменять местами виджеты, если не нужное, то убрать, поменять цвета и фон в оформлении. В программировании я ничего не мыслю ))).

  • А как изменить кнопку «read mor» на читать дальше например… поставил англ шаблон, не могу найти где это поменять. И так само в поле поиска написан англ текст, в виджетах не меняет….

  • Подскажите пожалуйста установил вордпресс, скачал тему woobizness, установил плагин ecommerce, захожу на главную страницу сайта и ничего нет, я полагаю по идее должно отображаться то что на демке темы или я ошибаюсь? И ещё без правки самого кода чтото создать нереально?

    • Алекс обычно что бы сделать шаблон как в демке нужно подгрузить спец. настройки и файлы. Почитайте мануал который к шаблону должен прилагаться, там инструкции подробные пишут

  • Добрый день, Сергей!
    А как добраться до HTML кода wordpress страницы или записи? Когда смотришь через исходный код, страница видна в HTML, а когда через админ панель открываешь эту же страницу, например «header.php», то там соответственно всё в PHP формате… А как добраться до HTML? Ведь в исходном коде берутся же откуда-то эти все HTML строки… все таки транслируется там какой-то файл, но это точно не «header.php»… Что подскажите?

    • Весь html код страниц на вордпрессе генерируется из php файлов, которые описаные в статье. Он собирается по кусочками из этих файлов обработчиком и выдается пользователю конечный вариант. В готовом виде html кода в вордпрессе нет.

      Записи из single.php зачастую берутся, страницы из page.php, но могут быть отличия в зависимости от шаблона.

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

        • Зависит от шаблона и способа вывода этих данных. Вообще частенько в настройках самого шаблона бывает возможность отключить вывод даты, автора, рубрики и т.д. посмотрите в админке.
          Если же нет, то нужно править в php файле, искать строки с кодом вывода этих данных и удалять либо закомментировать. Если вы не разбираетесь в php то туда лучше не лезть.
          Как вариант их можно еще скрыть в CSS стилях, но это не лучшее решение.

  • Сергей, если я удалю весь код шапки (она мне не нужна), пропадут ли у меня с сайта ключевые слова из мета тегов? Просто попробовал сделать без шапки, а анализаторы сайтов говорят что нет ключевых слов на сайте. В сео оптимизаторе вордпресса все слова прописаны. Надеюсь вы поняли что я хочу спросить.

    • Смотря что вы будете удалять. Вы вообще весь код в файле header.php удаляете? Если вы хотите убрать шапку на сайте вам нужно удалить или закомментировать только блоки, которые выводят эту шапку, а все остальное не трогать.

      Если вы не трогали секцию head то метатеги не должны никак пропасть

Добавить комментарий