WordPress纯代码自动添加已经存在的tag标签

如果你的网站本身就有某些tag的话,此代码就会自动帮你在后台加上,如下图,就不用手动添加了。

WordPress纯代码自动添加已经存在的tag标签 技术教程 第1张

添加方法:

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

/*
 * 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) {
		foreach ( $tags as $tag ) {
			// 如果文章内容出现了已使用过的标签,自动添加这些标签
			if ( strpos($post_content, $tag->name) !== false)
				wp_set_post_tags( $post_id, $tag->name, true );
		}
	}
}

还有优化版:

// 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 == 6) { // 控制输出数量
          break;
        }
        wp_set_post_tags( $post_id, $tag->name, true );
        $i++;
      }
    }
  }
}

要说代码是哪里来的,当然是百度的,好用就搬过来了。

当然还有自动生成tag的插件:

WP Auto Keywords插件下载地址:http://pan.baidu.com/s/1geeRjNl 或者直接在后台搜索插件名字也可以。

在网站后台菜单中点击插件—安装插件—–选择自己刚下载的插件—–启用一下插件即可。

赞(1)
如有侵权请联系我,未经允许不得转载:119下载站 » WordPress纯代码自动添加已经存在的tag标签

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址