如何让WordPress在发布文章时自动添加Tag标签

内容目录

在WordPress中,手动添加标签是一项繁琐的工作,尤其是在处理大量文章时。幸运的是,我们可以通过自定义代码来实现自动添加标签的功能。本文将详细介绍如何在发布文章时自动添加已存在的标签,这些标签可以从文章标题或内容中提取。

图片[1]-如何让WordPress在发布文章时自动添加Tag标签-连界优站

步骤概览

  1. 备份当前主题:在进行任何代码修改之前,务必备份当前使用的主题,以防止意外情况发生。
  2. 编辑 functions.php 文件:将自定义代码添加到主题的 functions.php 文件中。
  3. 选择提取标签的来源:可以选择从文章标题或内容中提取标签。

详细步骤

1. 备份当前主题

在开始之前,确保备份当前使用的主题。这可以通过FTP客户端下载整个主题文件夹,或者使用WordPress插件(如UpdraftPlus)进行备份。

2. 编辑 functions.php 文件
  1. 登录到WordPress后台。
  2. 导航到「外观」→「主题文件编辑器」。
  3. 在右侧的文件列表中找到并点击 functions.php 文件。
  4. 将以下代码添加到 functions.php 文件的末尾。
提取文章内容中的标签
// 自动给文章添加tag(内容版)
add_action('save_post', 'auto_add_tags');
function auto_add_tags() {
    // 获取所有标签
    $tags = get_tags(array('hide_empty' => false));
    // 获取当前文章ID
    $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,代码如下:

// 自动给文章添加tag(标题版)
add_action('save_post', 'auto_add_tags');
function auto_add_tags() {
    // 获取所有标签
    $tags = get_tags(array('hide_empty' => false));
    // 获取当前文章ID
    $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);
            }
        }
    }
}
3. 保存并测试
  1. 保存 functions.php 文件。
  2. 创建一篇新文章,输入标题和内容,然后发布。
  3. 检查文章的标签,确保已存在的标签已被自动添加。

注意事项

  • 备份:在修改 functions.php 文件之前,务必备份当前主题。
  • 性能:如果文章数量较多,建议在生产环境中谨慎使用此功能,以免影响性能。
  • 测试:在正式环境中使用前,先在测试环境中进行充分测试,确保代码正常工作。

进一步优化

  1. 缓存标签:可以考虑将所有标签缓存到一个数组中,以减少每次调用 get_tags 的开销。
  2. 日志记录:可以在代码中添加日志记录,以便调试和监控。

通过以上步骤,你可以轻松地让WordPress在发布文章时自动添加已存在的标签,从而提高工作效率。希望这篇文章对你有所帮助!如果有任何问题或需要进一步的帮助,请随时联系我。

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容