Шаблон категории для пользовательского типа сообщения

Я с ума сошел со следующей проблемой, надеюсь, вы можете мне помочь!

Я работаю над темой WordPress для бизнес-каталога, поэтому решил создать некоторые пользовательские типы сообщений в файле functions.php, например «Хирургический», «Нехирургический» и т. Д. В соответствии с типом персонализированного типа «хирургический» я 'создал специальную таксономию под названием «хирургический_cat». До сих пор все нормально.

Дело в том, что я создал некоторые категории под «хирургическим_катом» под названием «Подтяжка рук», «Сокращение брахиопластики», «Увеличение груди», и я сделал шаблон в соответствии с правилом codex: http://codex.wordpress.org/Category_Templates но это не сработало. Я смотрю вокруг, как сумасшедший, и ничего не появилось … кроме 404.php страницы / шаблона ошибки.

Может кто-нибудь, пожалуйста, дайте мне знать, как перейти к созданию этого шаблона на основе категории для моей категории внутри этой пользовательской таксономии? Я действительно беспокоюсь об этом 🙁 Спасибо большое!

Чтобы увидеть сайт, перейдите по этой ссылке: http://my-portfolio-site.site88.net/business_directory/

Вы можете найти список под заголовком: Процедуры Хирургические

РЕГИСТРАЦИЯ ТИПА ТАМОЖЕННОЙ ПОЧТЫ ДЛЯ «хирургического» файла functions.php:

// CUSTOM POST TYPE REGISTERING FOR 'surgical' add_action( 'init', 'surgical_post' ); function surgical_post() { register_post_type( 'surgical', array( 'labels' => array( 'name' => __( 'Surgical' ), 'singular_name' => __( 'Surgical' ), 'add_new' => __( 'Add New' ), 'add_new_item' => __( 'Add New Surgical' ), 'edit_item' => __( 'Edit Surgical' ), 'new_item' => __( 'New Surgical' ), 'view_item' => __( 'View Surgical' ), 'not_found' => __( 'Sorry, we couldn\'t find the Surgical you are looking for.' ) ), 'public' => true, 'publicly_queryable' => true, 'exclude_from_search' => true, 'menu_position' => 5, 'has_archive' => true, 'hierarchical' => false, 'capability_type' => 'page', 'rewrite' => array( 'slug' => 'surgical' ), 'supports' => array( 'title', 'editor', 'custom-fields', 'thumbnail', ) ) ); } 

РЕГИСТРАЦИЯ ТАМОЖЕННОЙ ТАКСОНОМИИ ДЛЯ ТАМОЖЕННОГО ТИПА «хирургическая» на файл functions.php:

 add_action( 'init', 'business_listing_taxonomy'); function business_listing_taxonomy() { register_taxonomy( 'surgical_cat', //The name of the taxonomy. Name should be in slug form (must not contain capital letters or spaces). 'surgical', //post type name array( 'public' => true, 'hierarchical' => true, 'label' => 'Surgical Category', //Display name 'query_var' => true, 'show_admin_column' => true, 'rewrite' => array( 'slug' => 'surgical', // This controls the base slug that will display before each term 'with_front' => false // Don't display the category base before ) ) ); } 

Категории категорий wp для отображения категорий на главной странице:

  //list terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin) <?php $args = array( 'post_type' => 'surgical', 'taxonomy' => 'surgical_cat', 'orderby' => 'surgical_order', 'show_count' => 1, 'pad_counts' => 1, 'hierarchical' => 1, 'title_li' => '', ); ?> <ul> <?php wp_list_categories( $args ); ?> </ul> 

Solutions Collecting From Web of "Шаблон категории для пользовательского типа сообщения"

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

Изучите иерархию шаблонов таксономии на связанной странице в своем вопросе

Что касается страницы 404, вы, скорее всего, не сбросили свои постоянные ссылки после добавления своего настраиваемого типа сообщений.

РЕДАКТИРОВАТЬ

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

Вот решение, отправленное @JeremyLove. Измените код по мере необходимости и с вашими таксономиями и именами типа публикации. Кроме того, важно , промойте свои постоянные ссылки после внесения любых изменений в ваш код, чтобы новые структуры могли быть сохранены

 function taxonomy_slug_rewrite($wp_rewrite) { $rules = array(); // get all custom taxonomies $taxonomies = get_taxonomies(array('_builtin' => false), 'objects'); // get all custom post types $post_types = get_post_types(array('public' => true, '_builtin' => false), 'objects'); foreach ($post_types as $post_type) { foreach ($taxonomies as $taxonomy) { // go through all post types which this taxonomy is assigned to foreach ($taxonomy->object_type as $object_type) { // check if taxonomy is registered for this custom type if ($object_type == $post_type->rewrite['slug']) { // get category objects $terms = get_categories(array('type' => $object_type, 'taxonomy' => $taxonomy->name, 'hide_empty' => 0)); // make rules foreach ($terms as $term) { $rules[$object_type . '/' . $term->slug . '/?$'] = 'index.php?' . $term->taxonomy . '=' . $term->slug; } } } } } // merge with global rules $wp_rewrite->rules = $rules + $wp_rewrite->rules; } add_filter('generate_rewrite_rules', 'taxonomy_slug_rewrite'); , function taxonomy_slug_rewrite($wp_rewrite) { $rules = array(); // get all custom taxonomies $taxonomies = get_taxonomies(array('_builtin' => false), 'objects'); // get all custom post types $post_types = get_post_types(array('public' => true, '_builtin' => false), 'objects'); foreach ($post_types as $post_type) { foreach ($taxonomies as $taxonomy) { // go through all post types which this taxonomy is assigned to foreach ($taxonomy->object_type as $object_type) { // check if taxonomy is registered for this custom type if ($object_type == $post_type->rewrite['slug']) { // get category objects $terms = get_categories(array('type' => $object_type, 'taxonomy' => $taxonomy->name, 'hide_empty' => 0)); // make rules foreach ($terms as $term) { $rules[$object_type . '/' . $term->slug . '/?$'] = 'index.php?' . $term->taxonomy . '=' . $term->slug; } } } } } // merge with global rules $wp_rewrite->rules = $rules + $wp_rewrite->rules; } add_filter('generate_rewrite_rules', 'taxonomy_slug_rewrite');