2011-05-24 77 views
0

我已經構建了一個自定義帖子類型,該類型設置爲使用帖子使用的開箱即用標籤和類別。但是,如果我點擊標籤或分類鏈接,存檔只會顯示帶有該標籤的帖子,而不是我的自定義帖子類型。我嘗試了幾種方法來解決它,但他們似乎並沒有工作。我的代碼是:試圖讓自定義帖子類型和帖子顯示在標籤和類別頁面中

// Add Resource Post Type 

add_action('init', 'hallam_init'); 

function hallam_init() { 
     // set up the labels 
     $labels = array(
       'name' => _x('Resources', 'post type general name'), 
       'singular_name' => _x('Resource', 'post type singular name'), 
       'add_new' => _x('Add New', 'resource'), 
       'add_new_item' => __('Add New Resource'), 
       'edit_item' => __('Edit Resource'), 
       'new_item' => __('New Resource'), 
       'view_item' => __('View Resource'), 
       'search_items' => __('Search Resources'), 
       'not_found' => __('No resources found'), 
       'not_found_in_trash' => __('No respources found in Trash'), 
       'parent_item_colon' => '' 
     ); 

     // set up the args 
     $args = array (
       'labels' => $labels, 
       'public' => true, 
       'publicly_queryable' => true, 
       'show_ui' => true, 
       'query_var' => true, 
       'rewrite' => array (
         'slug' => 'resources' 
       ), 
       'capability_type' => 'post', 
       'hierarchical' => false, 
       'menu_position' => 5, 
       'supports' => array(
         'title', 
         'editor', 
         'author', 
         'thumbnail', 
         'excerpt', 
         'comments' 
       ), 
       'taxonomies' => array(
         'collection', 
         'category', 
         'post_tag' 
       ), 
       'has_archive' => true 
     ); 

     register_post_type('ht_resource', $args); 
} 

// Add Taxonomy 

register_taxonomy('collection', 'ht_resource', array(
     'hierarchical' => true, 
     'label' => 'Collections', 
     'query_var' => true, 
     'rewrite' => true 
)); 

// Fix the archives 

    add_filter('pre_get_posts', 'add_to_query'); 

    function add_to_query($query) { 
     // if (is_home()) { 
      if($query->query_vars['suppress_filters']) // TODO check if necessary 
       return $query; 
      $supported = $query->get('post_type'); 
      if (!$supported || $supported == 'post') 
       $supported = array('post', 'ht_resource'); 
      elseif (is_array($supported)) 
       array_push($supported, 'ht_resource'); 
      $query->set('post_type', $supported); 
      return $query; 
     //} 
    } 

我是否缺少明顯的東西?

回答

0

你可以嘗試添加你的主題的functions.php嗎?希望它會工作

function query_post_type($query) { 
    if(is_tag()) { 
     $query->set('post_type',$post_types=get_post_types('','names')); 
     return $query; 
    } 
} 
add_filter('pre_get_posts', 'query_post_type'); 

日Thnx

相關問題