WordPress taxanomy.php not Showing



我创建了Cutom post类型,也创建了自定义taxanomy,但当我试图查看任何类别时,页面显示的是index.php而不是taxanomy.php。我也尝试了taxatomy-portfolio-category.php,但它仍然显示index.php

公文包帖子类型是用以下代码创建的:

`

// portfolio Custom Post Type
function portfolio_init()
{
// set up portfolio labels
$labels = array(
'name' => 'Portfolio',
'singular_name' => 'Portfolio',
'add_new' => 'Add New Portfolio',
'add_new_item' => 'Add New Portfolio',
'edit_item' => 'Edit Portfolio',
'new_item' => 'New Portfolio',
'all_items' => 'All Portfolio',
'view_item' => 'View Portfolio',
'search_items' => 'Search Portfolio',
'not_found' =>  'No Portfolio Found',
'not_found_in_trash' => 'No Portfolio found in Trash',
'parent_item_colon' => '',
'menu_name' => 'Portfolio',
);
// register post type
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'show_ui' => true,
'capability_type' => 'post',
"publicly_queryable" => true,
"hierarchical" => false,
'rewrite' => array('slug' => 'portfolio', 'with_front' => false),
'query_var' => true,
'show_in_nav_menus' => true,
'show_ui' => true,
'menu_icon' => 'dashicons-layout',
'supports' => array(
'title',
'editor',
'excerpt',
'trackbacks',
'custom-fields',
'comments',
'revisions',
'thumbnail',
'author',
'page-attributes'
)
);
flush_rewrite_rules();
register_post_type('portfolio', $args);
// register taxonomy
register_taxonomy('portfolio-category', 'portfolio', array(
'
hierarchical' => true,
'label' => 'Portfolio Category',
'query_var' => true,
'rewrite' => array('slug' => 'portfolio', 'with_front' => false),
));
//register tags
register_taxonomy('portfolio_tag', 'portfolio', array(
'hierarchical' => false,
'label' => 'Portfolio Tags',
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array('slug' => 'portfolio', 'with_front' => false),
));
flush_rewrite_rules();
}
add_action('init', 'portfolio_init');

`

我期待的是分类法-投资组合-类别.php而不是index.php

您可以在注册分类法时尝试修改重写规则。此刻,这三个人;post-type和两个分类法共享相同的重写规则。它们都指向相同的重写结构,其中post类型赢得了比赛,即index.php.

分类法的新重写规则:

// register taxonomy
register_taxonomy(
'portfolio-category',
'portfolio',
array(
'hierarchical' => true,
'label'        => 'Portfolio Category',
'query_var'    => true,
'rewrite'      => array(
'slug'       => 'portfolio-category',
'with_front' => false,
),
)
);
//register tags
register_taxonomy(
'portfolio_tag',
'portfolio',
array(
'hierarchical'          => false,
'label'                 => 'Portfolio Tags',
'query_var'             => true,
'show_ui'               => true,
'update_count_callback' => '_update_post_term_count',
'rewrite'               => array(
'slug'       => 'portfolio-tag',
'with_front' => false,
),
)
);

如果您需要进一步自定义分类法slugs,例如portfolio/category/post_name,则必须使用add_rewrite_rule((add_rewrite_tag((和一些其他函数创建自定义重写规则:(

最新更新