WordPress页面链接如何添加.html后缀

默认WordPress页面不能实现伪静态链接,比如:http://boke112.com/liuyan.html,手动在链接中添加“.html”,会自动转码为"-html",但万能的WordPress,你能想到的功能都会有相应的插件帮你实现。如安装:.html on PAGES插件实现,启用插件后无需任何设置。

既然用插件可以实现,直接将插件中的代码集成到主题中同样也可以,代码提取自.html on PAGES插件,将下面代码添加主题functions.php中即可。

// 页面链接添加html后缀
add_action('init', 'html_page_permalink', -1);
function html_page_permalink() {
    global $wp_rewrite;
    if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){
        $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
    }
}

添加后,需要到固定链接设置页面,重新保存一下固定链接设置,否则不会生效。

上述代码适合伪静态的固定链接形式使用,比如:

/%postname%.html
/%post_id%.html

另外,如果同时使用了《如何实现WordPress分类目录和页面链接地址以斜杠/结尾》一文中的代码,还需要将该文中的代码修改为:

// 添加斜杠
function nice_trailingslashit($string, $type_of_url) {
    if ( $type_of_url != 'single' && $type_of_url != 'page' )
      $string = trailingslashit($string);
    return $string;
}
add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);

排除页面文件,否则页面链接.html后面也会自动加上斜杠。

预见

发表评论

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