Тарифы Услуги Сим-карты

Вордпресс как добавить шаблон страницы. Страницы « WordPress Codex

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

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

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

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

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

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

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

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

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

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

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

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

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

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

К данному вопросу возвращаюсь уже не первый раз, захотел собрать все нюансы и знания в одном месте. К счастью, современные методы по сравнению с прошлыми модификациями, максимально просты. Вам даже не надо ставить дополнительные модули, как раньше. Разработчики 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 можно создавать страницы (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 Cherry Framework .

    Войдите в админ панель WordPress.

    Откройте меню Страницы -> Добавить новую (Pages -> Add New) и создайте новую страницу с новым шаблоном страницы.

    Введите заголовок страницы и сохраните изменения. В правой колонке в панели вы можете выбрать один из используемых в вашей теме шаблонов страницы. Вам необходимо добавить новый шаблон станицы в этот список. Все эти шаблоны находятся в папке на вашем сервере. Но вам необходимо добавить новый шаблон страницы в папку wp-content/themes/theme##### .

    Создайте новый.php файл в любом редакторе, например, Dreamweaver или Notepad++, и назовите его, например, new.php . Добавьте в этот файл следующий код:

    Сохраните файл и загрузите его в папку wp-content/themes/theme##### на ваш сервер.

    Теперь вернитесь к странице, которую вы создали в админ панели WordPress. В панели Атрибуты страницы (Page Attributes) вы можете выбрать новый шаблон страницы под названием “Пользовательский” (“Custom”).

    Cнова откройте файл new.php file и начните добавлять свой контент. Файл может содержать все, что вы захотите, включая неизменяемый контент или элементы макета страницы, которые будyт выводить ее контент.

    Вы можете использовать элементы кода других шаблонов страницы из папки wp-content/themes/CherryFramework , чтобы создать специфическую страницу.

    Давайте сначала добавим хедер и футер в новый шаблон страницы:

    Если вы сохраните изменения, то сможете увидеть их на странице:

    Теперь необходимо выбрать вид контента, который вы хотите использовать на этой странице. Допустим, у вас нет отдельного шаблона страницы для пользовательских постов “Наша команда” (“Our Team”). И вам нравится дизайн шаблона страницы Отзывов (Testimonials) и вы бы хотели использовать этот дизайн для постов “Наша команда” (“Our Team”). Для этого в меню Дизайн -> Редактор (Appearance -> Editor ) вы легко найдете файл, который содержит код шаблона страницы Отзывов (Testimonials). Его название page-testi.php .

    Откройте этот файл для редактирования. Скопируйте только код контента, так как вы уже добавили хедер и футер (ниже приведен пример данного кода, ваш код может выглядеть иначе):

    " data-motopress-wrapper-file="page-testi.php" data-motopress-wrapper-type="content">
    " data-motopress-type="static" data-motopress-static-file="static/static-title.php">
    " id="content" data-motopress-type="loop" data-motopress-loop-file="loop/loop-testi.php">
    sidebar" id="sidebar" data-motopress-type="static-sidebar" data-motopress-sidebar-file="sidebar.php">

    Вставьте скопированный код в файл new.php. Замените Template Name: Custom на Template Name: Team

    И замените page-testi.php на new.php в этом коде.

    Данный код также содержит ссылку на файл loop/loop-testi.php . Это еще один файл, который вам необходимо скопировать и редактировать. Скопируйте файл loop-testi.php из папки wp-content/themes/CherryFramework/loop и вставьте его в папку wp-content/themes/theme#####/loop (если в папке вашей темы отсутствует папка loop , вам следует создать ее). Переименуйте этот файл, например, на loop-new.php и откройте его для редактирования. Замените слово “testi” на слово “team” во всех строчках файла и сохраните изменения. (Для замены слов вы можете использовать комбинацию клавиш Control (Command) + F).

    Когда файл loop-new.php создан и отредактирован, снова откройте файл new.php и замените loop/loop-testi.php на loop/loop-new.php в его коде. В результате ваш код будет выглядеть следующим образом:

    " data-motopress-wrapper-file="new.php" data-motopress-wrapper-type="content">
    " data-motopress-type="static" data-motopress-static-file="static/static-title.php">
    " id="content" data-motopress-type="loop" data-motopress-loop-file="loop/loop-new.php">
    sidebar" id="sidebar" data-motopress-type="static-sidebar" data-motopress-sidebar-file="sidebar.php">

    Сохраните изменения и проверьте вашу новую страницу. Теперь она должна содержать пользовательские посты “Наша команда” (“Our Team”) с дизайном страницы Отзывов (Testimonials).

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

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

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

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

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

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

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

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

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

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

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

Страницы могут быть добавлены в меню сайта, в пункте панели администратора «Внешний вид» – «Меню». А это меню может быть помещено на сайт.