WordPress给页面URL添加.html后缀的方法

前端之家收集整理的这篇文章主要介绍了WordPress给页面URL添加.html后缀的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

wordpress中,尽管你把固定链接设置成 /%postname%.html 这种形式,也只能给文章的URL添加 .html 后缀,其余页面的URL都是没有 .html 后缀的。上次我们介绍了如何给标签添加.html后缀,这次我们讲讲如何给wordpress博客页面URL添加.html后缀。

使用插件

如果想给页面URL添加 .html 后缀,可以使用使用这款插件.html on PAGES

如果想给页面URL添加 .PHP 后缀,可以使用使用这款插件.PHP on PAGES

露兜亲测,两款插件均可以在wordpress 3.5下正常工作。

.html .php on PAGES

特定页面添加后缀

.html on PAGES 插件会给所有页面添加上.html后缀,但是问题又来了,如果我们不想给 sitemap 页面URL添加 .html 后缀,保持 /sitemap,而不是 /sitemap.html,那么怎么办呢?如果你有这个需求,可以用文本编辑器打开插件目录下的html-on-pages.PHP,查找:

add_filter('user_trailingslashit','no_page_slash',66,2);

将其替换成:

add_filter('page_link','blog_permalinks_page_link',10,2);
function blog_permalinks_page_link($permalink,$page) {
$pos = strpos($permalink,"/sitemap.html");
if ($pos !== false) {
$permalink = str_replace("/sitemap.html","/sitemap",$permalink);
}
return $permalink;
}

add_filter('user_trailingslashit',2);

接着查找:

function html_page_permalink() {

将其替换成:

function html_page_permalink() {
$string = $_SERVER['REQUEST_URI'];
$pos = strpos($string,"/sitemap.html");
if ($pos !== false) {
switch_to_blog(1); //We are using WPMU if you are not you won't need this line.
wp_redirect(get_option('home') . str_replace('/sitemap.html','/sitemap',$string),301);
exit();
}
else {
$pos = strpos($string,"/sitemap");
if ($pos !== false) {
$_SERVER['REQUEST_URI'] = str_replace("/sitemap","/sitemap.html",$string);
global $wp;
$wp->parse_request();
}
}

好了,修改就到此结束。你可以根据把代码中的 sitemap 改成你的页面别名.

猜你在找的wordpress相关文章