笨猫博客

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

Wordpress自动给文章加tag

2020-02-09 4736点热度 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
    取消回复

    最新 热点 随机
    最新 热点 随机
    IP-Sentinel 分布式哨兵系统v3.1.0重装上阵!让你的小鸡完美伪装成“当地人” NodeWarden -云端备份、大附件处理、直传链路 和 网页端密码库体验 it-toolbox开发者工具箱 — 72 款实用工具,基于 Cloudflare Pages Functions 全栈部署 OpenClaw图形化一键安装/卸载工具吧 Telegram 创建 bot 获取 token 和 chatId 以及发送消息最新教程 AcePanel(原耗子面板)3.0 正式发布
    IP-Sentinel 分布式哨兵系统v3.1.0重装上阵!让你的小鸡完美伪装成“当地人”
    腾讯微博,腾讯微博邀请码,微博邀请码 Linux DNS修改重启后失效?永久修改Linux DNS的方法 Google Chrome v116.0.5845.180 Stable 绿色便携版 阿里云盘自动签到两种方法 炸酱面探针在线演示及安装教程(测试) WordPress 混合内容中常见的 SSL 问题
    最近评论
    Web Harmonium 发布于 2 周前(04月20日) Stash 的界面看起来比小火箭清爽直观多了,2.99美元的价格也算合理,感谢提醒,不手动修改策略组...
    Web Harmonium 发布于 2 周前(04月20日) 这个教程很实用,特别是关于从URL下载配置的步骤讲解得很清楚,让新手上手变得简单多了!
    09君 发布于 2 个月前(03月13日) 来访。给你点赞了,工具很不错。很难绷不住的是,全民普及还没到一个月,就开始全民卸载了。
    芝雩 发布于 2 个月前(02月28日) 您好,请问下为什么我搭建的ghost,他的后台配置页面是纯英文的,ghostCLI 是20.20.0...
    C 发布于 3 个月前(02月06日) 早就听说这个面板了,竟然是你开发的,厉害啊
    标签
    elliptictrue100.10.02
    BLOG ChatGPT Chrome CloudFlare DirectAdmin github Godaddy google kloxo Linux OneDrive OneIndex PHP QQ shadowsocks SNS ssh Typecho VPS web2.0 whmcs Windows wordpress 一键脚本 下载 免费 博客 图文教程 图标 图片 域名 头像 奥运 宝塔面板 插件 教程 日记 有趣 浏览器 游戏 猫 生活 电影 百度 网站 视频 设计 软件 阿里云盘 音乐
    好友
    • glzjin's blog glzjin's blog
    • ZAERA博客
    • 冰沫记
    • 奇它博客
    • 猫腻‘s Blog
    • 猫饭
    • 肥宅之家
    • 萌博
    • 野路子程序员

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

    Theme Kratos Made By Seaton Jiang