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

Как настроить в WordPress макет для типа записи с определенной таксономией, например, чтобы при открытии записи путь имел вид "домен/таксономия/запись"?
  • 27 марта 2024 г. 16:19
Ответы на вопрос 2
1. Создание кастомного шаблона для типа записи зависящего от определенной таксономии:

- Создайте новый файл в вашей теме WordPress с названием taxonomy-{taxonomy}-{post_type}.php, где {taxonomy} - это название вашей таксономии, а {post_type} - тип записи, для которой вы создаете шаблон.
- В этом файле вы можете использовать стандартные теги WordPress для вывода информации о записи.
- С помощью функции get_template_part() вы можете подключать отдельные части шаблона для удобства.
- Для более точного управления макетом вы можете использовать условные операторы и проверять, какая именно таксономия выбрана для текущей записи.

2. Настройка макета для типа записи с определенной таксономией в WordPress:

- Создайте файл single-{post_type}.php в вашей теме WordPress, где {post_type} - это тип записи, для которой вы хотите настроить макет.
- Внутри этого файла вам нужно указать перед выводом контента следующий код:

if ( has_term( 'название таксономии', 'taxonomy_name' ) ) {
    // Ваш код вывода контента
}

Где 'название таксономии' - это название конкретной таксономии, которую вы хотите использовать для выборки записей, а 'taxonomy_name' - это название таксономии в вашей WordPress установке.

- После этого WordPress будет автоматически применять ваш макет к записям, которые принадлежат определенной таксономии, и путь при открытии записи будет иметь вид "домен/таксономия/запись".
1. Функция has_term() проверяет наличие у поста терминов 

if ( has_term( '', 'post_tag' ) ) {
	echo 'У текущей записи есть метки';
}

if ( has_term( 'triller', 'video' ) ) {
	echo 'Запись имеет термин triller в таксономии video';
}


2. В функцию регистрации типа записи register_post_type() можно передать параметр rewrite в котором описать правила ЧПУ для этого типа записи. Свои правила перезаписи ссылок добавляются на фильтре post_type_link
Похожие вопросы