我有一个名为“菜单”的自定义帖子类型,包含以下类别
热菜盒沙拉汤包装代码:
register_taxonomy(
\'menutype\',
array("menu"),
array(
"hierarchical" => true,
"label" => "Menu Categories",
"singular_label" => "Menu Category",
"rewrite" => array( \'slug\' => \'menu/type\', \'hierarchical\'=>\'true\'),
"show_ui"=>"radio", // used a plugin
"query_var" => true
)
);
现在,如果我想说,显示我的所有“热盒”,它去
http://www.mysite.com/menu/type/hotboxes
但如果它显示一个热盒,它只会转到
http://www.mysite.com/menu/hotbox-single-item
有没有办法重写url
http://www.mysite.com/menu/type/hotbox/hotbox-single-item
我想要的理想格式是:
http://www.mysite.com/custom_post_type/custom_taxonomy/post_name
编辑:我设法获得了链接
looking 就像我想做的那样:
function menu_post_link( $post_link, $id = 0 ) {
$post = get_post($id);
if ( $post->post_type != \'menu\')
{
return $post_link;
}
if( $terms = wp_get_object_terms( $post->ID, \'menutype\' ) ) {
$custom_taxonomy = $terms[0]->slug;
$post_link = str_replace(\'menu\', \'menu/\'.$custom_taxonomy, $post_link);
}
return $post_link;
}
add_filter( \'post_type_link\', \'menu_post_link\', 10, 2 );
注意:我的自定义帖子类型称为“menu”,我的自定义分类法称为“menutype”。
现在,这将创建我想要的永久链接:
http://www.mysite.com/custom_post_type/custom_taxonomy/post_name
但是,即使在刷新“我的重写规则”(Settings>Permalinks>save)之后,它也会生成404错误