笨猫博客

  • 🍟首页
  • 🍘目录
    • 🥝VPS教程
    • 🍾猫玩技术
    • 🍹干货分享
    • 🍏软件分享
    • 🍩一只猫
  • 🍋工具
    • 🌽IP路由追踪
    • 🍐域名Whois查询
    • 🥘域名被墙查询
    • 🍧IP正常检测
    • 🔥IP端口检测
    • 🍆短网址
    • 🐟VIP音乐播放
    • 🍯KMS激活
  • 🍓链接
  • 🍪联系
  • 🍱登录
    • 🥦登录
    • 🍒注册
关注互联网,生活,音乐,乐此不疲的一只笨猫
  1. 首页
  2. 一只猫
  3. 正文

Wordpress自动给文章加tag

2020-02-09 3192点热度 1人点赞 1条评论

每次给文章加tag都特别头大,现在好了,有大神搞了个代码自动加提取文章中的tag,只要放到function.php中即可。

提交文章的时候,就会自动添加了。

将代码添加到主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * WordPress 自动为文章添加已使用过的标签
 * https://www.wpdaxue.com/auto-add-tags.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 );
		}
	}
}

 

修改后可控制标签输出数量。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// WordPress 自动为文章添加已使用过的标签
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) {
    $i = 0;
    foreach ( $tags as $tag ) {
    // 如果文章内容出现了已使用过的标签,自动添加这些标签
      if ( strpos($post_content, $tag->name) !== false){
        if ($i == 5) { // 控制输出数量
          break;
        }
        wp_set_post_tags( $post_id, $tag->name, true );
        $i++;
      }
    }
  }
}

但这样输出,会默认输出前几个标签,考虑到每次输出都是标签库里面的前几个标签,不利于 SEO ,增加了标签打乱功能。

标签打乱增强版:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// WordPress 自动为文章添加已使用过的标签
function array2object($array) { // 数组转对象
  if (is_array($array)) {
    $obj = new StdClass();
    foreach ($array as $key => $val){
      $obj->$key = $val;
    }
  }
  else {
    $obj = $array;
  }
  return $obj;
}
function object2array($object) { // 对象转数组
  if (is_object($object)) {
    foreach ($object as $key => $value) {
      $array[$key] = $value;
    }
  }
  else {
    $array = $object;
  }
  return $array;
}
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) {
    $i = 0;
    $arrs = object2array($tags);shuffle($arrs);$tags = array2object($arrs);// 打乱顺序
    foreach ( $tags as $tag ) {
    // 如果文章内容出现了已使用过的标签,自动添加这些标签
      if ( strpos($post_content, $tag->name) !== false){
        if ($i == 5) { // 控制输出数量
          break;
        }
        wp_set_post_tags( $post_id, $tag->name, true );
        $i++;
      }
    }
  }
}

@大朗

标签: wordpress
最后更新:2020-02-09

笨猫

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

  • 绿软吧(lvr8.com)

    感谢分享

    2020-02-27
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    最新 热点 随机
    最新 热点 随机
    Claude 2 镜像站上线了,依然免费 封神第一部:朝歌风云下载 扫描全能王APP v6.49.0.2309070000 破解版 🎁 [限免] 新作品“桌面计算器”正式发布啦!专为 iOS17 设计,无需打开,直接计算 倒数鸭 - 全新设计的倒数正数纪念日 app AI 套壳 APP,现已完全开源啦(APP+服务端)
    Google Chrome v116.0.5845.180 Stable 绿色便携版AI 套壳 APP,现已完全开源啦(APP+服务端)GKD - 基于 无障碍 + 高级选择器 + 订阅规则 的自定义去广告APP【电影】八角笼中 (2023)最新下载,百度云盘,阿里云盘Cloudflare搭建DDNS(脚本版)倒数鸭 - 全新设计的倒数正数纪念日 app
    Office 365 A3,A1P,A1 订阅区别 多种方法干掉宝塔的强制登陆 UCenter Home 1.0 正式版发布 Bing 全球搜寻占有率超越 Yahoo 成为第二名 云溪溪-奶桃 分享 人人都是摄影家
    标签聚合
    wordpress 日记 OneDrive VPS 域名 音乐 google 有趣
    最近评论
    黄金体验 发布于 1 周前(09月16日) 非常感谢,楼主推荐~
    cc 发布于 2 周前(09月14日) 这个版本有没有修复,右上角升级提示??那个提示很烦
    爱上发生的 发布于 2 周前(09月12日) 你好大
    六先生 发布于 2 周前(09月10日) 看一看哈哈哈
    磁力草 发布于 2 周前(09月09日) 请更新 磁力草:全网最大的磁力搜索引擎 主站:https://www.cilicao.cn/ ...
    好友
    • glzjin's blog glzjin's blog
    • ZAERA博客
    • 冰沫记
    • 奇它博客
    • 猫腻‘s Blog
    • 猫饭
    • 肥宅之家
    • 萌博
    • 野路子程序员

    COPYRIGHT © 2022 笨猫博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang