Вывод произвольных типов записей и полей в WordPress на сайте.

Вывод произвольных типов записей в WordPress рассматриваю на примере темы Understrap.

Произвольные типы записей и поля:

Добавление произвольных типов записей в WordPress (чуть позже напишу о Pods)

Вывод произвольных типов записей в WordPress

Добавление произвольных полей к записям в WordPress

Вывод произвольных полей в записях WordPress

Вывод (отображение) произвольных типов записей в WordPress

Открываем папку с активной темой в любимом редакторе (я люблю VS Code). В примере я использую тему understrap (https://github.com/understrap/understrap). Поэтому если будете повторять за мной, рекомендую тренироваться именно на этой теме. Пояснять буду на примере пользовательского портфолио.

  1. Кастомные поля решил попробовать создавать при помощи плагина Pods (https://docs.pods.io/). Создал поле с именем «Работы» (works).
  2. Создал страницу отвечающую за вывод постов из кастомного раздела — в папке page-templates works-template.php. В шапке прописываю имя шаблона и из админки WP создаю новую страницу и шаблоном выбираю его.

  

- Template Name: Template: Works
-
- Template for displaying a page without sidebar even if a sidebar widget is published.
-
- @package UnderStrap

Публикую страницу.

Вывод произвольных типов записей в WordPress на сайте

Вношу изменения в страницу works-template.php

Что-то типа:

$posts = get_posts("post_type=works&orderby=date&numberposts=5");
if ($posts) : ?>
                 foreach ($posts as $post) : setup_postdata($post);
the_title(); 
the_post_thumbnail(); 
the_excerpt();
endforeach;
           endif;

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

Готово. Если вы все сделали правильно, то задача минимум достигнута. Мы вывели произвольные типы записей — из раздела «Работы» на страницу сайта. Дальше можно заняться деталями. А именно, чтобы наши полноценные записи выводились в нужной нам верстке, а не в стандартной для шаблона.

  1. Вывод произвольных типов записей в отдельном шаблоне

В корне темы создаю файл single-works.php и копирую в него код из single.php. Найдя строчки типа

get_template_part( 'loop-templates/content', 'single' );

я поменяю на свой шаблон — single-works.

Создаю файл content-single-works.php в папке loop-templates. Копирую в него код из content-single.php и меняю под нужную мне верстку Теперь «Работы» выводятся по шаблону content-single-works.php. Если необходимо изменить разметку, стили, то правим именно его.

Если мы все сделали правильно, то теперь имеем раздел для контента, который выводится со своей индивидуальной версткой.



2021-01-30T13:20:43
WordPress