0°
首页 » 建站教程 » WordPress教程 » 如何为WordPress文章自动添加已经使用过的tag标签?

如何为WordPress文章自动添加已经使用过的tag标签?

我们在发布WordPress文章的时候,需要手动给文章添加标签,这种方法比较麻烦,我就想着能不能在后台发布文章的时候,能自动 ...

我们在发布WordPress文章的时候,需要手动给文章添加标签,这种方法比较麻烦,我就想着能不能在后台发布文章的时候,能自动添加tag标签,那么如何为WordPress文章自动添加已经使用过的tag标签?今天为大家分享三个方法。

如何为WordPress文章自动添加已经使用过的tag标签?

方法一

// 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 自动为文章添加已使用过的标签

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 ,增加了标签打乱功能。

// 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++;

}

}

}

}

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论
  • 官方客服:2488731124一键联系
  • 官方微信小程序
    微信客服