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

如风 01-06-2017 1,565 ℃ ≈2分钟 评论(0)

看了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即可

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


75 + 29 = ?

  • 解决PJAX无法加载document.write等异步加载的问题 解决PJAX无法加载document.write等异步加载的问题
  • WordPress预估阅读文章时间 WordPress预估阅读文章时间
  • 解决阿里云虚拟主机用.htaccess绑定多个域名的方法 解决阿里云虚拟主机用.htaccess绑定多个域名的方法
  • wordpress如何实现当前在线人数显示【转】 wordpress如何实现当前在线人数显示【转】
用户登录
注册