让WordPress自动为文章添加tags标签

如风发表于2017-1-6 周五 1,751 ℃ A-A+

看了boke112导航博主写的一篇非常实用的文章,如何实现WordPress自动为文章添加tags标签。原理是从文章中提取与数据库相关的tags标签的词。代码如下

/* 自动为文章添加标签 */
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自动为文章添加tags标签
太吓人了,搜索引擎这会不会判关键词恶意堆积。就算不判定,这样也不好吧!那么能不能直接提取标题上的词为tags呢?当然是行得通的,代码如下:
/* 自动为文章添加标签 */

add_action('save_post', 'auto_add_tags');
function auto_add_tags(){
$tags = get_tags( array('hide_empty' => false) );
$post_id = get_the_ID();
$post_title = get_post($post_id)->post_title;
if ($tags) {
foreach ( $tags as $tag ) {
// 如果文章标题出现了已使用过的标签,自动添加这些标签
if ( strpos($post_title, $tag->name) !== false)
wp_set_post_tags( $post_id, $tag->name, true );
}
}
}
//把post_content改为post_title即可

正在访问:一介小民
本文链接: 让WordPress自动为文章添加tags标签
特别声明:欢迎转载分享,转载请注明出处即可

2017-01-06 - 最近更新于 2017-02-23 星期四
评论 0


给个表情

83 + 9 = ?

用户登录
注册

字号调整