✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Учебное пособие по темам WordPress для начинающих — Часть 10: Добавление дополнительных шаблонов

18

В этом уроке по теме WordPress для начинающих мы углубимся в шаблоны. Мы узнаем о частях шаблона и реализуем их для повторного использования. И мы добавим в нашу тему больше стандартных шаблонов WordPress.

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

Части шаблона: более гибкие стандартные блоки

Части шаблона работают точно так же, как get_header()и о get_footer()которых мы узнали в части 2, но не ограничиваются этими файлами. Вы можете использовать части шаблона для любого файла!

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

Давайте «преобразуем» часть нашего существующего кода в части шаблона, прежде чем мы начнем создавать больше шаблонов!

Создание части шаблона цикла сообщений

Создайте новый пустой файл в папке с нашей темой; называется content-loop.php. Вы можете называть части шаблона как хотите. Но вы не можете назвать их так же, как любой из определенных шаблонов WordPress. В нашем index.phpнайдите все, что у вас есть внутри цикла, вырежьте его и вставьте внутрь content-loop.php.

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

... while (have_posts()): the_post(); get_template_part('content-loop'); endwhile; the_posts_pagination(); ...

Если вы обновите свою первую страницу, вы не увидите абсолютно никакой разницы.

Большой! Теперь, когда наш index.phpкрасивый и чистый, мы можем использовать его в качестве основы для дублирования в другие шаблоны. Ниже я расскажу, как добавить шаблон категории и шаблон результатов поиска, но я рекомендую вам создать больше шаблонов для большего контроля над дизайном вашей темы.

Добавление шаблона категории

Если вы вернетесь к иерархии шаблонов WordPress, вы увидите, что для категорий сообщений WordPress будет искать шаблон с именем category.php. Сначала мы создадим его.

В папке вашей темы сделайте копию index.phpфайла и переименуйте копию category.php.

Вот и все. Вы в основном сделали …!

Однако мы добавим одну деталь; мы хотим показать заголовок, который говорит нам, что мы находимся на странице категории для сообщений в категории с именем X. В WordPress есть функция для этого, которую вы можете использовать во всех шаблонах архивов (категории, теги, архивы дат), the_archive_title. Давайте добавим его перед циклом внутри <h1>тега.

Если вы просматриваете страницу категории сообщений, вы должны увидеть что-то вроде этого с заголовком архива «Категория:». PS: Если вы хотите изменить вывод заголовка архива (например, не показывать «Категория:»), вы можете добавить фильтр в get_the_archive_title. На странице документации показан отличный пример того, как это сделать.

Учебное пособие по темам WordPress для начинающих — Часть 10: Добавление дополнительных шаблонов

Что ж, это было легко! Далее займемся шаблоном результатов поиска.

Добавление шаблона результатов поиска

Процедура точно такая же, как и для шаблонов категорий. На этот раз сделайте копию category.phpи переименуйте копию в search.php.

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

Но мы можем легко сделать его сами, и в то же время я покажу, как выводить динамическую переменную и при этом сохранять переводимость текста.

В PHP есть две полезные функции, printf()и sprintf(). Они делают то же самое, за исключением того, что printfвыводят его (как эхо) и sprintfвозвращают его, поэтому мы можем сохранить его в переменной. После того, как мы поместили текст в качестве первых параметров, мы можем добавить динамические переменные в качестве аргументов, которые затем вводятся в текст. Внутри них мы можем использовать переводимые текстовые функции __()и файлы _e(). Я рекомендую вам немного прочитать о том, как работает printf или sprintf, так как я не буду вдаваться в подробности.

WordPress предлагает простую функцию для получения искомой строки; get_search_query(). С учетом сказанного давайте заменим функцию заголовка архива на это;

То, что делает приведенный выше код, происходит изнутри наружу; определение переводимого текста «Поиск: %s», который помещается внутри a, printfкоторый повторяет строку и заменяет строковую константу (%s) вторым аргументом; что есть get_search_query().

В результате при поиске «er» мы получаем вот такой заголовок:

Учебное пособие по темам WordPress для начинающих — Часть 10: Добавление дополнительных шаблонов

Хороший! Сделан еще один шаблон. Что касается последней части этого урока, мы перейдем к нашему единственному шаблону сообщения и добавим что-то очень распространенное в WordPress; шаблон комментариев.

Добавление шаблона комментариев к одному сообщению

В нашем single.php, после публикации статьи, мы хотим показать комментарии. Комментарии должны выводить список предыдущих комментариев и форму для добавления нового комментария.

Шаблон комментариев — это файл шаблона, который вы можете добавить в свою тему, но на самом деле WordPress имеет собственный вывод шаблона комментариев по умолчанию. Если comments.phpв вашей теме его нет, запрос шаблона комментариев вернет для него вывод WordPress по умолчанию. Это то, что мы будем делать в этом уроке.

Мы хотим вызвать шаблон комментариев только в том случае, если в сообщении активированы комментарии (это настройка для каждого сообщения и глобальная настройка сайта). Поэтому мы добавляем проверку if, чтобы проверить, разрешены ли комментарии, comments_open()и если она возвращает true, мы запрашиваем шаблон комментариев с расширением comments_template(). Имейте в виду, что все это должно происходить внутри цикла. Я добавил его после конца </article>прямо перед закрытием цикла.

Если вы посещаете один пост, к которому разрешены комментарии (я добавил комментарий только для того, чтобы показать вам список комментариев); вы получите этот красивый (гм) шаблон комментариев по умолчанию:

Учебное пособие по темам WordPress для начинающих — Часть 10: Добавление дополнительных шаблонов

Теперь вы можете (и это часто рекомендуется) создать свою собственную comments.phpтему в своей теме, которая переопределит вывод WordPress по умолчанию. Однако в этом руководстве я не буду создавать шаблон комментариев, поскольку вывод WordPress по умолчанию работает нормально, если вы правильно его стилизуете. Если вы проверите HTML, то увидите множество доступных оболочек и классов.

Документация по используемым методам

Источник записи: awhitepixel.com

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