Как создать свой шаблон страницы wordpress. Шаблоны страниц в WordPress. Вывод элементов на определенных страницах

Чаще всего страницы в WordPress выглядят одинаково, но иногда возникает необходимость изменить внешний вид и структуру определенной страницы или группы страниц. Это легко сделать с помощью шаблонов страниц в WordPress.

Что такое шаблоны страниц

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

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

Шаблоны страниц можно использовать более чем для одной страницы, а некоторые темы создают вполне специфические шаблоны, предназначенные для использования всего один раз. Как например шаблон избранного содержимого в стандартной теме Twenty Eleven:

Этот шаблон отображает прилепленные записи с их миниатюрами в небольшом слайдере. Страницу с таким шаблоном можно легко использовать вместо главной страницы сайта, изменив настройки в разделе Параметры → Чтение.

Как создать собственный шаблон страницы

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

Когда не следует использовать шаблоны страниц

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

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

/* Спрятать боковую колонку на странице 123 */ body.page-id-123 #secondary { display: none; }

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

Если у вас возникли вопросы по работе с шаблонами страниц в WordPress, мы будем рады ответить на них в комментариях.

Те, кто пробовал хоть раз создавать темы или ковыряться в их коде, знают, что за стиль всех страниц сайта отвечает шаблон «page.php ». Зачастую в этом файле выводятся блоки, которые одинаковые и на записях, и в архивах и т.д. WordPress дает возможность создавать свои собственные шаблоны страниц . А это, в свою очередь, означает, что можно выйти за рамки стандартного дизайна. Объясняю. Например, в своем созданном шаблоне страниц можно убрать сайтбар или поменять месторасположение блоков, сделать другую шапку или поменять абсолютно весь дизайн. Также благодаря созданию собственных шаблонов есть возможность создать одностраничники (лендингпейдж).

Итак, с помощью личного шаблона страниц можно:
- убрать или добавить сайдбар, подвал, шапку;
- изменить дизайн шапки, подвала, сайдбара;
- создать страницу регистрации или формы связи, встроенную в дизайн;
- внедрить какой-нибудь скрипт (JavaScript, php и другие);
- оригинально оформить страницы

Как создать свой шаблон страницы на WordPress

Способ№1

○ Создание своего шаблона

Чтобы создать свой шаблон страницы на WordPress, сделайте вот такие действия:
- откройте ваш блог/сайт через FTP. Для этого воспользуйтесь такими программами, как или

Откройте файлы темы (wp-content/themes/Ваша-тема/ )

Скачайте файл «page.php » и откройте его с помощью , а потом вставьте в самое начало файла вот такой код:

Естественно, название «новая страница для сайт » меняете на свое
Этим кодом мы сообщили WordPress о создании индивидуального шаблона под именем «новая страница для сайт ».

Для примера, чтобы вы увидели разницу, удалите сайтбар. Для этого в коде найдите и удалите вот такое:

А сам файл сохраните как «page-no-sidebars.php ».
Залейте новый созданный файл «page-no-sidebars.php » через FTP ко всем файлам темы.

○ Подключение нового шаблона к странице

В админке WordPress на любой уже созданной странице (или на той, которую вы создадите) с правой стороны найдите пункт «Шаблон ». Вот в этом пункте выберите ваше название нового шаблона страницы (в моем случае это «новая страница для сайт »):

Сохраняйте и смотрите результат.

Способ №2

Способ №2 отличается от Способа №1 тем, что следует называть файл конкретным названием:

Page-{слаг-страницы}.php

Например: page-contact.php

Page-{ID-страницы}.php

Например: page-12.php

Объясняю.

При создании страницы автоматически ей присваивается url-адрес. Его можно изменить так, как вам удобно, рекомендую использовать плагин rustolat ():

Значит, если УРЛ страницы у меня «proba », тогда файл, который мне нужно создать для этой страницы будет вот таким:

page-proba .php

Если УРЛ страницы была бы «contact », тогда файл для этой страницы был бы вот таким:

page-contact .php

Файл заливаете через FTP ко всем файлам темы. Проверяйте, все должно работать.

Недостаток Способа №2 в том, что файл создается только для одной страницы, все остальные будут стандартными.

Это все! Теперь вы сможете создать для любой страницы уникальный дизайн.

Иногда возникает необходимость в создании новой страницы сайта с новыми возможностями. Например, для создания сервиса проверки тИЦ и PR сайтов, установка и работа которого были описаны в статье « ». Возможности стандартных страниц WordPress не безграничны, и исполнение скриптов на них не предусмотрено, поэтому и придумали умные программисты такой ход – создать новый шаблон страницы, который будет «резиновым», то есть – будет иметь возможность для наполнения его любым функционалом.

Создание нового шаблона темы – не Бог весть какая задача, но для тех, кто с этим сталкивается впервые, этот процесс может представлять определенные трудности. Итак, с чего начинать? Все по-порядку – все файла вашей темы лежат в директории wp-content/themes/тема сайта/. Все процедуры можно производить через админпанель и редактор текста, например, тот же Блокнот или Notepad+. Выберите для создания нового шаблона страницы файл page.php – это пример вашей стандартной страницы темы.

В текстовом редакторе создайте новый файл, который и будет новым шаблоном страницы – к примеру, nov.php, и скопируйте в него все содержимое файла темы page.php – это будет скелет новой страницы. Потом мы его сможем наполнить так, как нам захочется.

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

Имя необязательно писать с большой буквы. Потом, если вы решите, что некоторые элементы страницы вам не нужны (например — строчки , , ), их можно будет убрать. Но это уже относится к формированию дизайна страницы. Мы же сейчас занимаемся грязной работой. То есть – при помощи строк обращений к тем или иным функциям можно до неузнаваемости изменить основной шаблон страницы.

Но как сделать, чтобы эта страница выполняла те или иные вспомогательные функции, то есть, для нее – основные? Необходимо указать действие, которое эта страница будет выполнять, то есть – перенаправлять функцию на ту страницу шаблона, которая занимается исполнение скрипта. На языке программистов это называется «include». Для нас это будет строка , где путь TEMPLATEPATH.»/mmouse-whois.php обозначает путь к файлу, который представляет собой сервис whois – проверка имен домена. Можно организовывать любое исполнение скриптов – опросы, счетчики и т.д.

Вмоем случае на странице nov.php исполняется две функции. То есть, если взять один из примеров – то файл mmouse-whois.php исполняет проверку домена по адресу ресурса, а файл pagenavi.php проверяет занятость домена по IP-адресу клиента. То есть – на странице nov.php исполняется сразу две функции. Но для такой работы вашей новой страницы требуется наличие в директории темы таких файлов, то есть – вам нужно их туда закачать.

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

Вот и создан ваш новый шаблон темы. Видоизменять его вы можете, как вам будет угодно – убрать или добавить сайдбар, установить новый файл заголовка темы или преобразовать подвал файла. Но это уже тема для другой статьи. А для примера, приведенного выше, существующая и работающая и работающая страница выглядит так:

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

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

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

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

Не увидели баннера 468×60, который расположен в конце статьи. Не увидели виджет комментариев cackle, рекламы Google Adsense... Заметили? А посмотрите на другие статьи моего блога. Там все это есть. .

Как у меня это получилось так сделать? Как вы знаете, за вывод всех статей нашего блога, отвечает файл single.php который лежит в папке с темой wp-contetn/themes. Так вот, чтобы написать новую статью и убрать в ней, что-то, что вам не нужно или наоборот добавить, нужно просто сделать так, чтобы именно эта статья выводилась при помощи другого файла.

Не стандартного single.php, а например single-2436.php или post.php, которые лежат в той же папке с темой вашего блога. Эти файлы должны содержать абсолютно то же самое, что и файл single.php, только естественно вы там что-то убираете или добавляете, как вам надо.

Ну вот у меня например в файле single.php в начале стоят коды, которые отображают во всех записях блога два баннера 468×60. Чтобы сделать так, чтобы в новой статье этих баннеров не было, мне просто надо в новом файле single-2436.php или post.php (смотря какой способ из 2-х мною предложенных вы выберите дальше) убрать эти коды.

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

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

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

№1 — шаблон single.php плагином Custom Post Template

Вот так это будет выглядеть примерно:

Готово! Теперь когда вы пишите новую статью и вам нужно, чтобы она выводилась именно с этим шаблоном, то просто в самой статье справа выбираете тот шаблон, что создали:

Нужен еще один шаблон записи wordpress, нет проблем. Создаете другой файл, например post2.php так же там меняете код (в начале вставляете код, только уже с post2) как вам надо и при публикации статьи выбираете в Post Template уже post2.php. Элементарно! Редактируя шаблон можно менять все что угодно! Занимайтесь...)))

№2 — шаблон single.php небольшим пуком в functions.php

Шаг №1 — Помещаем в самое начало файла functions.php вот этот код:

/*Определение ID записи*/ function single($template) { global $wp_query, $post; if(file_exists(TEMPLATEPATH . "/single-" . $post->ID . ".php")) { return TEMPLATEPATH . "/single-" . $post->ID . ".php"; } if(file_exists(TEMPLATEPATH . "/single.php")) { return TEMPLATEPATH . "/single.php"; } return $template; } add_filter("single_template", "single");

Шаг №2 — При написании статьи в блог (еще до публикации) вычисляем ее ID. Это не сложно, в строке браузера есть ее номер:

У меня это 7525.

Шаг №3 — Создаем копию файла single.php, только уже называем ее так single-7525.php

Шаг №4 — Опять же в этом новом файле что-то добавляем или убираем как нам надо.

Шаг №5 — Публикуем статью в блог.

После публикации WordPress, за счет того пука, что мы добавили в functions.php поймет, что эту статью надо выводить не single.php, а single-7525.php. Я думаю понятно.

Что лучше плагин или пук?

Теперь не большое заключение. Что лучше плагин или пук в функтионс? Тут все зависит от ваших потребностей. Если вам нужно много шаблонов записей wordpress, то лучше наверное плагин, сами понимаете, что если использовать пук, то вам придется для каждой записи создавать новый файл в папке с темой, а прикол когда их будет 100 или 200.

Если 2-3-5 шаблонов, то можно и пукнуть в функтионс. Ну вот в принципе и все. Я думаю, ни чего сложного. Вроде мелочь, а на самом деле очень классная фишка.

Как сделать шаблон страницы wordpress

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

За вывод страниц блога у нас отвечает файл page.php который так же лежит в папке с темой вашего блога.

Шаг №1 — делаем копию этого файла в папке с темой

Шаг №2 — переименовываем этот файл например в puk.php

Шаг №3 — Меняем в этом файле все как нам нужно.

Шаг №4 — Добавляем в начало файла puk.php вот такой код:

Шаг №5 — Публикуем новую страницу в блог, только справа выбираем нужный нам шаблон:

Готово! Ну вот вроде бы и все на сегодня. Может быть у кого-то есть какие-то вопросы? По идее все объяснил доступно даже самому самовару. В заключение интересное объявление. Помните в курсе КСБТ 3.0 я говорил про то, что хороший ссылочный профиль — залог успешного продивжения? Так вот совет:

C уважением, Александр Борисов

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

В WordPress можно создавать страницы (page) и записи (post). Отличаются они тем, что записи: попадают в ленту на главной странице; для записей указываются категории; записи не могут быть древовидными, а страницы: используются для такого содержимого как "Обо мне", "Контакты", "Карта сайта"; не имеют категорий, а имеют древовидную структуру. Записи обычно предназначены для хронологической информации (по времени добавления), а страницы для древовидной структуры не зависимой от времени. Для примера, эта статья опубликована как "запись" в рубрике "Кодекс", а ссылки в меню шапки ведут на страницы: Функции .

Страницы похожи на записи - они расположены в одной таблице базы данных и данные у них почти одинаковы: заголовок, текст, дополнительные поля и т.д. И то и другое - это записи, но разных типов: страницы древовидные и организуются путем создания родительских и дочерних страниц, а записи объединяются рубриками и метками. В WordPress можно создавать дополнительные типы записей древовидные или нет.

Создание страниц в WordPress

Часто нужно создать отдельный шаблон страницы, чтобы вывод информации отличался от остальных страниц. Создавая шаблон страницы в WordPress, можно совершенно изменить страницу: удалить сайдбар, подвал, шапку, можно изменить страницу до неузнаваемости. Например, на этом сайте так изменяется страница на которой выводятся коды файлов WordPress .

Способ 1: шаблон страницы через файл с произвольным названием и подключением его в админ-панели (классический способ)

Это самый распространенный способ создать шаблон страницы в WordPress. Для этого нужно создать.php файл, например, tpl_my-page.php в папке темы и в самом начале файла вписать пометку, что созданный файл является шаблоном для страниц:

Теперь при создании страницы в админ-панели в блоке «Свойства страницы» мы сможем выбрать "шаблон":

С версии WordPress 4.7. такие шаблоны страниц можно создать для любого типа записи, а не только для page. Для этого дополните комментарии строкой: Template Post Type: post, page , где post, page - это названия типов записей к которым относится шаблон.

/* Template Name: Мой шаблон страницы Template Post Type: post, page, product */

Преимущества:

    Создав один шаблон, мы можем удобно применять его для разных страниц. Например, можно создать шаблон без боковой панели и использовать его на разных страницах.

  • Можно получить только записи с указанным шаблоном. Например, можно вывести все страницы с шаблоном «Услуги» (файл servises.php). Иногда это удобно. Название файла шаблона хранится в метаполе _wp_page_template , поэтому чтобы вывести страницы с указанным шаблоном нужно создать запрос по метаполю (см. WP_Query).

Недостатки:

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

Как это работает:

Когда вы заходите в админ-панель на страницу редактирования записи древовидного типа, WordPress просматривает все файлы шаблона на наличие в них строки:

Template Name: ***

Строка может располагаться где угодно и как угодно в файле.

Все файлы с подобными строками собираются и выводятся в выбор шаблона в блок "Атрибуты страницы".

При публикации страницы, в произвольное поле _wp_page_template записывается название файла шаблона или default , если шаблон не указан:

Wp_page_template = default
_wp_page_template = tpl_my-page.php

Далее, когда пользователь посещает страницу, WordPress проверят метаполе _wp_page_template , если шаблон установлен, то используется файл шаблона. В противном случае поиск шаблона страницы продолжается по иерархии .

Способ 2: шаблон страницы через файл с конкретным названием (иерархия файлов шаблона)

При создании страницы ей устанавливается ярлык (слаг, альтернативное название). Он используется в УРЛ страницы. И его можно изменить:


Для создание шаблона этим способом, вам нужно узнать слаг страницы и создать файл в папке темы. Допустим, наш слаг как на картинке равен contacts , тогда создадим в теме файл page-contacts.php . и заполним его нужным кодом (можно скопировать содержимое из файла шаблона page.php и отредактировать под себя). Все, теперь при посещении страницы мы должны увидеть новый шаблон. Аналогично можно взять ID (пусть 12) страницы и создать файл page-12.php .

Достоинства:

Нет необходимости заходить в админ-панель и устанавливать файл шаблона. Шаблон начинает работать сразу после создания файла. Удобно при разработке.

Недостатки:

Шаблон создается только для одной, конкретной страницы. Зависит от слага страницы, если он изменится шаблон работать не будет. Если использовать ID, то зависимость от слага пропадает, но становится непонятно в файла темы, к какой странице относится шаблон (если несколько шаблонов с ID).

Практически бесполезен при написании шаблонов, а тем-более плагинов. Его можно использовать, когда правишь свой сайт, в котором слаг или ID страницы известны заранее.

Как это работает:

WordPeress подбирает какой файл использовать в следующем порядке (файлы должны быть в корне темы):

  • {любое_название}.php (когда используется шаблон страницы)
  • page-{ярлык_записи}.php
  • page-{ID_записи}.php
  • page.php
  • singular.php
  • index.php

Способ 3: шаблон страницы через фильтр "template_include" (коддинг)

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

// фильтр передает переменную $template - путь до файла шаблона. // Изменяя этот путь мы изменяем файл шаблона. add_filter("template_include", "my_template"); function my_template($template) { # аналог второго способа // если это страница со слагом portfolio, используем файл шаблона page-portfolio.php // используем условный тег is_page() if(is_page("portfolio")){ if ($new_template = locate_template(array("page-portfolio.php"))) return $new_template ; } # шаблон для группы рубрик // этот пример будет использовать файл из папки темы tpl_special-cats.php, // как шаблон для рубрик с ID 9, названием "Без рубрики" и слагом "php" if(is_category(array(9, "Без рубрики", "php"))){ return get_stylesheet_directory() . "/tpl_special-cats.php"; } # шаблон для записи по ID // файл шаблона расположен в папке плагина /my-plugin/site-template.php global $post; if($post->ID == 12){ return wp_normalize_path(WP_PLUGIN_DIR) . "/my-plugin/site-template.php"; } # шаблон для страниц произвольного типа "book" // предполагается, что файл шаблона book-tpl.php лежит в папке темы global $post; if($post->post_type == "book"){ return get_stylesheet_directory() . "/book-tpl.php"; } return $template; }

Такой код нужно разместить в файл темы functions.php или в плагин, или подключить как-то еще. Как видно из примера во время фильтра template_include уже работают условные теги, установлены глобальные переменные: $wp_query , $post и т.д.

Достоинства:

    Можно установить шаблон для любой страницы или группы страниц. Практически полный карт-бланш в действиях.

  • Можно создать шаблон при написании плагина.

Недостатки:

Необходимость писать код и отдельно его подключать (например, в functions.php темы).