我无法让我的定制帖子类型编辑页面上的固定链接样本工作

时间:2018-04-05 作者:dawoodman71

我已经设置了两种自定义的帖子类型(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 );
这应该是更新我的永久链接正确,但它不是。我尝试刷新缓存、保存永久链接等,但它仍然出现在我的永久链接上。

我需要调整优先级吗?我错过什么了吗?

谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:Andy Macaulay-Brook 整理而成

重命名post_link_typepost_type_link

;-)

结束

相关推荐

How to replace permalinks

我已将wordpress项目导出并导入live server。现在的问题是,我将permalink结构作为“localhost”格式。当我单击网站中的任何链接时,它会将我重定向到localhost。我怎样才能改变这一点?我的htaccess文件如下所示<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /myproject/ RewriteRule ^index\\.php$ - [L] RewriteCo