精彩揭秘:WordPress二次开发利器,妙手改写Tags标识为ID展示

随心笔谈2年前发布 admin
199 0 0

文章摘要

这篇文章介绍了如何通过WordPress二次开发的方式,将tags的ID显示格式改为`id+html`,并通过使用伪静态格式来优化SEO效果。文章详细讲解了如何在`functions.php`文件中添加代码,以实现以下功能: 1. **URL重定向规则**:通过`add_action('generate_rewrite_rules','tag_rewrite_rules')`和`add_filter('term_link','tag_term_link')`,将tags的URL从传统的`tag/{id}.html`格式改为`tag/{id}+html`格式,并在HTML后缀中包含`embed`或`page`标签。 2. **SEO优化**:伪静态格式(`_posts`目录)结合`term_link`过滤器,简化URL结构,减少服务器端请求,同时保持SEO友好性。 3. **功能扩展**:通过自定义函数`tag_rewrite_rules`、`tag_term_link`和`tag_query_vars`,实现了对term_id、feed和embed属性的支持,以及处理分页请求的能力。 总结而言,文章通过简单的二次开发方法,展示了如何在不破坏现有功能的前提下,提升WordPress网站的SEO表现。

wordpress二次开发tags改id显示,后缀加html,伪静态格式对seo特别友好.

使用文本编辑器打开当前主题目录下的 functions.php,添加以下 php 代码:

最终显示格式:id+html方式展示

add_action(‘generate_rewrite_rules’,’tag_rewrite_rules’);
add_filter(‘term_link’,’tag_term_link’,10,3);
add_action(‘query_vars’, ‘tag_query_vars’);
function tag_rewrite_rules($wp_rewrite) {
$new_rules = array(
‘tag/(d+)/feed/(feed|rdf|rss|rss2|atom).html’ => ‘index.php?tag_id=$matches[1]&feed=$matches[2]’,
‘tag/(d+)/(feed|rdf|rss|rss2|atom).html’ => ‘index.php?tag_id=$matches[1]&feed=$matches[2]’,
‘tag/(d+)/embed.html’ => ‘index.php?tag_id=$matches[1]&embed=true’,
‘tag/(d+)/page/(d+).html’ => ‘index.php?tag_id=$matches[1]&paged=$matches[2]’,
‘tag/(d+).html’ => ‘index.php?tag_id=$matches[1]’,
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
function tag_term_link($link,$term,$taxonomy) {
if($taxonomy==’post_tag’) {
return home_url(‘/tag/’.$term->term_id.’.html’);
}
return $link;
}
function tag_query_vars($public_query_vars) {
$public_query_vars[] = ‘tag_id’;
return $public_query_vars;
}

© 版权声明

相关文章