2017-04-21 1 views
0

J'ai un type appelé video et taxonomie personnalisée après personnalisée agissant comme des catégories appelées video_categoryWordpress ne tient pas compte de mon modèle personnalisé Archive pour CPT

Je veux créer une page d'archive personnalisée pour les catégories vidéo. J'ai donc créé un nouveau fichier appelé archive-video.php et placé une simple étiquette h1 à l'intérieur.

Mais chaque fois que je visite /video_category/category/ il obtenir le modèle d'archivage par défaut et là, je vois les postes associés à la taxonomie personnalisée, mais les messages du type par défaut post ainsi et il affiche les catégories du type post au lieu de la coutume taxonomie.

dans 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); 

C'est archive-video.php

<?php 

get_header(); 

?> 

    <h1>Video Archive</h1> 

<?php 

get_footer(); 
+0

pouvez-vous vérifier après la mise à jour permalink de la section admin? –

+0

C'est la première chose que j'ai faite, pas de dés. – Halnex

+0

est-ce que vous retun 404 erreur? –

Répondre

0

pouvez-vous essayer ci-dessous le code dans le fichier 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

Cela n'a rien changé. – Halnex

+0

chnage, 'taxonomies' => array ('video_category', 'post_tag'), à 'taxonomies' => array ('video_category'), –