默认WordPress页面不能实现伪静态链接,比如:https://xingkong.com/begin.html,手动在链接中添加“.html”,会自动转码为”-html”,但万能的WordPress,你能想到的功能都会有相应的插件帮你实现。
之前的一篇:《为wordpress分类、页面和标签页固定链接添加.html后缀》通过插件可以实现这一功能。
既然用插件可以实现,直接将插件中的代码集成到主题中同样也可以,代码提取自.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后面也会自动加上斜杠。
相关插件链接:
html on PAGES
html after URL