ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.12.2023
Просмотров: 120
Скачиваний: 1
СОДЕРЖАНИЕ
1. Установка и первоначальная настройка CMS WordPress
1.3 Первоначальная настройка CMS WordPress
1.4 Знакомство с интерфейсом CMS WordPress
2.2 Откуда взять дополнительные темы?
3. Автоматизация вывода информации о сайте
3.1 Информация о сайте в секции «Head»
3.2 Информация о сайте теге в «Header» секции «Body»
№ 5 Регистрация и вывод сайдбара в теме для WordPress
№ 6 Шаблоны контента в теме для WordPress
№ 8 Перенос сайта и размещение на хостинге
8.1. Создание резервной копии сайта, находящегося под управлением CMS WordPress
8.2 Перенос сайта, находящегося под управлением CMS WordPress на другой локальный web-сервер
8.3 Размещение сайта, находящегося под управлением CMS WordPress на хостинговой площадке
№ 5 Регистрация и вывод сайдбара в теме для WordPress
В правой части, используемой нами верстки, используется «Сайдбар». В самой же верстке это код заключенный между открывающим тегом «div» с идентификатором «sidebar» и его закрывающим тегом.
Для того, чтобы наш «сайдбар» был универсален для всех страниц, мы должны перенести указанное содержимое из файла «index.php» в новый файл «sidebar.php». Для этого создайте в папке проекта темы новый файл с именем «sidebar.php» и перенесите в него все содержимое тега «div», имеющего идентификатор «sidebar». Обратите также внимание на то, что помимо идентификатора «sidebar» интересующий нас тег «div» использует еще и классы «four» и «columns». Эти классы создают в макете подобие сетки, следовательно, для того чтобы не нарушить отображение на странице в файле «index.php» необходимо вернуть тег «div» использующий эти классы, но не указывать идентификатор, а в файле «sidebap.php» у соответствующего тега избавиться от использования классов (Рисунок 5.1, Рисунок 5.2).
|
Рисунок 5.1 – Интересующая часть кода файла «index.php» после преобразования |
|
Рисунок 5.2 – Интересующая часть кода файла «sidebar.php» после преобразования |
Соответственно в файле «index.php» между открывающим тегом «div» с классами «four» и «columns», которые мы только-что создали, мы должны по аналогии с подключением «шапки» и «подвала» сайта подключить наш сайдбар, находящийся в файле «sidebar.php». Содержимое интересующей нас части файла «index.php» примет вид, изображенный на Рисунке 5.3.
|
Рисунок 5.3 – Вызов файла «sidebar.php» в файле «index.php» |
Если после этого обновить отображение сайта в браузере и сравнить его с первоначальной версткой, можно заметить некоторые изменения по отображению элементов, это связано с незначительным несовпадением стилизации и текущей вложенности элементов, а также с отсутствием поддержки кириллицы в используемом вёрсткой шрифте. Позже мы поправим это в файлах стилей.
К сожалению, на данный момент выведенный сайдбар, как и его содержимое являются статичными элементами, нам же необходимо вывести эти элементы из консоли администратора в динамическом или автоматическом режиме. Перейдите в консоли администратора к пункту «Внешний вид», на данный момент мы не можем для своей темы управлять виджетами сайта, так как функционал нашей темы этого еще не предусматривает. Так как за функционал нашей темы отвечает файл «functions.php», в нем мы и должны предусмотреть такие возможности. Для этого мы должны добавить новый экшн, который будет выполняться во время выполнения стандартного события WordPress – «widgets_init» и выполнит функцию «register_theme_sidebar» (Рисунок 5.4)
|
Рисунок 5.4 – Добавление экшена регистрации сайдбара |
Сама же функция примет вид, изображенный на рисунке 5.5.4
|
Рисунок 5.5 – Функция регистрации сайдбара |
В данном коде:
«Right Sidebar» - имя сайдбара, отображаемое в консоли администратора;
«right_sidebar» - идентификатор, по которому можно обратиться именно к этому сайдбару (а на сайте их может быть и несколько);
«Сайдбар в правой части сайта» - описание сайдбара в консоли администратора;
«
«
«
Рисунок 5.6 – Итоговый код файла «sidebar.php» после внесения изменений
Рисунок 5.6 – Итоговый код файла «sidebar.php» после внесения изменений
№ 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».
Очень часто бывает так, что в той или иной рубрике имеется достаточно большое количество записей (постов) и каждый раз изменять параметры для отображения всех записей рубрики на странице неправильно, для решения таких задач существует пагинация страниц, когда все огромное количество страниц разбивается на страницы с определенным количеством записей (постов), а под ними существует навигация по таким страницам.
Для обеспечения такого функционала в разрабатываемой теме