2017-04-21 28 views
0

自定义模板存档我有一个自定义后类型,称为video,并作为类称为video_categoryWordPress是无视我的CPT

我要为视频类创建一个自定义归档页面自定义分类。所以我创建了一个名为archive-video.php的新文件,并在其中放置了一个简单的h1标签。

但每当我访问/video_category/category/它得到默认存档模板,并在那里,我看到了自定义分类,但是从默认post类型的职位,以及相关的帖子,并显示post类型的类别而不是自定义的分类。

functions.php

function video_post_type() { 

    $labels = array(
     'name'     => _x('Videos', 'Post Type General Name', 'text_domain'), 
     'singular_name'   => _x('Video', 'Post Type Singular Name', 'text_domain'), 
     'menu_name'    => __('Videos', 'text_domain'), 
     'name_admin_bar'  => __('Video', 'text_domain'), 
     'archives'    => __('Item Archives', 'text_domain'), 
     'attributes'   => __('Item Attributes', 'text_domain'), 
     'parent_item_colon'  => __('Parent Item:', 'text_domain'), 
     'all_items'    => __('All Items', 'text_domain'), 
     'add_new_item'   => __('Add New Item', 'text_domain'), 
     'add_new'    => __('Add New', 'text_domain'), 
     'new_item'    => __('New Item', 'text_domain'), 
     'edit_item'    => __('Edit Item', 'text_domain'), 
     'update_item'   => __('Update Item', 'text_domain'), 
     'view_item'    => __('View Item', 'text_domain'), 
     'view_items'   => __('View Items', 'text_domain'), 
     'search_items'   => __('Search Item', 'text_domain'), 
     'not_found'    => __('Not found', 'text_domain'), 
     'not_found_in_trash' => __('Not found in Trash', 'text_domain'), 
     'featured_image'  => __('Featured Image', 'text_domain'), 
     'set_featured_image' => __('Set featured image', 'text_domain'), 
     'remove_featured_image' => __('Remove featured image', 'text_domain'), 
     'use_featured_image' => __('Use as featured image', 'text_domain'), 
     'insert_into_item'  => __('Add into item', 'text_domain'), 
     'uploaded_to_this_item' => __('Uploaded to this item', 'text_domain'), 
     'items_list'   => __('Items list', 'text_domain'), 
     'items_list_navigation' => __('Items list navigation', 'text_domain'), 
     'filter_items_list'  => __('Filter items list', 'text_domain'), 
    ); 
    $args = array(
     'label'     => __('Video', 'text_domain'), 
     'description'   => __('Videos', 'text_domain'), 
     'labels'    => $labels, 
     'supports'    => array('title', 'editor', 'thumbnail', 'custom-fields', 'comments'), 
     'taxonomies'   => array('video_category', 'post_tag'), 
     'hierarchical'   => false, 
     'public'    => true, 
     'show_ui'    => true, 
     'show_in_menu'   => true, 
     'menu_position'   => 5, 
     'menu_icon'    => 'dashicons-video-alt2', 
     'show_in_admin_bar'  => true, 
     'show_in_nav_menus'  => true, 
     'can_export'   => true, 
     'has_archive'   => true, 
     'exclude_from_search' => false, 
     'publicly_queryable' => true, 
     'capability_type'  => 'post', 
    ); 
    register_post_type('video', $args); 

} 
add_action('init', 'video_post_type', 0); 

// Register Custom Taxonomy 
function video_category_taxonomy() { 

    $labels = array(
     'name'      => _x('Categories', 'Taxonomy General Name', 'text_domain'), 
     'singular_name'    => _x('Category', 'Taxonomy Singular Name', 'text_domain'), 
     'menu_name'     => __('Categories', 'text_domain'), 
     'all_items'     => __('All Items', 'text_domain'), 
     'parent_item'    => __('Parent Item', 'text_domain'), 
     'parent_item_colon'   => __('Parent Item:', 'text_domain'), 
     'new_item_name'    => __('New Item Name', 'text_domain'), 
     'add_new_item'    => __('Add New Item', 'text_domain'), 
     'edit_item'     => __('Edit Item', 'text_domain'), 
     'update_item'    => __('Update Item', 'text_domain'), 
     'view_item'     => __('View Item', 'text_domain'), 
     'separate_items_with_commas' => __('Separate items with commas', 'text_domain'), 
     'add_or_remove_items'  => __('Add or remove items', 'text_domain'), 
     'choose_from_most_used'  => __('Choose from the most used', 'text_domain'), 
     'popular_items'    => __('Popular Items', 'text_domain'), 
     'search_items'    => __('Search Items', 'text_domain'), 
     'not_found'     => __('Not Found', 'text_domain'), 
     'no_terms'     => __('No items', 'text_domain'), 
     'items_list'     => __('Items list', 'text_domain'), 
     'items_list_navigation'  => __('Items list navigation', 'text_domain'), 
    ); 
    $args = array(
     'labels'      => $labels, 
     'hierarchical'    => true, 
     'public'      => true, 
     'show_ui'     => true, 
     'show_admin_column'   => true, 
     'show_in_nav_menus'   => true, 
     'show_tagcloud'    => true, 
     'has_archive'    => true, 
    ); 
    register_taxonomy('video_category', array('video'), $args); 

} 
add_action('init', 'video_category_taxonomy', 0); 

这是archive-video.php

<?php 

get_header(); 

?> 

    <h1>Video Archive</h1> 

<?php 

get_footer(); 
+0

你可以检查更新后永久链接从管理部分? –

+0

这是我做的第一件事,没有骰子。 – Halnex

+0

你重新编译404错误吗? –

回答

0

你可以试试下面的代码到function.php文件。

add_filter('pre_get_posts', 'query_post_type'); 
function query_post_type($query) { 
    if(is_category() || is_tag()) { 
     $post_type = get_query_var('post_type'); 
     if($post_type) { 
      $post_type = $post_type; 
     } else { 
      $post_type = array('post','video'); // replace CPT to your custom post type 
     } 
     $query->set('post_type',$post_type); 

    } 
    return $query; 
} 
+0

这并没有改变任何东西。 – Halnex

+0

chnage, 'taxonomy'=> array('video_category','post_tag'), 至 'taxonomy'=> array('video_category'), –

相关问题