Меню

3 способа создать шаблон страницы

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

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

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

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

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

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

В первой строке указывается название для 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 и т.п. (название роли не играет).

4. Дальше приступаем к его редактированию с помощью Sublime Text или Notepad++. В самом верху добавляете упомянутый ранее код (заменяя существующий, если он там есть). Получится вот так:

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

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

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

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

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

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

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

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

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

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

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

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

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

Условный оператор in_category проверяет какому разделу принадлежит публикация: если с то грузится 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; >

Читайте также:  15 раскройте понятия файлы виды файлов способы их описания приведите примеры

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

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

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

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

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

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

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

Источник

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

В данной статье расмотрим самые популярные задачи на WordPress по создание шаблонов:

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

По умолчанию к любой созданной в консоли WordPress странице применяется шаблон page.php, находится данный файл в папке с установленной темой:
корень_сайта/wp-content/themes/название_выбранной_темы/

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

Внутри файла пишем:

Здесь так же можете прописать название на Ваше усмотрение:

Теперь в консоли, при выборе любой страницы, в Атрибутах страницы в поле “Шаблон” можно выбрать из выпадающего списка созданный шаблон:

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

корень_сайта/wp-content/themes/название_выбранной_темы/functions.php

Создаем шаблон для определенной записи

В папке с Вашей темой:
корень_сайта/wp-content/themes/название_выбранной_темы/

Создаем файл с названием, к примеру “myposttemplate.php”

Внутри файла пишем:

Теперь заходим в консоль WordPress, выбираем определенную запись(не страницу, а запись, это разные элементы. К тому же записи хранятся в рубриках)
Далее в правом столбце находим “Свойства записи”, выбираем ранее созданный шаблон и сохраняемся.

Пояснение: “Базовый шаблон” это шаблон, который устанавливается сразу с WordPress, его физический файл single.php и он по умолчанию применяется ко всем записям.

Создаем шаблон для определенной категории

Это делается очень просто, в папке с вашей темой:
корень_сайта/wp-content/themes/название_выбранной_темы/

Создаем файл category-1.php , где “1” меняем на id вашей категории, как узнать id смотрим в этой же статьи ранее.
В сам файл можете скопировать содержимое файла archive.php (который находится в папке с темой) и у Вас получится список постов данной категории с уникальным оформлением.

Создаем и применяем шаблон для всех записей определенной рубрики(категории)

Идем в functions.php
Данный файл находится по следующему пути:
корень_сайта/wp-content/themes/название_выбранного_шаблона/functions.php
и добавляем в конец следующий код:

Обязательно меняем id рубрики

Создаем в папке(корень_сайта/wp-content/themes/название_выбранной_темы/) с темой файл “single-template.php”, копируем в него содержимое файла single.php, данный файл находится в этой же папке

Не знаете как получить id рубрики(категории)?
В консоли wordpress заходим в раздел “Записи” -> “Рубрики” -> находим и выбираем необходимую рубрику, в адресной строке смотрим:

Данное значение подставляем вместо “1”.

Теперь все записи в рубрике с id 1 имеют шаблон “single-template.php

Если у Вас что-либо не получается – можете задать вопрос в комментариях.

Источник

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

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

Читайте также:  6 способов сделать домашнее задание

Шаг 1. Создание веб-шаблона и написание кода шаблона Liquid.

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

Прочитайте о наследовании шаблона с помощью тегов block и extends: Теги шаблона

Макет с двумя столбцами (веб-шаблон)

Шаг 2. Создание нового веб-шаблона, который расширяет наш базовый шаблон макета

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

Ознакомьтесь с тем, как загружать наборы веб-ссылок с помощью объекта «веб-ссылки».

Веб-ссылки на левой навигационной панели (веб-шаблон)

Шаг 3. Создание шаблона страницы на основе веб-шаблона

На этом этапе мы создадим новый шаблон страницы, который основан на веб-шаблоне, созданном на предыдущем шаге.

Шаг 4. Создание веб-страницы для отображения содержимого

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

Источник

SEO Маяк

Блог Виталия Кириллова | Все о создании,
продвижении сайтов и заработке в интернете

Создание и продвижение сайтов, заработок в интернете

Шаблоны страниц для WordPress

Всем привет! Сегодня на seo-mayak.com я расскажу, как создавать индивидуальные шаблоны страниц для WordPress.

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

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

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

Все дело в том, что стандартный редактор WordPress TinyMCE не хочет выполнять php коды, да и скрипты, написанные на JavaScript, при сохранении записи или при смене режима редактора, превращает в «фарш».

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

Из данной статьи Вы узнаете, как создать шаблоны: для главной страницы и для статической страницы (page). Сразу скажу, что есть два способа создания шаблонов страниц:

Способ №1. Создается файл с произвольным названием и подключается к теме через админ-панель WordpRess.

Способ №2. Создается файл с названием, соответствующим иерархии шаблонов WordPress.

Теперь давайте разберем оба способа более подробно.Поехали!

Как создать шаблон страницы. Способ №1

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

Создаем новый файл с расширением .php. Лично я для создания и редактирования файлов использую редактор Notepad++, что и Вам советую.

Открываем редактор и во вкладке «Файл» выбираем пункт «Новый»:

Затем в той же вкладке «Файл» жмем на строчку «Сохранить как»:

Сохраняем файл в выбранную папку под произвольным названием.

Главное, чтобы название файла состояло англ. символов и включало в себя одно цельное слово или несколько слов разделенных дефисом. Например:
mayak.php
mayak-home.php
Обязательно поставьте расширение .php, иначе шаблон работать не будет.

Итак, у нас есть пустой файл, который надо превратить в шаблон главной страницы.

Прежде всего файл надо пометить. Для этого в самое начало вставляем следующий код:

Тем самым мы укажем WordPress, что файл с названием mayak-home надо считать шаблоном (у Вас конечно может быть другое название).

Далее нам необходимо сформировать страницу в соответствии с дизайном Вашего сайта. Процесс очень схожий с созданием страницы с ошибкой 404.

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

Читайте также:  8 класс самостоятельная способы теплопередачи

Конечно варианты наполнения могут быть разные. Идем дальше.

Как подключить шаблон страницы через админ-панель WordPress

Итак, шаблон страницы мы создали, теперь надо его подключить. Для этого с помощью FTP клиента закидываем созданный файл в корень темы, туда, где находятся файлы header.php, single.php, footer.php и т.д.

Далее идем в админку WordPress, Страницы -> Добавить новую и с правой стороны, в блоке «Атрибуты страницы», в пункте «Шаблон» выбираем название созданного файла:

Далее заполняем поле «Заголовок страницы». Если мы делаем главную страницу, то заголовок можно сделать такой:

Жмем кнопку «Опубликовать» и смотрим что получилось. А получится следующее:

У нас теперь две главных страницы, но это не беда, сейчас мы это дело поправим.

Снова идем в админку и следуем Настройки -> Чтение. На открывшейся странице, в пункте «На главной странице отображать» ставим галочку возле строчки «Статическую страницу»:

И ниже, в пункте «Главная страница», выбираем название «Главная»:

Сохраняем изменения и вуаля, у нас новая главная страница.

Создание шаблона страницы. Способ №2

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

Известно, что в большинстве шаблонов за вывод главной страницы отвечает файл index.php, а за вывод статических страниц — файл pade.php.

Но не все знают, что у файла index.php есть «старший брат» — файл home.php, который в «глазах» WordPress имеет белее высокий приоритет. Т.е, если в шаблоне будут находится оба вышеперечисленных файла, то WorsPress отдаст право выводить главную страницу именно файлу home.php. Вот такие дела.

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

У файла page.php, что отвечает за вывод статических страниц, также есть «родня» и в этой «семейке» иерархия файлов имеет еще более сложную логику.

Допустим нам надо создать шаблон статической страницы с уникальным дизайном или функционалом и заголовок у данной страницы допустим будет «Каталог товаров».

В админке WordPress создаем новую страницу, вписываем заголовок и если у нас настроены ссылки ЧПУ, то в поле «Постоянная ссылка», URL страницы будет выглядеть так:

Далее, в корне темы создаем файл с таким названием:

Наполняем файл, подобно файлу page.php, но уже с нужными нам стилями и функционалом. Далее идем в админку и опубликовываем пустую страницу.

WordPress будет считать шаблоном данной страницы именно файл page-katalog-tovarov.php, а все остальные страницы будут как прежде выводится файлом page.php. Надеюсь понятно, но это еще не все.

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

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

Разработчики WordPress видимо предусмотрели такую ситуацию. В том случаи, если WordPress не сможет обнаружить файл в названии которого присутствует окончание постоянной ссылки, то следующим объектом его поиска станет файл, в названии которого будет ID страницы (читайте, как определить ID страницы). Например такой:

Понятно, что ID остается неизменным при смене URL адреса страница, поэтому такой способ создания шаблона считается более безопасным.

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

Вот такую иерархическая цепочку файлов-шаблонов предусмотрели разработчики CMS WordPres. По-моему гениально!

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

На этом все. Как вам статья?

C уважением, Виталий Кириллов

Источник