在上一篇文章我们介绍WordPress 函数:get_post() 详解及使用示例时候,已经分享过这个功能代码了,该功能代码会在你发布/保存文章时,检测文章的内容中是否出现曾经使用过的标签,如果出现,就自动为文章添加这些标签。还是挺实用的,与以前分享的免插件为 WordPress 文章中标签添加内链一起使用,对 SEO 是有大大的好处。
代码需要添加到主题 functions.php 文件中:
/** * WordPress 自动为文章添加已使用过的标签(文章内容版本) * http://www.wpdaxue.com/auto-add-tags.html * 整理:https://www.dedewp.com/8055.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 ); } } }
有个客户问陌小雨:如何取文章标题中的关键字自动为文章标签呢?说的通俗点就是:当文章标题出现已经使用过的标签后,也在发布或者保存文章的时候自动添加该标签,陌小雨告诉他只需将上述代码中的 post_content 替换为 post_title 即可。
当然了,如果你两个代码一起添加的话,需要更改一下函数名:
/** * WordPress 自动为文章添加已使用过的标签(文章标题版本) * https://www.dedewp.com/8055.html */ add_action('save_post', 'auto_add_title_tags'); function auto_add_title_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 ); } } }
你可能对这些文章感兴趣:
- Xhtml+css基础第7课 css sprites background-position完美解析
- WordPress调用当天文章和文章数
- WordPress如何在第一篇日志后插入广告
- WordPress调用分类5篇文章(1带缩略图+4不带缩略图)随机不重复
- 因ereg_replace()弃用引起的WordPress主题无法正常使用的解决办法
- WordPress如何引用同一个目录下的所有php文件
- WordPress获取当前文章别名
- 如何继承熊掌号天级收录权益
- 那时桃花开
- WordPress问答插件DW Question Answer美化版分享
- PHP实用功能分享
- 修复xiu主题首页cms布局错位
- 教你看懂js文件中的正则表达式(一)
- WordPress免插件实现七牛免费图床
如有疑问,请前往问答中心反馈!
反馈