您的位置 首页 wordpress教程

WordPress – DUX主题 Tag 标签增加自定义SEO功能

WordPress的DUX主题是缙哥哥使用的最久的一款正版主题,最近呢有小伙伴问我,为什么 Tag 标签没有自定义SEO功能?问我能不能给DUX主题加一个 Tag 标签跟分类目录那样的自定义 SEO 功能……

缙哥哥当时是有点郁闷的……毕竟DUX主题的标签SEO已经非常好了,从缙哥哥的博客就可以看出,很多标签都已被收录,并排名在前。但是万一人家是个SEO高手呢?我的观点也未必是正确的,所以还是搞了一下这个东西。

DUX主题分类目录与标签对比

缙哥哥当前演示版本为DUX6.3版本。如果你也喜欢,可以移步购买DUX主题。

我也要买一个主题

DUX主题后台标签编辑页

DUX主题的后台中,标签只有简简单单的名称、别名、图像描述这3个字段。

WordPress - DUX主题 Tag 标签增加自定义SEO功能

DUX主题后台分类编辑页

而分类目录,却有SEO标题SEO关键词(keywords)SEO描述(description)这3个自定义SEO字段。

WordPress - DUX主题 Tag 标签增加自定义SEO功能

OK,那我们就来给 Tag 标签页也增加这几个功能吧!

代码修改

添加 Tag 标签 SEO 字段

首先,将下面的代码添加到你的主题functions.php文件中,也就是在标签编辑那添加这3个字段。

复制

//DUX主题 Tag 标签增加自定义 SEO 功能 - https://www.dujin.org/15730.html
class __Tax_Tags{
function __construct(){
add_action( 'add_tag_form_fields', array( $this, 'add_tag_field' ) );
add_action( 'edit_tag_form_fields', array( $this, 'edit_tag_field' ) );
add_action( 'edited_post_tag', array( $this, 'save_tag_meta' ), 10, 2 );
add_action( 'create_post_tag', array( $this, 'save_tag_meta' ), 10, 2 );
}
public function add_tag_field(){
echo '
'; } public function edit_tag_field( $term ){ $term_id = $term->term_id; $tag_meta = get_option( "_tags_meta_$term_id" ); $meta_style = isset($tag_meta['style']) ? $tag_meta['style'] : ''; $meta_title = isset($tag_meta['title']) ? $tag_meta['title'] : ''; $meta_keywords = isset($tag_meta['keywords']) ? $tag_meta['keywords'] : ''; $meta_description = isset($tag_meta['description']) ? $tag_meta['description'] : ''; echo ''; } public function save_tag_meta( $term_id ){ if ( isset( $_POST['tag_meta'] ) ) { $tag_meta = array(); $tag_meta['style'] = isset ( $_POST['tag_meta']['style'] ) ? esc_sql( $_POST['tag_meta']['style'] ) : ''; $tag_meta['title'] = isset ( $_POST['tag_meta']['title'] ) ? esc_sql( $_POST['tag_meta']['title'] ) : ''; $tag_meta['keywords'] = isset ( $_POST['tag_meta']['keywords'] ) ? esc_sql( $_POST['tag_meta']['keywords'] ) : ''; $tag_meta['description'] = isset ( $_POST['tag_meta']['description'] ) ? esc_sql( $_POST['tag_meta']['description'] ) : ''; update_option( "_tags_meta_$term_id", $tag_meta ); } } } $tax_tags = new __Tax_Tags();

添加前端输出

这里需要修改DUX主题function-theme.php文件。

修改title标题

Ctrl F搜索function _title函数,再在其下方找到is_tag(),如果没有自行添加判断逻辑

复制

if(is_tag()){
$html = single_tag_title();
$tag_ID = get_queried_object()->term_id;
$tags_meta = get_option( "_tags_meta_$tag_ID" );
if(isset($tags_meta['title'])){
$html=$tags_meta['title']._get_delimiter().get_bloginfo('name');
} 
}

修改keywords关键字

Ctrl F搜索function _the_keywords函数,再在其下方找到is_tag()

复制

$keywords = single_tag_title('', false);
$tag_ID = get_queried_object()->term_id;
$tags_meta = get_option( "_tags_meta_$tag_ID" );
if($tags_meta['keywords']){ 
$keywords=$tags_meta['keywords'];
}

修改description描述

Ctrl F搜索function_the_description函数,再在其下方找到is_tag()

复制

$description = trim(strip_tags(tag_description()));
$tag_ID = get_queried_object()->term_id;
$tags_meta = get_option( "_tags_meta_$tag_ID" );
if($tags_meta['description']){
$description=$tags_meta['description'];
}

就这么4个地方,就搞定了。主要是DUX主题规范好找,其他主题自行摸索。

缙哥哥还想说的是,如果你的网站没什么内容,你就是自定义SEO弄的再多,弄的再好也没有任何卵用,内容为王!切勿拣了芝麻丢了西瓜,做些本末倒置的事情!

原文地址:https://www.dujin.org/15730.html


您可能感兴趣