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

建站记录 如风 5年前 (2017-01-05) 2143次浏览 0个评论
🗣此文最近更新于 2017-02-23 星期四,留意哦!👇

看了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 );
}
}
}

这么好用一介小民当然不会放过,我引用了,但我忽略了一个问题,就是我数据库标签特别多。实践的结果如下图:
image
太吓人了,搜索引擎这会不会判关键词恶意堆积。就算不判定,这样也不好吧!那么能不能直接提取标题上的词为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即可

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址