У меня есть подобная проблема этому: Пользовательский Шаблон Типа Сообщения - Архив
У меня есть WordPress пользовательский названный тип сообщения coupon
. Я пытаюсь присвоить шаблон ему при помощи archive-coupon.php
, но это переходит непосредственно в home.php
.
У меня также есть пользовательская таксономия этого названного CPT tags
с rewrite rule => "tag"
таким образом, когда я перехожу к URL как это - http://mysite.com/tag/3d
Я хочу видеть пользовательский шаблон для своего Пользовательского Типа Сообщения или общий для taxonomies.
Я также попробовал taxonomy.php
шаблон, но это все еще игнорирует его. Какова могла быть проблема?
Я не знаю то, что действительно произошло. Но перед этим у меня был шаблон, названный таксономией-store.php. Так, когда я переименовал его к другому имени, таксономии tag
запущенное использование taxonomy.php
шаблонный файл. И все еще archive-coupon.php
не работает.
я верю tag
зарезервированная таксономия, переписывают имя на Wordpress, который будет использоваться на значении по умолчанию post_tag
таксономия. Это могло бы вызвать проблему. Переименуйте пользовательскую таксономию к чему-то как coupon-tag
.
BTW: Вы пытались сбросить переписывание путем посещения страницы постоянной ссылки из вкладки настроек?
Прежде всего давайте удостоверимся, что Вы понимаете шаблонную иерархию. Поскольку сообщение вводит названный купон с 'has_archive' => true
и таксономия назвала тег купона (следующий совету @Sisir), оба набора общественности,
Далее, tag
специальное слово, и Вы встретитесь, переписывают конфликты с помощью что как краткий заголовок. Необходимо использовать что-то еще.
Наконец, сбрасывание Ваш переписывает, очень важно здесь, и необходимо не забыть делать это после любых изменений в любой из соответствующих норм (любые изменения в CPT или таксономии). Самый легкий способ сделать так состоит в том, чтобы перейти к Настройкам → Постоянные ссылки и нажать "Save Changes".
Я думаю, что необходимо добавить поддержку пользовательских типов таксономии и назвать файл taxonomy-cpt-type.php, где cpt является названием Пользовательского Типа Сообщения.
Ваш архивный файл CPT нужно назвать архивом-cpt.php, где cpt является названием Вашего Пользовательского Типа Сообщения.
Вот весь код, который был протестирован.
Примечание: Вы не должны использовать тег или теги как название Вашего пользовательского типа таксономии, поскольку это будет конфликтовать с существующими базовыми функциями.
add_action( 'init', 'wpsites_cpt_post_type' );
function wpsites_cpt_post_type() {
register_post_type( 'cpt',
array(
'labels' => array(
'name' => __( 'CPT', 'theme' ),
'singular_name' => __( 'CPT', 'theme' ),
),
'has_archive' => true,
'hierarchical' => true,
'menu_icon' => true,
'public' => true,
'rewrite' => array( 'slug' => 'cpt', 'with_front' => false ),
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes' ),
'taxonomies' => array( 'cpt-type' ),
));
}
И это для регистрации Полосы набора Таксономии, где можно создать неограниченные налоговые типы.
add_action( 'init', 'wpsites_register_taxonomy_types' );
function wpsites_register_taxonomy_types() {
register_taxonomy( 'cpt-type', 'cpt',
array(
'labels' => array(
'name' => _x( 'Types', 'taxonomy general name', 'theme' ),
'add_new_item' => __( 'Add New CPT Type', 'theme' ),
'new_item_name' => __( 'New CPT Type', 'theme' ),
),
'exclude_from_search' => true,
'has_archive' => true,
'hierarchical' => true,
'rewrite' => array( 'slug' => 'cpt-type', 'with_front' => false ),
'show_ui' => true,
'show_tagcloud' => false,
));
}
Замените все экземпляры cpt с названием Вашего пользовательского типа сообщения, затем повторно сохраняют Ваши настройки Permalink.
Иначе это может быть проблема с кодом в Вашем taxonomy-cpt-type.php файле.