向WordPress文章中自动添加已有标签(从已经创立的标签数据库中添加),是一个老生常谈的问题。但是老问题有新情况,需要同时满足下列需求:
1、判断原文章中是否有标签,标签少于一定数量时才自动添加标签(原因是有时候写文章会忘了添加标签,或者一时想不起来添加什么标签)。如果已经手动给文章添加了很多标签,就没必要再自动添加了;
2、向WordPress中自动添加标签;
3、控制所添加标签的数量。
这是三个问题。首先涉及到是否需要添加,涉及到 wp_get_post_tags()
函数;其次是如何添加,主要用到的函数为 wp_set_post_tags()
。再有是 控制标签添加数量,需要 foreach()
。
代码如下:
- //自动WordPress标签
- function auto_add_tags(){
- $tags = get_tags( array('hide_empty' => false) );
- shuffle( $tags ); //打乱标签数组顺序
- $post_id = get_the_ID(); //文章ID
- $post_content = get_post( $post_id )->post_content;
- $post_tags = wp_get_post_tags( $post_id ); //获取本文章的标签数组
- $num = count( $post_tags ); //计算本文章标签的数量
- if ( $tags && $num < 3 ) { //标签的数量数小于3时就向文章中自动添加标签
- $i = 0;
- foreach ( $tags as $tag ) {
- if ( strpos($post_content, $tag->name) !== false ){
- if( $i == 2 ){//只限制自动添加2个标签
- break;
- }
- wp_set_post_tags( $post_id, $tag->name, true );
- $i++;
- }
- }
- }
- }
- add_action('save_post', 'auto_add_tags');
以上就是代码设置。
代码链接:pan.baidu.com/s/1k310MqRJ-mVQ2cHikkvokw
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
提取码: hn94