Wordpress自定义帖子类型,类别档案不起作用

时间:2016-05-02 02:25:55

标签: wordpress

我花了几个小时在谷歌上搜索,但没有快乐......

url:http://workflow.wearepixel.co.uk/product/tall-cabinets/

我有自定义帖子类型'产品'和一个类别' tall-cabinet'的cpt帖子。我只需要在共享模板(例如taxonomy.php)上显示自定义帖子类别

我已经尝试了所有标准模板,category.php,taxonomy.php,archive.php,category-product.php,taxonomy-product.php,archive-product.php ......天知道如何很多脚本......

不幸的是,taxonomy-product-tall-cabinets.php也不会工作,因为我需要为所有cpt类别设置默认模板。

请有人帮忙吗?

固定。将其添加到functions.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','<strong>cpt</strong><strong>'); // replace cpt to your custom post type
    $query->set('post_type',$post_type);
    return $query;
    }
}

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,我唯一能看到与我使用的代码不同的东西,你在这里放的代码就是你正在寻找标签。

 if(is_category() || is_tag()) {

我不使用标签部分,但我的标签仍然显示。

也是这一行

        $post_type = array('post','<strong>cpt</strong><strong>'); // replace cpt to your custom post type

尝试将“nav_menu_item”添加到您的数组

$post_type = array('nav_menu_item', 'post','<strong>cpt</strong><strong>');

应该添加菜单项

我的完整代码:

add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
  if( is_category() ) {
    $post_type = get_query_var('post_type');
    if($post_type)
        $post_type = $post_type;
    else
        $post_type = array('nav_menu_item', 'post', 'case_study'); 
    $query->set('post_type',$post_type);
    return $query;
    }
}