Создание шаблона страницы для WordPress. Шаблон страницы WordPress

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

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

Итак, сегодня рассмотрим:

Разные шаблоны страниц / записей в WordPress

Теоретически все, что вам нужно в этом случае — размещение некого кода в самом верху соответствующего файла:

/* * Template Name: NoAds Single Page * Template Post Type: post, page, product */ ?>

В первой строке указывается название для WP админки, во второй определяются типы записей, в которых можно этот макет применять (в примере: post, page и product).

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

Общий алгоритм действий:

1. С помощью FTP клиента FileZilla заходите на свой хостинг в директорию с названием установленной темы wp-content/themes/имя_темы (или дочерней).

2. Копируете файл, используемый для отображения постов/страниц (single.php и page.php) на локальный компьютер.

3. Переименовываем, например, в page-new.php или page-noads.php и т.п. (название роли не играет).

5. Загружаете новый вариант обратно на хостинг в ту же директорию.

Выбор шаблона страницы в WordPress

Теперь переходим в админку системы, открываем любую публикацию для редактирования и ищем там следующий блок:

Отображаемое здесь название задается в строке Template Name.

Кстати, удобно, что доступно , то есть изменить шаблон страниц можно сразу у нескольких объектов. Переходите в пункт «Все записи», где отмечаете парочку статей и выбираете в «Действиях» значение «Изменить».

После выбора не забудьте кликнуть «Обновить».

Разный сайдбар, хедер, футер и не только

Внимательно посмотрев на установленную тему, увидите, что для вывода базовых элементов там применяются стандартные функции: get_sidebar, get_header, get_footer. Если вы модифицировали свой макет, но оставили их там, то на сайте будет отображаться такое же содержимое, что и в основном варианте.

Разберем самую простую ситуацию — у нас получился новый исправленный page.php, но в сайдбаре также требуется внести некоторые коррективы. В таком случае вместо get_sidebar я использую конструкцию:

Разумеется, вам нужно создать соответствующий файл sidebar-category-noads.php . Хотя, теоретически, можно сразу в новом макете писать код без include, но так структура становится менее наглядной.

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

Отдельные шаблоны записей по категориям

Тут, по сути, имеется два способа. Я лично предпочитаю тот, что попроще — открываете единичный пост single.php в редакторе, и размещаете код:

In_category проверяет какому разделу принадлежит публикация: если с ID=5, то грузится single-category5.php, в противном случае — single-forall.php. Конечно, эти два файла следует добавить на FTP заранее (можно опять же скопировать из исходного и слегка подправить) + названия допускаются любые.

Второй вариант рассмотрен . Вам нужно разместить следующий код в functions.php:

/* * Define a constant path to our single template folder */ define (SINGLE_PATH, TEMPLATEPATH . "/single" ) ; /** * Filter the single_template with our custom function */ add_filter("single_template" , "my_single_template" ) ; /** * Single template function which will choose our template */ function my_single_template($single ) { global $wp_query , $post ; /** * Checks for single template by category * Check by category slug and ID */ foreach ((array ) get_the_category() as $cat ) : if (file_exists (SINGLE_PATH . "/single-cat-" . $cat -> slug . ".php" ) ) return SINGLE_PATH . "/single-cat-" . $cat -> slug . ".php" ; elseif (file_exists (SINGLE_PATH . "/single-cat-" . $cat -> term_id . ".php" ) ) return SINGLE_PATH . "/single-cat-" . $cat -> term_id . ".php" ; endforeach ; }

/* * Define a constant path to our single template folder */ define(SINGLE_PATH, TEMPLATEPATH . "/single"); /** * Filter the single_template with our custom function */ add_filter("single_template", "my_single_template"); /** * Single template function which will choose our template */ function my_single_template($single) { global $wp_query, $post; /** * Checks for single template by category * Check by category slug and ID */ foreach((array)get_the_category() as $cat) : if(file_exists(SINGLE_PATH . "/single-cat-" . $cat->slug . ".php")) return SINGLE_PATH . "/single-cat-" . $cat->slug . ".php"; elseif(file_exists(SINGLE_PATH . "/single-cat-" . $cat->term_id . ".php")) return SINGLE_PATH . "/single-cat-" . $cat->term_id . ".php"; endforeach; }

После этого в директории темы создаете новую папку «single» по типу /wp-content/themes/ваша_тема/single/ куда загружаете файлы, название которых имеет следующий формат single-cat-{category-slug}.php, например: single-cat-news.php или single-cat-articles.php . Данный метод лично я не тестил, но источник надежный.

Дополнительные нюансы

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

Метод, конечно, не самый грамотный, но работает. Не забудьте внести правки в соответствующий файл.

Вторая фишка — когда нужно скрыть/показывать виджет в зависимости от выбранного варианта макета. В таком случае на помощь приходит и условные операторы is_page_template либо has_post_format.

Итого. Повторюсь, если требуется создать разные шаблоны страницам и постам в Вордпресс, но при этом сами page.php и single.php отличаются, то вы для каждого из них делаете свою «копию». Когда же их структура одинакова, новые возможности системы позволяют сделать всего один макет, где в описании Template Post Type просто указываете типы объектов, с которыми он будет работать.

Если есть вопросы по основной части заметки, и по доп.нюансам, пишите ниже, — постараюсь ответить.

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

Страница – это одна из основных частей сайта на WordPress. Как сделать страницу, и как её можно использовать, мы вам расскажем в той статье.

Как сделать страницу на WordPress

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

К странице потребуется придумать название и заполнить её содержание. Кроме того, если у вас установлен плагин All in one SEO pack, то страницу можно SEO-оптимизировать. Для этого надо записать заголовок, описание и ключевые слова в соответствующие строки.

Так же, как и записи, страницы могут быть опубликованы или сохранены в черновик. Можно настроить дату публикации, и сделать её раньше, если вам нужно опубликовать страницы задним числом, или позже, если вы хотите запланировать публикации в будущем. Почитайте об этом .

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

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

Что можно делать со страницей на WordPress

Страницы могут быть заполнены каким-либо текстом, изображениями или другим контентом. Тогда это будет статичная страница – она не будет изменять произвольно. Страница может также выводить какой-либо HTML код, как это бывает при добавлении формы обратной связи или карты сайта. Это могут быть как динамические, так и статичные страницы, в зависимости от функций кода.

На 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 в том, что файл создается только для одной страницы, все остальные будут стандартными.

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

В WordPress можно создавать страницы (pages) или записи (posts). Когда вы пишете обычную запись в блог - вы создаёте запись. Записи автоматически появляются на главной странице в обратном хронологическом порядке.

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

Также можно привести такие примеры как страницы об авторском праве, лицензионные соглашения, правила использования, информации о сайте. Кстати, хорошим правилом является наличие страницы с информацией о сайте или компании и/или страницы с контактными данными. Вот один из советов от Lorelle (на английском языке) .

В целом, страницы очень похожи на записи - и те и другие имеют название и содержимое и могут использовать шаблоны представлений (Presentation Templates) для сохранения целостного вида сайта. Однако страницы имеют несколько ключевых отличий от записей.

О страницах коротко

Чем страницы являются и что могут:

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

Чем страницы НЕ являются и что НЕ могут:

  • Страницы - не записи. Они не проходят циклически через главную страницу. Примечание: Включать записи в страницы можно с помощью модуля Inline Posts Plugin .
  • Страницы - не пункты меню, даже если список страниц выводится на месте навигации. Для создания полноценного навигационного меню существует отдельный механизм.
  • Страницы не могут быть связаны с рубриками и метками. Организационная структура опирается только на иерархию.
  • Страницы - это не файлы. Они сохраняются в базе данных точно так же, как записи.
  • Хотя в шаблон страницы можно добавить код PHP, в саму страницу нельзя добавить код так, чтобы при этом он ещё и работал. Примечание: Этого можно достичь, используя модуль, работающий с PHP, такой как Exec-PHP или RunPHP

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

Для того чтобы создать страницу войдите в Wordpress с достаточными привилегиями для создания статей. Выберите > > для того чтобы начать работу с новой страницей.

Изменение URL или слага (Slug) страниц

С версии 2.5 смена URL страниц стала менее интуитивной. Если у вас включены пермалинки (Permalinks) и вы выбрали настройку Day and Name (Нажмите Settings и в открывшемся списке Permalinks ), то пермалинк автоматически покажется под названием записи, когда вы начнёте печатать в теле записи (не только в заголовке).

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

  1. Создать страницу с помощью Write > Page .
  2. Опубликовать её, нажав Publish .
  3. Перейти в Manage > Pages .
  4. Нажать Edit рядом со страницей.
  5. Посмотреть на пермалинк под заголовком и нажать Edit , чтобы его поменять.

Таким образом, если у вас не включено использование пермалинков, вы должны опубликовать ваши страницы перед тем как устанавливать URL.

Вывод страниц на сайте

WordPress способен автоматически создавать список страниц сайта, например в боковой колонке, используя называемую wp_list_pages() . Прочтите для более подробной информации, в том числе как:

  • Сортировать список страниц. Полная настройка порядка вывода описана в секции "Page Order" административной панели Write > Page.
  • из вывода или прятать страницу
  • Управлять отображением страниц, то есть выводить ли все страницы или некоторые подстраницы.
  • Определять насколько глубоко список уходит в иерархию страниц.

Copyright 1996-2006

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

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

Создаем копию этого файла и называем ее к примеру page_extra.php (имя может быть любым). После этого открываем ее в текстовом редакторе и меняем содержимое на то, какое нам нужно. Например, если нужно изменить шапку, то можно создать отдельный файл header_extra.php (имя опять же не имеет значения), а в файле page_extra.php вместо get_header(); вставляем include(«header_extra.php»); . Аналогично можем поменять другие блоки страницы.

Теперь в самом начале файла page_extra.php пишем

1 2 3 4 5

Это будет название нашего нового шаблона. Все, сохраняем файл и закидываем его в папку с установленной темой! Туда же отправляем и все вновь созданные файлы (header_extra.php ).

Теперь надо применить этот шаблон к нужной странице. Это можно сделать через админ панель блога. Для этого создаем страницу или переходим в админке wordpress на редактирование страниц и меняем шаблон трубуемой страницы на только-что созданный.



Так же можно прописать в файле page.php следующий код:

Для версий WordPress от 2.8 все вышесказанное можно сделать другим методом. Для этого используем функцию: . Ее нужно прописать в тег в файле header.php вашей темы.

В итоге текст заголовков третьего уровня станет равным 18px, причем только на статических страницах, или

1 2 3 #post-2 { color : red ; }

Этот код изменит цвет текста в посте с идентификатором 2 на красный.

Вот полный список классов body которые можно использовать для применения к ним стилей:

  • archive
  • search
  • paged
  • attachment
  • error404
  • single postid- (id)
  • attachmentid- (id)
  • attachment- (mime-type)
  • author
  • author- (имя)
  • category
  • category- (имя)
  • tag- (имя)
  • page-parent
  • page-child parent-pageid- (id)
  • page-template page-template- (имя файла шаблона)
  • search-results
  • search-no-results
  • logged-in
  • paged- (номер страницы)
  • single-paged- (номер страницы)
  • page-paged- (номер страницы)
  • category-paged- (номер страницы)
  • tag-paged- (номер страницы)
  • date-paged- (номер страницы)
  • author-paged- (номер страницы)
  • search-paged- (номер страницы)


 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!