通过下面的代码可自动为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' );
源代码来自网络。
使用时需要注意的是,当你的网站标签非常多,比如几千个,发表更新文章时可能会卡死。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
广东省东莞市 1F
这个还挺方便的
重庆市 2F
优化下 不区别大小写就好了