^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 若文中代码有问题,可能是少了几个问号,留言一定会解决!
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 站点文章结尾新增了赞赏通道
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人

WordPress自动为文章添加已使用过的标签(标题+内容)

WordPress 自动为文章添加已使用过的标签(标题+内容)

在上一篇文章我们介绍WordPress 函数:get_post() 详解及使用示例时候,已经分享过这个功能代码了,该功能代码会在你发布/保存文章时,检测文章的内容中是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签。还是挺实用的,与以前分享的免插件为 WordPress 文章中标签添加内链一起使用,对 SEO 是有大大的好处。

代码需要添加到主题 functions.php 文件中:

/**
 * WordPress 自动为文章添加已使用过的标签(文章内容版本)
 * http://www.wpdaxue.com/auto-add-tags.html
 * 整理:https://dedewp.com/8055.html
 */
add_action('save_post', 'auto_add_tags');
function auto_add_tags(){
	$tags = get_tags( array('hide_empty' => false) );
	$post_id = get_the_ID();
	$post_content = get_post($post_id)->post_content;
	if ($tags) {
		foreach ( $tags as $tag ) {
			// 如果文章内容出现了已使用过的标签,自动添加这些标签
			if ( strpos($post_content, $tag->name) !== false)
				wp_set_post_tags( $post_id, $tag->name, true );
		}
	}
}

有个客户问陌小雨:如何取文章标题中的关键字自动为文章标签呢?说的通俗点就是:当文章标题出现已经使用过的标签后,也在发布或者保存文章的时候自动添加该标签,陌小雨告诉他只需将上述代码中的 post_content 替换为 post_title 即可。

当然了,如果你两个代码一起添加的话,需要更改一下函数名:

/**
 * WordPress 自动为文章添加已使用过的标签(文章标题版本)
 * https://dedewp.com/8055.html
 */
add_action('save_post', 'auto_add_title_tags');
function auto_add_title_tags(){
	$tags = get_tags( array('hide_empty' => false) );
	$post_id = get_the_ID();
	$post_title = get_post($post_id)->post_title;
	if ($tags) {
		foreach ( $tags as $tag ) {
			// 如果文章标题出现了已使用过的标签,自动添加这些标签
			if ( strpos($post_title, $tag->name) !== false)
				wp_set_post_tags( $post_id, $tag->name, true );
		}
	}
}
历史上的今天:
让小雨知道,这篇文章帮到了你

展开阅读全文

评论 3

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 菊部
    标签多了会不会不好啊回复
    • 陌小雨网站管理员
      @菊部 这个看站点内容和整体规划了,对于博客来说,确实没有很大必要。回复
  2. themebetter
    这个不错回复

登录

忘记密码 ?

切换登录

注册