Главная страница

Основные теоретические сведения Что такое cms


Скачать 4.5 Mb.
НазваниеОсновные теоретические сведения Что такое cms
Дата26.04.2023
Размер4.5 Mb.
Формат файлаdocx
Имя файлаCMS+WordPress+1 (1).docx
ТипДокументы
#1092458
страница8 из 10
1   2   3   4   5   6   7   8   9   10

№ 6 Шаблоны контента в теме для WordPress


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

  • index.php – шаблон главной страницы, выводятся короткие анонсы статей;

  • page.php – шаблон статических страниц;

  • single.php – шаблон постов (статей);

  • category.php – шаблон рубрик;

  • search.php – шаблон выдачи результатов поиска;

  • 404.php – шаблон сообщения о несуществующей странице;

  • comments.php – шаблон комментариев.

Так как файл index.php у нас уже существует давайте продолжим его доработку.

В рассматриваемом макете верстки на главной странице сайта предусмотрен вывод последних записей (постов). Для того чтобы WordPress мог выводить эти посты, в файле «index.php» мы должны проверить существование этих постов. Сам же вывод постов по коду верстки начинается в блоке с идентификатором «main» и классами «eight» и «columns», и осуществляется в тегах «article» с классом «entry».

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



Рисунок 6.1 – Вывод заголовков записей (постов) на странице «index.php» при помощи стандартного цикла WordPress

После внесения изменений в файл «index.php» и обновления страницы сайта в браузере, на главной странице сайта должны быть выведены заголовки всех записей (постов) имеющихся в WordPress на настоящее время. В данном коде за вывод самих заголовком отвечает функция «the_title();».

За макет вывода записи (поста) мы должны взять содержимое одного из тегов «article» с классом «entry», а уже непосредственно в его верстку включить функционал WordPress. При помощи функций WordPress мы сможем вывести не только заголовки записей (постов) но и остальное содержимое, например, дату создания записи (поста), её автора, краткое описание и многое другое5.

Так проведя изменение кода вывода записи (поста) для случая использования нашей верстки, и удаления из неё статического вывода записей (постов) код файла «index.php» примет вид, изображенный на рисунке 6.2



Рисунок 6.2 – Код файла «index.php» выводящий на главную страницу сайта все имеющиеся записи (посты)

Данная конструкция является стандартной для WordPress, она выводит на страницу все записи (посты) не обращая внимания ни на какие дополнительные параметры самих записей, а ограничивает только количество вывода. Изменить количество выводимых постов можно в консоли администратора в подразделе «Чтение» раздела «Настройки». По умолчанию значение параметра «На страницах блога отображать не более» установлено равное 10, а нашей верткой предусмотрено вывод на главную страницу 3-х последних записей. Измените значение указанного параметра на значение 3, сохраните изменения и обновите страницу сайта. Как можно убедиться при таких настройках сайт наиболее полно соответствует имеющейся в распоряжении верстке. К сожалению, изменение настроек количества вывода записей (постов) на страницах сайта имеет глобальное значение для всего сайта, а нас это не устраивает, так как на других страницах возможно потребуется вывод другого количества записей (постов). Поэтому вывод постов на главной странице сайта при помощи стандартного цикла WordPress нельзя считать самым удачным, а для подобных ситуаций в WordPress существует дополнительный функционал. Сама же получившаяся страница «index.php» нам пригодится, так как она является страницей, отвечающей за вывод записей (постов) из определенной рубрики или отсортированных по определенным тегам. Создайте копию страницы «index.php» и переименуйте её как «category.php».

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

Для обеспечения такого функционала в разрабатываемой теме, измените окончание стандартного цикла WordPress так, как показано на рисунке 6.36



Рисунок 6.3 – Вывод пагинации на страницах разрабатываемой темы

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



Рисунок 6.4 - Пагинация на страницах разрабатываемой темы

Как видно из рисунка 6.4 над пагинацией присутствует заголовок «Навигация по записям». Если просмотреть код страницы во встроенном в браузер отладчике, этот заголовок сформирован при помощи тега (тег языка html означающий использование заголовка второго уровня). С точки зрения SEO – оптимизации (да и исходя с точки зрения стилевого представления сайта) этот тег вместе с содержимым лучше скрыть (или убрать). Для решения такой задачи можно воспользоваться «хуком», являющийся фильтром по своему типу, а добавить этот «хук» необходимо в файл функций темы «functions.php» (Рисунок 6.5).7



Рисунок 6.5 – Использование «хука» удаляющего заголовок из вывода пагинации записей сайта

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

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

Для осуществления таких возможностей в файле «index.php», вместо стандартного цикла WordPress нам необходимо воспользоваться возможностями функции WordPress – «get_posts()»8. По адресу https://wp-kama.ru/function/get_posts подробно рассказано о работе и опциях данной функции, перейдите по указанной ссылке и скопируйте «Шаблон использования». Вставьте скопированный код в файл «index.php» сразу после блока с идентификатором «main» обернув код тегами кода PHP (Рисунок 6.6).



Рисунок 6.6 – Использование функции «get_posts» в файле «index.php» разрабатываемой темы

В данном шаблоне использования идет объявление переменной «posts», в которой перечислены некоторые настройки и их значения, о всех возможных к использованию параметрах и принимаемыми ими значениями можно ознакомиться в справочных материалах, указанных ранее, нам же необходимо изменить только значение параметра «numberposts» со значения 5 на 3. Именно по параметрам, указанным в данном массиве параметров будут отсортированы все записи сайта.

Следующим по коду идет цикл «foreach» в котором и идет вывод постов в соответствии с указанными в ранее описанном массиве параметрами. Как видно из кода, формат вывода записей в шаблоне использования не описан, поэтому мы должны описать его сами. Для этого нам необходимо «разорвать» выполнение кода PHP и перенести всё содержимое ранее подготовленного тега «article» использовавшегося ранее в стандартном цикле WordPress (Рисунок 6.7).



Рисунок 6.7 – Изменение формата вывода поста в функции «get_posts»

Код же, идущий сразу после используемой функции «get_posts». являющийся кодом стандартного цикла WordPress (На рисунке 6.8 выделен в редакторе кода), нам больше не нужен, удалите его.



Рисунок 6.8 – Код стандартного цикла WordPress, подлежащего удалению из файла «index.php»

После внесения всех изменений в файл «index.php» произведите его сохранение и обновите главную страницу сайта. Проверьте правильность и корректность отображения информации.

Добавьте в состав рубрик записей Вашего сайта новую рубрику «Мониторы» и создайте новую запись, относящуюся к данной рубрике. Отследите изменения на главной странице сайта:

  • добавленная запись должна отобразиться первой на главной странице сайта;

  • в виджете отображающем рубрики сайта должна появиться новая рубрика;

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

В случае корректности и правильности отображения информации на сайте работу над файлом «index.php» - отвечающим за вывод главной страницы сайта можно считать завершенной

Произведите действия по созданию файла, отвечающего за вывод записей по рубрикам (category.php). Не забудьте реализовать функциональные возможности пагинации страниц вывода. В случае необходимости произведите вывод требуемого количества записей на главную страницу, используя возможности функции get_posts (зависит от используемого макета верстки).
1   2   3   4   5   6   7   8   9   10


написать администратору сайта