php 使用WordPress的add_rewrite_rule与Polylang插件

kmbjn2e3  于 2023-06-21  发布在  PHP
关注(0)|答案(1)|浏览(125)

我使用此代码添加rewrite_rule为WordPress创建子帖子为另一个帖子类型

add_action( 'init', function() {add_rewrite_rule( '^property/(.*)/units/([^/]+)/?$','index.php?property_units=$matches[2]','top' );});

add_filter( 'post_type_link', function( $link, $post ) {
  if ( 'property_units' == get_post_type( $post ) ) {
    if( $post->post_parent ) {
      $parent = get_post( $post->post_parent );
      if( !empty($parent->post_name) ) {return str_replace( '%property_name%', $parent->post_name, $link );}
    }
  }
  return $link;
}, 10, 2 );

而且效果很好
但是当我添加Polylang插件时,它只适用于默认语言,不适用于其他语言

lrl1mhuk

lrl1mhuk1#

add_rewrite_rule( '^property/(.*)/units/([^/]+)/?$','index.php?property_units=$matches[2]','top' )

需要添加?lang=en到url

相关问题