我已经设置了两种自定义的帖子类型(show&podcast),并且我已经创建了podcast的父级,以便通过以下很棒的教程进行显示:https://1fix.io/blog/2016/02/05/parent-from-another-cpt/
重写规则运行得很好,但当我编辑播客时,我的永久链接仍然在url中显示%show%,如下所示:
http://example.com/podcast/%show%/sample-podcast-title
这是我的重写代码:
add_rewrite_tag(\'%podcast%\', \'([^/]+)\', \'podcast=\');
add_permastruct(\'podcast\', \'podcast/%show%/%podcast%\', false);
add_rewrite_rule(\'^podcast/([^/]+)/([^/]+)/?\',\'index.php?podcast=$matches[2]\',\'top\');
有了这段代码,我可以看到带有podcast/which-I-want/podcast名称的页面,它工作得很好。
以下是我的post\\u link\\u类型筛选函数:
function mySite_post_link_type($permalink, $post){
if($post->post_type == \'podcast\') {
$parent = $post->post_parent;
$parent_post = get_post( $parent );
$permalink = str_replace( \'%show%\', $parent_post->post_name, $permalink );
}
return $permalink;
}
add_filter( \'post_link_type\', \'mySite_post_link_type\', 10, 2 );
这应该是更新我的永久链接正确,但它不是。我尝试刷新缓存、保存永久链接等,但它仍然出现在我的永久链接上。
我需要调整优先级吗?我错过什么了吗?
谢谢你的帮助。