首页 » 建站技术 » WordPress » 浏览内容

WordPress 分页文章静态化的更优解决方案


2010-08-24 21:46:33 3,572 0 发表评论 字体: 作者:C.K.
标签: WordPress备忘静态化

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

利用 WordPress 本身提供的接口实现了更好的解决方案。

以/%year%/%monthnum%/%postname%.html这样的永久链接结构为例:

1. 打开主题目录下的functions.php文件,添加以下代码:

// 添加分页处理规则
  • function add_custom_post_rewrite_rules($rules) {
  •   $custom_rules = array(
  •     '([0-9]{4})/([0-9]{1,2})/([^/]+)-([0-9]+)\.html$' => 'index.php?year=$matches[1]&monthnum=$matches[2]&name=$matches[3]&page=$matches[4]',
  •   );
  •   $rules = array_merge($custom_rules, $rules);
  •  
  •   return $rules;
  • }
  • add_filter('post_rewrite_rules', 'add_custom_post_rewrite_rules');
  •  
  • // 修改分页链接
  • function my_wp_link_pages($args = '') {
  •   $args .= ($args ? '&' : '') . 'echo=0';
  •   $links = wp_link_pages($args);
  •   $links = preg_replace_callback('|([0-9]{4}/[0-9]{1,2}/)([^/]+)(\.html)(/)([0-9]+)|', 'custom_page_link', $links);
  •  
  •   echo $links;
  • }
  •  
  • function custom_page_link($matches) {
  •   return $matches[1].$matches[2].'-'.$matches[5].$matches[3];
  • }
  • 2. 打开主题目录下的single.php文件,查找wp_link_pages并替换为my_wp_link_pages。

    3. 后台“设置-永久链接”点击一下“保存修改”按钮,大功告成。

    至于 life97 同学说的 .html/xxx 形式的链接访问失效,这个可能和服务器设置有关,具体原因我也不是很清楚,不过可以通过在 .htaccess 文件中添加规则来解决此问题,如:

    <ifmodule mod_rewrite.c>
  • RewriteEngine On
  • RewriteBase /
  • RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/trackback/?$ index.php?year=$1&monthnum=$2&name=$3&tb=1 [L]
  • RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/feed/(feed|rdf|rss|rss2|atom)/?$ index.php?year=$1&monthnum=$2&name=$3&feed=$4 [L]
  • RewriteRule ^([0-9]{4})/([0-9]{1,2})/([^/]+)\.html/(feed|rdf|rss|rss2|atom)/?$ index.php?year=$1&monthnum=$2&name=$3&feed=$4 [L]
  • </ifmodule>
  • 注意添加顺序,不要置于 WordPress 生成的规则之后。

    下面是几种其它永久链接结构的具体修改代码:

    * /%year%/%monthnum%%day%/%postname%.html
    * /html/%year%/%monthnum%/%day%/%postname%.html
    * /%category%/%year%/%monthnum%/%day%/%post_id%.html
    * /%year%/%monthnum%%day%/%post_id%.html
    * /html/%post_id%.html
    * /html/%postname%.html
    * /post/%postname%.html
    * /%postname%.html
    * /%category%-%post_id%.html
    * /%category%/%post_id%.html
    * /%category%/%postname%.html

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5066 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14166689 位访客

    广告区 Guǎng Gào