国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Wordpress > 正文

WordPress 設置偽靜態后文章分頁鏈接

2024-09-07 00:52:46
字體:
來源:轉載
供稿:網友

我們通常將WordPress固定鏈接設為/%postname%.html或者/%post_id%.html,可以讓頁面看起來像靜態頁,但當文章有分頁時,分頁鏈接會變得奇怪,比如:

/morning-paper-news.html/3

/132.html/2

html既然是后綴就應該一直在最后,來自solagirl的《用.html作為url后綴時的分頁鏈接問題》一文,為我們提供了解決辦法。

不過原代碼只提供了/%postname%.html的修改方法。

本文提供一下/%post_id%.html的修改方法。

修正WordPress 設置偽靜態后文章分頁鏈接

將下面代碼添加到當前主題 functions.php中:

  1. // 適合/%post_id%.html分頁鏈接修正 
  2.  
  3. class Rewrite_Inner_Page_Links_id{ 
  4.  
  5.     var $separator
  6.  
  7.     function __construct(){ 
  8.  
  9.         $this->separator = '/page-'
  10.  
  11.         if( !is_admin() || defined( 'DOING_AJAX' ) ) : 
  12.  
  13.             add_filter( 'wp_link_pages_link'array$this'inner_page_link_format' ), 10, 2 ); 
  14.  
  15.             add_filter( 'get_comments_pagenum_link'array$this'comment_page_link_format' ) ); 
  16.  
  17.             add_filter( 'redirect_canonical'array$this'cancel_redirect_for_paged_posts' ), 10, 2 ); 
  18.  
  19.         endif
  20.  
  21.         if( is_admin() ) : 
  22.  
  23.             add_filter( 'rewrite_rules_array'array$this'pagelink_rewrite_rules' ) ); 
  24.  
  25.             register_activation_hook( __FILE__array$this'flush_rewrite_rules' ) ) ; 
  26.  
  27.             register_deactivation_hook( __FILE__array$this'flush_rewrite_rules' ) ); 
  28.  
  29.         endif
  30.  
  31.     } 
  32.  
  33.     function flush_rewrite_rules(){ 
  34.  
  35.         flush_rewrite_rules(); 
  36.  
  37.     } 
  38.  
  39.     // 修改post分頁鏈接的格式 
  40.  
  41.     function inner_page_link_format( $link$number ){ 
  42.  
  43.         if$number > 1 ){ 
  44.  
  45.             if( preg_match( '% 
  46.  
  47.                 $link = preg_replace( "%(/.html)/(/d*)%"$this->separator."$2$1"$link ); 
  48.  
  49.             } 
  50.  
  51.         } 
  52.  
  53.         return $link
  54.  
  55.     } 
  56.  
  57.      // 為新的鏈接格式增加重定向規則,移除原始分頁鏈接的重定向規則,防止重復收錄 
  58.  
  59.     function pagelink_rewrite_rules( $rules ){ 
  60.  
  61.         foreach ($rules as $rule => $rewrite) { 
  62.  
  63.             if ( $rule == '([0-9]+).html(/[0-9]+)?/?$' ) { 
  64.  
  65.                 unset($rules[$rule]); 
  66.  
  67.             } 
  68.  
  69.         } 
  70.  
  71.         $new_rule['([0-9]+)('.$this->separator.'([0-9]+))?.html/?$'] = 'index.php?p=$matches[1]&page=$matches[3]'
  72.  
  73.         return $new_rule + $rules
  74.  
  75.     } 
  76.  
  77.     // 禁止WordPress將頁面分頁鏈接跳轉到原來的格式 
  78.  
  79.     function cancel_redirect_for_paged_posts( $redirect_url$requested_url ){ 
  80.  
  81.         global $wp_query
  82.  
  83.         if( is_single() && $wp_query->get( 'page' ) > 1 ){ 
  84.  
  85.             return false; 
  86. //Vevb.com 
  87.         } 
  88.  
  89.         return true; 
  90.  
  91.     } 
  92.  
  93.  
  94. new Rewrite_Inner_Page_Links_id(); 

添加代碼后,需要保存一下固定鏈接設置。之后再次打開文章分頁鏈接,會變成類似的:

/morning-paper-news/page-2.html

/132/page-2.html

注:上述代碼并沒有評論分頁的鏈接修正,本人無此剛需未做研究。

其它固定鏈接形式,需要安裝rewrite rules inspector插件查看鏈接正則寫法并修改上述代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长乐市| 上蔡县| 贵定县| 湘阴县| 嘉义县| 尼勒克县| 彩票| 沙湾县| 界首市| 英德市| 惠州市| 台安县| 安多县| 商洛市| 连云港市| 大理市| 祁东县| 宁远县| 赣州市| 图们市| 莲花县| 怀化市| 喀喇| 花垣县| 玛多县| 孟州市| 阆中市| 米脂县| 天祝| 宿松县| 安远县| 临潭县| 巴彦县| 南开区| 衡东县| 东光县| 津南区| 东平县| 长宁县| 化德县| 房产|