Wordpress - Как создать собственный шаблон сообщения - PullRequest
0 голосов
/ 29 апреля 2019

Я занимаюсь разработкой веб-сайта с WordPress и использую underscores начальную тему. У меня есть 2 разные категории, и мне нужно создать отдельные шаблоны для каждой.

У меня проблемы с этим, потому что WordPress не принимает мои индивидуальные шаблоны, и я не понимаю, почему.

Я уже пытался поместить один шаблон в корневой каталог тем, пробовал single-cat-categoryname.php или просто single-categoryname.php, создать одну папку, но ничего не работает.

Как я могу создавать собственные шаблоны одиночных сообщений с underscores?

Спасибо

Ответы [ 4 ]

1 голос
/ 30 апреля 2019

Используя фильтры Wordpress (WP для краткости) {$type}_template (см. здесь ), вы можете проверить различные сценарии, когда WP пытается поднять файлы пост-шаблонов.

Если я правильно понимаю вашу ситуацию, вы захотите воспользоваться фильтром single_template и выполнить некоторую проверку, чтобы убедиться, что сообщение WP соответствует вашим критериям.

Вот пример кода:

function override_single_template( $template ) {
    global $post;

    if ( has_category( "cat_name", $post ) ) {
       // set $template to file location of custom `single` template
       // NOTE: file name for template does not have to follow WP post template 
             // naming convention BUT is preferred
    } 

    return $template;
}

add_filter( 'single_template', 'override_single_templates' );
0 голосов
/ 29 апреля 2019

Вы должны назвать шаблоны следующим образом: category-slug.php в корневой папке темы.

Просто замените пули той категорией, которую вы хотите.

Надеюсь, это поможет.

0 голосов
/ 29 апреля 2019

В Wordpress настраиваемый шаблон для отдельной категории должен называться

category-{category id}.php
category-{slug}.php

Иерархия шаблонов Wordpress основана на именах и идентификаторах, вы можете узнать больше об этом здесь: Иерархия шаблонов

0 голосов
/ 29 апреля 2019

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

Ссылка: Иерархия шаблонов

, но вы можете создатьстраница шаблона, где вы можете выбрать шаблон для каждого сообщения

Ссылка: Шаблоны страниц

...