自动为WordPress文章添加标签

通过下面的代码可自动为WordPress文章添加已使用过的标签。

自动为WordPress文章添加标签

将代码添加到当前主题函数模板 functions.php 中:

代码一:

function zm_auto_add_tags() {
 $post_id = get_the_ID();
if ( $post_id ) : $post_content = get_post( $post_id )->post_content;
if ( !empty( $post_content ) ) {
 $tags = get_tags( array( 'hide_empty' => false ) );
if ( $tags ) {
 $i = 0;
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++;
}
}
}
}
 endif;
}
add_action( 'save_post', 'zm_auto_add_tags' );

代码二:

打乱标签排序,每次更新都会变化。

function arraytoobject( $array ) {
if ( is_array( $array ) ) {
 $obj = new StdClass();
foreach ( $array as $key => $val ) {
 $obj->$key = $val;
}
} else {
 $obj = $array;
}
return $obj;
}

function objecttoarray( $object ) {
if ( is_object( $object ) ) {
foreach ( $object as $key => $value ) {
 $array[$key] = $value;
}
} else {
 $array = $object;
}
return $array;
}

function zm_auto_add_tags() {
 $post_id = get_the_ID();
if ( $post_id ) : $post_content = get_post( $post_id )->post_content;
if ( !empty( $post_content ) ) {
 $tags = get_tags( array( 'hide_empty' => false ) );
if ( $tags ) {
 $i = 0;
 $arrs = objecttoarray( $tags );
 shuffle( $arrs );
 $tags = arraytoobject( $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++;
}
}
}
}
 endif;
}
add_action( 'save_post', 'zm_auto_add_tags' );

使用时需要注意的是,当你的网站标签非常多,比如几千个,发表更新文章时可能会卡死。

温馨提示:
声明:本站部分文章来源于网络,如有危害到您的合法权益请联系客服

给TA打赏
共{{data.count}}人
人已打赏
WP技术技术教程

WordPress常用的文字广告、图片广告和联盟广告代码的使用方法

2022-10-6 14:51:06

WP技术

wordpress怎么安装主题、主题推荐

2022-10-22 15:32:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索