自定义帖子类型的URL重写

时间:2017-07-06 作者:waterschaats

我有一个带有自定义帖子类型类别的帖子类型集合。

我想要以下url结构:www.baseurl。com/集合/当前类别名称/postname

我如何做到这一点?

2 个回复
最合适的回答,由SO网友:berend 整理而成

是的,您可以在创建自定义帖子类型时使用rewrite参数:

register_post_type( \'example_type\',
      array(
          \'labels\' => array(
              \'name\' => "Example-Type",
              \'singular_name\' => "example-type"
          ),
          \'public\' => true,
          \'has_archive\' => true,
          \'rewrite\' => array(\'slug\' => \'the-url-you-want\',
      )
  );
}
您需要重置永久链接才能使其生效。

编辑:

function custom_post_link( $post_link, $id = 0 ){
    $post = get_post($id);  
    if ( is_object( $post ) ){
        $terms = wp_get_object_terms( $post->ID, \'category\' );
        if( $terms ){
            return str_replace( \'%category%\' , $terms[0]->slug , $post_link );
        }
    }
    return $post_link;  
}
add_filter( \'post_type_link\', \'custom_post_link\', 1, 3 );

SO网友:Luckyfella

我也确实有这个问题需要解决,我从Diana 这就解决了问题:

Permalink rewrite with custom post type and custom taxonomy

结束

相关推荐