WordPress在URL中删除父类别(域映射)



以下代码允许我删除主域帖子的父类别。我的问题是我正在使用第三方插件来映射我的作者名称的第二个域。

  • domain1.com 主要域
  • domain2.com 映射域

永久链接结构:

  • domain1.com/me/cat/subcat/postname => domain2.com/cat/subcat/postname

基本上,domain1.com/me地图to domain2.com,它是

但是,如果我删除猫sl,只让这样的子猫(带有脚本(:

  • domain1.com/me/subcat/postname 工作
  • domain2.com/subcat/postname 不工作(err_too_many_redirects(

脚本删除url

中的父slug
add_filter( 'post_link', 'remove_parent_category', 10, 3 );
function remove_parent_category( $permalink, $post, $leavename )
{
    $cats = get_the_category( $post->ID );
    if ( $cats ) {
        usort( $cats, '_usort_terms_by_ID' );
        $category = $cats[0]->slug;
        if ( $parent = $cats[0]->parent ) {
            // Find parent categories and replace them in the link
            $parentcats = get_category_parents( $parent, false, '/', true );
            $permalink = str_replace( $parentcats, '', $permalink );
        }
    }
    return $permalink;
}

看一下插件,例如wp remove类别库,您可能会连接到query_vars,category_link,request,category_rewrite_rules来实现这一目标。

最新更新