### [新文章使用上次文章所选的标签](https://www.bber.cn/article/1829) **Published:** 2025-12-27T14:51:22 **Author:** 哔哔一二 **Excerpt:** 代码介绍 平时大量发布文章时,总有一个非常麻烦的问题,就是标签的重复选择。通常在大批量手动发布文章的时候,都是同分类,同标签的状态进行发布的。 之前分享了写新文章时,自动勾选上次已选择的分类,文章如下: [b2_insert_post id ### 代码介绍 平时大量发布文章时,总有一个非常麻烦的问题,就是标签的重复选择。通常在大批量手动发布文章的时候,都是同分类,同标签的状态进行发布的。 之前分享了写新文章时,自动勾选上次已选择的分类,文章如下: \[b2\_insert\_post id=”95″\] #### 那么本次就分享自动添加上次文章添加的标签 \[content\_hide\] /\*\* \* 1. 记忆功能:当文章保存或发布时,记录当前使用的标签 \*/ function smart\_tags\_save\_last\_used($post\_id) { // 如果是自动保存、修订版本或没有权限,则跳过 if (defined('DOING\_AUTOSAVE') && DOING\_AUTOSAVE) return; if (wp\_is\_post\_revision($post\_id)) return; // 获取当前文章的标签(只获取名称) $tags = wp\_get\_post\_tags($post\_id, array('fields' => 'names')); // 如果有标签,则保存到当前用户的个人元数据中 // 使用逗号连接,方便后续 JS 直接使用 if (!empty($tags)) { update\_user\_meta(get\_current\_user\_id(), 'last\_used\_post\_tags', implode(',', $tags)); } } add\_action('save\_post', 'smart\_tags\_save\_last\_used'); /\*\* \* 2. 自动添加功能:在后台编辑器加载时,通过 JS 自动填充 \*/ function smart\_tags\_auto\_fill\_script() { // 仅在文章编辑页面或新建文章页面加载 $screen = get\_current\_screen(); if (!$screen || 'post' !== $screen->base || 'post' !== $screen->post\_type) { return; } // 获取当前用户最后一次使用的标签 $last\_tags = get\_user\_meta(get\_current\_user\_id(), 'last\_used\_post\_tags', true); // 如果没有历史标签,直接返回 if (empty($last\_tags)) return; ?>