WordPress建站教程,最近入手了知更鸟主题,WordPress每次都要手动给文章添加标签,真的太麻烦了,因为我网站标签太多了,我记得以前在那看到过可以解决这个问题,于是就在网上搜了一下,找了很多都是是通用的做法放到知更鸟主题里不行,最近仔细研究了知更鸟主题找到了解决办法,因为知更鸟主题的钩子不一样,这个功能的主题作用是,它会在你发布/保存文章时,检测文章的内容中,是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签。
将代码添加到主题的 functions.php 即可:
/*WordPress 自动为文章添加已使用过的标签*/ 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; if ($tags) { foreach ( $tags as $tag ) { // 如果文章内容出现了已使用过的标签,自动添加这些标签 if ( strpos($post_content, $tag->name) !== false) wp_set_post_tags( $post_id, $tag->name, true ); } } }
标签打乱增强版,修改后可控制标签输出数量。
// 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; if ($tags) { $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 自动为文章添加已使用过的标签开始*/ 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' ); /*WordPress 自动为文章添加已使用过的标签结束*/
试试效果。
文章声明:
1、本站文章来源于互联网,仅供学习交流参考使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、如果你有比较好的文章需要发布,可以联系站长屋VPS小编,或者自行点击 投稿。
4、若文章中有侵权或不适当内容,请告知我们,本站会第一时间进行处理。 免责申明。
1、本站文章来源于互联网,仅供学习交流参考使用,严禁用于商业用途,因此造成的一切法律后果自行承担。
2、本站不对文章内容的完整性和安全性负责,请自行辨别,如发现有问题,请及时联系我们进行处理。
3、如果你有比较好的文章需要发布,可以联系站长屋VPS小编,或者自行点击 投稿。
4、若文章中有侵权或不适当内容,请告知我们,本站会第一时间进行处理。 免责申明。
评论