在永久链接 Wordpress 分类法父亲中删除

Delete in the permalink Wordpress taxonomy father

我在 Wordpress 的永久链接中放置了一个带有插件的个性化分类法。该分类法是分层的。 child比他高两级。我只想离开我的儿子。 例子: Africa/Algeria/Algeri 我只是想: 阿尔及利亚

我目前的URL如下: www.example.com/guide/africa/algeria/algeri/nome/ID

我希望它是这样的: www.example.com/guide/algeri/nome/ID 也就是,你只管离开你的儿子

URL (www.example.com/guide/algeri/nome/ID) 正在工作,但在后台和 Wordpress 前台没有更改,尽管"False" 在重写分类法中(使用 CPT UI 插件)。我总是看原版URL.

我在 Wordpress 永久链接中写道: 指南/%taxonomy%/%postname%/%post_id%

我该如何解决?

你不能用永久链接字符串来做到这一点。但是 WordPress 过滤器可以帮助您。 WordPress 中有一个名为 "post_link" 的过滤器。

https://codex.wordpress.org/Plugin_API/Filter_Reference/post_link

那么,假设您编写了这样的过滤器:

add_filter( 'post_link', 'remove_specified_part_from_link', 10, 3 );
function remove_specified_part_from_link( $permalink, $post, $leavename )
{
$permalink_array=explode("/",$permalink);
unset($permalink_array[4]);
return implode("/",$permalink_array);
}

当用“/”分解$permalink时,它将return "http:","","www.example.com","guide","africa","algeria"、"nome"、"ID"。 所以我们看到应该删除第 5 个元素。这就是为什么我们取消设置 $permalink_array[4] 和 return 内爆数组,这将等于“http://www.example.com/guide/algeria/algeri/nome/ID