我花了几个小时在谷歌上搜索,但没有快乐......
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;
}
}
答案 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;
}
}