WordPress修改自定义类型文章的固定URL结构

2018年7月6日07:11:40 2 15 views

wordpress自定义文章类型的文章固定链接结构默认是http://域名/post_type/post_name/格式,比如自定义文章类型是product,那么文章URL就是http://域名/product/文章别名/,如果想要把固定链接更改为http://域名/post_type/post_id.html的格式怎么办?因为wordpress并没有在后台提供自定义文章类型的固定链接设置,因此需要通过代码或插件实现。

WordPress修改自定义类型文章的固定URL结构

 

1、以product自定义文章类型为例,在当前主题的functions.php文件中添加以下代码:

  1. //修改自定义类型文章的URL结构
  2. add_filter('post_type_link', 'custom_book_link', 1, 3);
  3. function custom_book_link( $link$post = 0 ){
  4.     if ( $post->post_type == 'book' ){
  5.         return home_url( 'book/' . $post->ID .'.html' );
  6.     } else {
  7.         return $link;
  8.     }
  9. }
  10. add_action( 'init', 'book_rewrites_init' );
  11. function book_rewrites_init(){
  12.     add_rewrite_rule(
  13.         'book/([0-9]+)?.html$',
  14.         'index.php?post_type=book&p=$matches[1]',
  15.         'top' );
  16.     add_rewrite_rule(
  17.         'book/([0-9]+)?.html/comment-page-([0-9]{1,})$',
  18.         'index.php?post_type=book&p=$matches[1]&cpage=$matches[2]',
  19.         'top'
  20.         );
  21. }

 

提示:请把代码中的book替换为自定义的文章类型。

 

2、添加好代码后,进入网站后台——设置——固定链接,点击“保存更改”后,修改生效,如果不点击保存更改是不会生效的。

 

代码来自:solagirl

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • 梁兴健 梁兴健 2

      用分类区分开来应该也行吧,将某个文章分类作为说说

      • B乐 B乐 0

        学习了,谢谢分享