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

如风2017-01-06浏览 656 评论 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即可

XM AD

如风,发表在建站杂记打印此文

本站为姜哥创建的一介小民,内容大多为原创。创作不易,转载请注明来源,谢谢!

发表评论


75 + 35 = ?