永久链接的WordPress自定义帖子类型更改显示404

时间:2016-03-07 12:25:46

标签: wordpress custom-post-type permalinks taxonomy custom-taxonomy

我创建了一个自定义帖子类型 post_event_type ,并在注册时将重写设置为true。

在此帖子类型中, event_Category 的分类下有类别,重写设置为true

然后,该帖子将此帖子解析为URL / post_event_type / postname

分类 event_Category 下有三类,如电影,舞蹈,音乐等。

我希望网址能够以这样的网址/舞蹈/姓名的形式解析到网页,以便跳舞'将是分类法类别,帖子名称将是该类别下面的帖子

如果我将寄存器帖子类型重写更改为' events'他们都会解析为URL / events / postname

然后我尝试了以下编码来尝试将它们分开。这些网址按照我的方式工作,然后他们会转到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 个答案:

答案 0 :(得分:1)

您是否尝试更新永久链接。

转到设置 - >永久链接并单击底部的保存更改按钮而不更改任何设置,这将只更新永久链接表。