快好知 kuaihz订阅观点

 

自动为新文章添加已使用过的标签

每次都要手动给文章添加标签,很麻烦?不知文章是否出现以前用过的标签,怎么办?以下代码就可以解决这些问题,它会在你发布/保存文章时,检测文章的内容中,是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签

将代码添加到主题的 functions.php 即可:

1:23:45:67:89:1011:1213:1415:1617:

/**

* WordPress 自动为文章添加已使用过的标签

* https://www.wpdaxue.com/auto-add-tags.html

*/

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

}

}

}

代码出自:http://wordpress.org/plugins/auto-add-tags/

感谢 @大朗博客 优化增强的版本:

修改后可控制标签输出数量。

代码如下:

1:23:45:67:89:1011:1213:1415:1617:1819:20

// 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) {

$i = 0;

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++;

}

}

}

}

但这样输出,会默认输出前几个标签,考虑到每次输出都是标签库里面的前几个标签,不利于 SEO ,增加了标签打乱功能。

标签打乱增强版:

1:23:45:67:89:1011:1213:1415:1617:1819:2021:2223:2425:2627:2829:3031:3233:3435:3637:3839:4041:4243:44

// 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++;

}

}

}

}

 

本站资源来自互联网,仅供学习,如有侵权,请通知删除,敬请谅解!
搜索建议:添加  添加词条  标签  标签词条  自动  自动词条  使用  使用词条  文章  文章词条  
优化

 主页设计时该怎么做才合理

 网站现在盛行的风格日新月异,比如某个有名的网站出现以后,其它网站风格都来效仿,在风格泛滥的情况下总能发一些一些做法不仅美观,并且而且提升了客户的体验度,让用户...(展开)

优化

 网站巧借内容营销引流

 【seo优化课程】网站巧借内容营销引流  网站优化的方法有很多,其中之一便是借助内容营销进行网站SEO。在网站添加长期有效的内容是提升搜索排名的一种好策略。虽...(展开)