如何给WordPress分类页、标签页(TAG)和页面添加.html后缀

我们在设置WordPress固定链接的时候,即使设置 /%postname%.html或/%post_id%.html这种静态化格式,也是只能对文章管用,像分类页、页面和标签页(TAG)等页面还是没有.html后缀的。下面小编就来给大家讲一下如何给WordPress分类页、标签页(TAG)和页面添加.html后缀。

一、使用插件

这里推荐使用 Custom Permalink 插件,安全启用后,会在编辑页面出现 Custom Permalink 选项。如下图所示,直接修改自己想要的格式即可。

Custom Permalink 插件截图

这个插件不仅可以修改分类页、标签页和页面,也可以修改文章页。

二、使用纯代码

方法1:修改标签页后缀

下载并打开当前主题目录下的 functions.php,添加以下 php 代码:

// applied when calling get_tag_link()
add_filter(‘tag_link’, ‘wpyou_html_tag_link’, 10, 2);

/**
* Tag 标签页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html
*/
function wpyou_html_tag_link($tag_link, $tag_id) {
return rtrim($tag_link, ‘/’) . ‘.html’;
}

添加rewrite规则:找到根目录下的.htaccess,在 RewriteBase / 下一行添加以下代码。

RewriteRule ^tag/(.+).html$ /index.php?tag=$1 [L]
RewriteRule ^tag/(.+).html/page/([0-9]+)$ /index.php?tag=$1&paged=$2 [L]

需要注意的是,如果你的标签页 URL 不是以 tag 开头,那么你需要将以上代码中 tag 改成你的标签前缀。

方法2:下载并打开当前主题目录下的 functions.php,添加以下 php 代码:

// 设置分类,页面,TAG HTML结尾
function custom_page_rules() {
global $wp_rewrite;
/** page页面自定义URL样式 **/
$wp_rewrite->page_structure = $wp_rewrite->root . 'page/%pagename%.html';
/** tag页面自定义URL样式 **/
$wp_rewrite->extra_permastructs['post_tag']['with_front'] = ”;
$wp_rewrite->extra_permastructs['post_tag']['struct'] = $wp_rewrite-
>extra_permastructs['post_tag']['with_front'] . 'tag/%post_tag%.html';
/** category页面自定义URL样式 **/
$wp_rewrite->extra_permastructs['category']['with_front'] = 'category';
$wp_rewrite -> extra_permastructs['category']['struct'] = $wp_rewrite->extra_permastructs['category']['with_front'].'/%category%.html';
}
add_action( 'init', 'custom_page_rules' );

这段代码不会影响到文章页面的URL样式,文章页面的URL样式依然是在固定链接中定义的。特别注意:添加代码后,到WordPress后台》设置》固定连接,重新保存一下设置。

本文来自投稿,不代表老米博客立场,如若转载,请注明出处:https://www.laomiseo.com/3245.html

老米博客转载的文章、资料及相关图片,其版权均有原作者或原刊载媒介拥有,未经版权所有人同意,任何机构或个人不得擅自将其作为商业用途。

本站文章侵犯了原作者的权益,请联系我们(jin654@163.com),我们会立即更正或者删除有关内容。

本站拥有对此声明的最终解释权。