如何为自定义文章类型的批量文章随机分配作者?
随机分配文章作者的实现方案
一、插件方式(适合非开发人员)
- 使用支持批量编辑+随机分配作者的插件,比如Bulk Edit Posts:
- 先在后台创建好15位目标作者账号
- 进入文章列表页,筛选出所有归属旧作者的文章并全选
- 打开批量编辑面板,找到「作者」选项,部分插件会直接提供「随机分配给指定作者」的功能,选中预先创建的15位作者即可完成分配
- 若找不到直接带随机分配功能的插件,可选用支持自定义批量操作的插件,添加「随机分配作者」的动作逻辑
二、代码函数方式(适合有开发能力的用户)
通过自定义PHP代码批量更新文章作者,操作步骤如下:
- 务必先备份网站数据库,防止数据丢失
- 在主题的
functions.php文件中添加以下代码,或使用代码片段插件执行:
function random_assign_authors() { // 替换为你的旧作者ID(所有文章当前归属的作者ID) $old_author_id = 1; // 替换为你的15位目标作者ID数组 $target_authors = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; // 获取所有需要修改的文章ID $posts = get_posts([ 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => -1, 'author' => $old_author_id, 'fields' => 'ids' ]); if ($posts) { foreach ($posts as $post_id) { // 随机选取一位目标作者 $random_author = $target_authors[array_rand($target_authors)]; // 更新文章作者 wp_update_post(['ID' => $post_id, 'post_author' => $random_author]); } echo '作者分配完成'; } else { echo '未找到需要修改的文章'; } } // 首次执行时取消注释,执行完成后重新注释,避免重复运行 // random_assign_authors();
- 替换代码中的
$old_author_id和$target_authors为实际值 - 访问网站前台一次触发代码执行,完成后记得注释掉
random_assign_authors();这一行
注意事项
- 处理1000多篇文章时,建议分批次执行(比如将
posts_per_page改为100,多次执行),避免服务器超时
内容的提问来源于stack exchange,提问作者Ahmad Karimi
相关产品推荐
相关产品推荐

