自动为WordPress文章添加标签

知更鸟 WordPress1 211阅读模式

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

将代码添加到当前主题函数模板 functions.php 中:文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

自动为WordPress文章添加标签

自动为WordPress文章添加标签

文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

代码一:文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

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' );

代码二,打乱标签排序,每次更新都会变化文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

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' );

源代码来自网络。文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

使用时需要注意的是,当你的网站标签非常多,比如几千个,发表更新文章时可能会卡死。文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html 文章源自知更鸟-https://zmingcx.com/automatically-tag-wordpress-posts.html

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论  1  访客  1
    • 谷歌优化
      谷歌优化 2

      这个还挺方便的

    匿名

    发表评论

    匿名网友 填写信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    确定