文章的Tag标签站长们应该都不陌生。既然大家都知道Tag标签的作用,但是还是有很多站长不为WordPress文章添加Tag标签,主要原因就是每次发布文章都要手动为WordPress文章添加Tag标签,实在是太麻烦了。
那么有没有可能让WordPress站点自动为文章添加以前使用过的Tag标签呢?有没有可能让WordPress站点自动为文章的Tag标签添加链接变成内链呢?每次都要手动给文章添加标签,很麻烦?不知文章是否出现以前用过的WordPress标签,怎么办?以下代码就可以解决这些问题,它会在你发布/保存文章时,检测文章的内容中,是否出现曾经使用过的标签,如果出现,就自动为WordPress文章添加这些标签。
WordPress教程纯代码实现自动添加文章标签的实现方法:
- // 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;
- $count = count(wp_get_post_tags($post_id));
- if ($tags && $count < 3) {
- $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++;
- }
- }
- }
- }
上述代码的功能是在我们发布/保存/更新文章时自动检测WordPress文章的内容以及标签内容是否出现。如果是,它会自动将内链添加到WordPress文章中的标签。如果这篇文章有一个标签:指点聚,那么只要我们的文章内容中有指点聚,它就会自动添加一个标签链接到“指点聚”到一个内链。
只要我们的网站上有足够的标签,使用这个代码来实现WordPress网站自动添加标签并标记内部链接到文章将大大减少我们的工作量。如果您不想手动添加标签,请尝试使用此方法。
注意:上面代码添加到主题的functions.php文件最后一个?>即可