我创建了一个自定义帖子类型 post_event_type 并在注册时将重写设置为true .
在此帖子类型中, event_Category 的分类下有类别,其重写设置为true
然后,该URL将此帖子解析为URL / post_event_type / postname
在分类标准下有三类,如电影,舞蹈,音乐 .
我希望网址以URL / dance / postname的形式解析到页面,因此'dance'将成为分类法类别,帖子名称将是驻留在此类别下面的帖子
如果我将寄存器帖子类型重写更改为'events',他们将全部解析为URL / events / postname
然后我尝试了以下编码来尝试将它们分开 . 这些URL按照我的方式工作,然后他们转到404页面 .
add_filter('rewrite_rules_array', 'mmp_rewrite_rules');
function mmp_rewrite_rules($rules) {
$newRules = array();
$newRules['events/(.+)/(.+)/(.+)/(.+)/?$'] = 'index.php?vc_guide_creator=$matches[4]';
$newRules['events/(.+)/?$'] = 'index.php?event_Category=$matches[1]';
return array_merge($newRules, $rules);
}
global $wp_rewrite;
$structure = '/%events%/';
$wp_rewrite->add_rewrite_tag("%events%", '([^/]+)', "post_event_type=");
$wp_rewrite->add_permastruct('post_event_type', $structure, false);
function filter_post_type_link($link, $post)
{
if ($post->post_type != 'post_event_type')
return $link;
if ($cats = get_the_terms($post->ID, 'event_Category')){
$link = str_replace('post_event_type', array_pop($cats)->slug, $link);
}
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
有人可以帮忙吗?
1 回答
您是否尝试更新永久链接?
转到设置 - >永久链接,然后单击底部的保存更改按钮而不更改任何设置,这将只更新永久链接表 .