Как в wordpress сделать шаблон?

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

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

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

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

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

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

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

Читайте также:  Wordpress личный кабинет пользователя плагин

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

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

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

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

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

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

    Как это трудится:

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

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

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

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

    _wp_page_template = default
    _wp_page_template = tpl_my-page. php

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

    Читайте также:  Соцсеть на wordpress

    Локализация наименования штампа

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

    my-theme — это ID перевода — параметр Text Domain: , какой указывается в заголовках темы и при подключении файла перевода, см. load_theme_textdomain().

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

    Этот способ подразумевает создание файла в папке темы с конкретным наименованием: page-<слаг-страницы>.php или page-.php . Подетальнее глядите по этой ссылке.

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

    Изменение слага страницы

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

    Совершенства:

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

    Недостачи:

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

    Читайте также:  Wordpress для мобильных устройств

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

    Как это трудится:

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

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

    меню

    Способ 3: штамп страницы сквозь фильтр «template_include» (коддинг)

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

    Рассмотрим на образце:

    Подобный код необходимо разместить в файл темы functions. php , в плагин, или подключить как-то еще.

    Как видать из образца во пора фильтра template_include уже трудятся условные теги, введены глобальные переменные: $wp_query , $post .

    Совершенства:

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

  • Можно создать штамп при написании плагина.
  • Спокойно при разработке.

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

    Положим, наш слаг как на картинке равновелик contacts , тогда создадим в теме файл page-contacts.