Wordpress删除分层的CPT Slug

时间:2018-04-16 13:16:33

标签: php wordpress permalinks custom-wordpress-pages

我正在尝试使用分层网址删除CPT slug:

www.test.com/cpt-slug/post-name/> www.test.com/post-name

我做得很好并且正在使用下面的代码但是当我有一个孩子的帖子,即www.test.com/post-name/child-post-name时,它似乎没有用。我也需要这个也适用于这种类型的网址www.test.com/post-name/child-post-name/another-child-post-name

      function rewrite_permalink($permalink, $post_id, $leavename) {
    $post = get_post($post_id);
      if ( self::$post_type != $post->post_type || 'publish' != $post->post_status ) return $permalink;

      // Get post
      if (!$post) return $permalink;

      return strtr($permalink,array('/' . self::$post_type . '/' => '/'));
  }
  public static function holiday_parse_request( $query ) {
    $counts = array( 2, 4 );
    if ( ! $query->is_main_query() || !in_array(count( $query->query ), $counts) || ! isset( $query->query['page'] ) ) {
          return;
      }
      $query->set( 'post_type', array( 'post', self::$post_type, 'page' ) );

      if ( ! empty( $query->query['name'] ) ) {
          $query->set( 'post_type', array( 'post', self::$post_type, 'page' ) );
      }

  }

提前致谢。

0 个答案:

没有答案