Сайт о телевидении

Сайт о телевидении

» » Wordpress не создает страницы. Как создать шаблон страницы WordPress. Что лучше плагин или пук

Wordpress не создает страницы. Как создать шаблон страницы WordPress. Что лучше плагин или пук

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

Записи и страницы являются основными типами постов для размещения контента на сайте. И между ними есть несколько отличий.

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

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

Дизайн страниц так же легко можно изменить, если использовать различные шаблоны страниц. Они позволят изменить стиль любой страницы на вашем сайте.

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

Почему бы не использовать разные шаблоны страниц?

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

По умолчанию шаблон страницы (page.php) настроен таким образом, что весь необходимый контент отображается на странице.

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

Наиболее известный пользовательский шаблон страницы - это Archive (шаблон архивной страницы archive.php ). Он есть во многих темах WordPress и содержит весь контент сайта, который разделен на страницы, категории, тэги, даты архивов, авторские архивы.

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

В темах можно найти и другие типы шаблонов страниц, как например:

  • Контактную форму
  • Страницы без сайдбара (боковой панели)
  • Лендинговую страницу (посадочную страницу)
  • Индекс блога

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

Как выбрать шаблон для страницы?

Добавить шаблон для страницы очень просто. В редакторе страницы справа вы увидите окошко (виджет) под названием «Атрибуты страницы ». Оно размещено под окошком «Опубликовать ».

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

Шаблон также можно изменить другим способом - через список всех страниц. Нужно только нажать на «Свойства ».

Затем изменить шаблон в опциях меню справа.

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

Создаем базовый шаблон страницы для сайта

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

Нужно только использовать код page.php уже существующего шаблона темы в качестве основы для нового шаблона страницы. К примеру, вы используете старую стандартную тему Twenty Twelve . Файл page.php имеет следующий код:

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

/* Template Name: My Custom Page Template */

Шаблон вашей страницы будет выглядеть следующим образом:

Давайте рассмотрим процесс создания базового шаблона страницы и попробуем создать шаблон страницы в полную ширину без использования сайдбара . Тема Twenty Twelve изначально включает в себя шаблон в полную ширину, но мы сделаем вид, что это не так, потому что нам это нужно для нашего обучения.

В стандартном шаблоне сайдбар страницы отображается с правой стороны:

Стандартный шаблон страницы в теме Twenty Twelve

Создать шаблон новой страницы без сайдбара просто.

Для начала нужно создать новый файл, используя любой текстовый редактор (Блокнот или Notepad++ подойдет). Его можно назвать как-то по-простому, например, nosidebar-page.php или full-page.php (о названиях файлов поговорим немного позже). Затем загрузите файл на ваш сайт таким образом, чтобы он находился рядом с файлом page.php.

По сути, наш шаблон - это шаблон от page.php темы Twenty Twelve, только с удаленным кодом .

Он выглядит так:

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

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

Если вы посмотрите на код нашего шаблона, то увидите, что основная часть контента находится под действием определенного класса CSS:

За стиль основной части контента отвечает вторая часть class="site-content" . Если проверить файл стилей (style.css ) темы, то можно заметить, что этот класс находится почти в самом низу:

Site-content { float: left; width: 65.104166667%; }

Для того чтобы расширить контент на всю страницу, нам нужно изменить ширину области контента с 65% на 100% . Но не нужно изменять класс контента сайта, т.к. он по-прежнему используется в других шаблонах, как например, стандартная страница page.php и шаблон записей single.php . Изменение цифры процента для контента сайта повлияет на все записи и страницы на вашем сайте, которые занимают всю ширину страницы.

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

Site-content-fullwidth { float: left; width: 100%; }

После обновления файла style.css с вышеуказанным классом нам нужно изменить наш шаблон с полной шириной страницы и быть уверенными, что мы создали ссылку на класс CSS с шириной в 100%:

Наш финальный шаблон будет выглядеть так:

Этот обновленный шаблон подтверждает, что контент на нашем сайте будет отображаться на всю страницу:

Теперь контент на сайте отображается по всей странице

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

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

Согласно WordPress Template Hierarchy , WordPress отображает шаблоны для страницы в следующем порядке:

  • Пользовательский шаблон (Custom Template)
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php

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

Этот порядок означает, что на WordPress всегда будет отображаться шаблон для страницы, если он был прикреплен к ней. Если к странице не был добавлен ни один из шаблонов, то WordPress будет искать page-{slug}.php.

Если шаблон page-{slug}.php не найден, WordPress ищет шаблон по ID страницы. К примеру, если ID страницы = 15, то WordPress будет искать шаблон страницы с названием 15.php.

Если шаблон не привязан к странице и нет совпадений с ID страницы, то WordPress ищет по стандартному шаблону страницы page.php. И если страницы шаблона page.php не существует, то для поиска используется index.php.

Многие разработчики называют свои шаблоны тем, используя формат page-name.php. К примеру, шаблон страницы контактов называют page-contact.php. По большому счету вы можете давать шаблонам названия на свое усмотрение и использовать любые конфигурации, будь то page-name.php, name-page.php или name.php. В любом случае, в будущем вы сможете эти названия изменить.

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

Открылась страница с текстовым редактором, в котором и создаётся контент. По умолчанию редактор работает в визуальном режиме, то есть вы сразу можете видеть, как будет выглядеть содержимое в браузере, и работать с ним примерно так же, как, например, в Microsoft Word. Если возможностей визуального редактора вам не хватает, его можно переключить в текстовый режим, и тогда запись будет отображаться в виде HTML-кода, а оформлять контент можно будет с помощью HTML-тегов.

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

После публикации запись появится на главной странице сайта.

Перед публикацией рекомендуется посмотреть, как запись будет выглядеть на сайте - за это отвечает кнопка Просмотреть . Если заметка ещё не готова, но вы хотите отложить работу и вернуться к ней позже, то нажмите кнопку Сохранить . CMS сохранит черновик записи для вас, не публикуя его на сайте.

Посту можно задать формат (желательно, чтобы он соответствовал содержимому заметки, например, в записи формата Видео лучше разместить ролик, а не картинки), миниатюру (картинка, которая будет отображаться в анонсе записи на главной странице) и метки. Также вы можете выбрать рубрику, к которой относится публикация. Конечно, за управление разделами отвечает соответствующая вкладка (Записи -> Рубрики ), но новую категорию можно добавить прямо со страницы редактирования записи. Для этого надо щёлкнуть ссылку Добавить новую рубрику , выбрать категорию-родителя и нажать Добавить новую рубрику .

Установка родительских разделов актуальна, когда вы создаёте подкатегории статей. Например, у вас есть обширный раздел «Медицина», вы написали статью о китайской медицине и понимаете, что записей этой подгруппы будет ещё много. Тогда вы создаёте рубрику «Китайская медицина» и в качестве родительской категории указываете «Медицина», получая тем самым подраздел «Китайская медицина» раздела «Медицина».

Созданные записи (и опубликованные, и черновики) можно увидеть на странице Записи -> Все записи . Их можно просматривать, изменять, удалять. Причём менять можно не только текст или заголовок поста, но и такие параметры, как ярлык и дата публикации. Кроме того, каждую запись можно защитить паролем или сделать личной, чтобы кроме вас её никто не видел,

Страница изменения от страницы создания записи почти ничем не отличается.

Из вкладки Записи -> Рубрики можно управлять категориями постов, в том числе задавать им ярлыки и описания, чего страница редактирования записи делать не позволяет.

Работа со страницами мало чем отличается от работы с записями: редактор точно такой же, свойства и действия те же, но есть несколько незаметных с первого взгляда отличий.

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

В принципе, ничего сложного в управлении записями, рубриками и страницами нет, почти всё интуитивно понятно и не требует пояснений.

В этой статье я расскажу о способах создания шаблонов для постоянных страниц 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 темы).

В 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 предназначены для того чтобы придать индивидуальный вид вашим страницам. Чаще всего все страницы имеют один шаблон, либо вариант шаблона с сайдбаром и без него. Согласитесь, этого мало для полета фантазии. В этом уроке мы рассмотрим как лучше всего создавать свои шаблоны для страниц.

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

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

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

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

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

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

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

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

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

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

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

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