仅迁移WooCommerce数据至新站点:Extra Product Options数据迁移失败求助
解决方案:定向迁移WooCommerce数据及「WooCommerce Extra Product Options」附加选项
针对10000个产品的迁移需求,核心是覆盖WooCommerce核心数据+插件专属附加选项,以下是可落地的方案:
一、数据库定向迁移(最直接有效)
1. 确认插件数据存储位置
「WooCommerce Extra Product Options」的附加选项通常存在两个地方:
wp_postmeta表的特定meta键(比如_tc_wcpo_product_options、_tc_wcpo_product_pricing,可在原站phpMyAdmin中搜索tc_wcpo关键词确认)- 插件专属表(如
wp_tc_wcpo_options、wp_tc_wcpo_rules,同样在原站数据库中查找)
2. 导出指定数据库表
仅导出WooCommerce相关数据,避免冗余:
- 产品核心:
wp_posts(筛选post_type为product、product_variation、product_cat、product_tag) - 产品元数据:
wp_postmeta(关联上述导出的post_id,同时保留插件专属meta键的条目) - 分类/标签关联:
wp_terms、wp_term_taxonomy、wp_term_relationships(只保留产品分类、标签相关条目) - 客户数据:
wp_users、wp_usermeta(筛选wp_usermeta中wp_capabilities含customer的用户) - 订单数据:
wp_woocommerce_order_items、wp_woocommerce_order_itemmeta、wp_woocommerce_order_stats - 插件专属表:所有前缀为
tc_wcpo_的表
3. 导入与验证
- 导入新站数据库时,注意表前缀一致(不一致则批量替换前缀)
- 导入后执行WooCommerce缓存清理:WooCommerce > 系统状态 > 工具 > 清除所有缓存
二、自定义脚本同步附加选项(补全迁移)
如果已完成核心数据迁移,仅需补全插件附加选项,可写PHP脚本批量同步:
<?php // 原站数据库信息 $old_db_host = '原站数据库主机'; $old_db_user = '原站数据库用户名'; $old_db_pass = '原站数据库密码'; $old_db_name = '原站数据库名'; $old_prefix = 'wp_'; // 连接原站数据库 $old_conn = mysqli_connect($old_db_host, $old_db_user, $old_db_pass, $old_db_name); if (!$old_conn) die('原站数据库连接失败'); // 分批获取新站产品,避免超时 $offset = 0; $batch_size = 1000; while (true) { $products = get_posts([ 'post_type' => 'product', 'numberposts' => $batch_size, 'offset' => $offset, 'post_status' => 'publish' ]); if (empty($products)) break; foreach ($products as $product) { $product_id = $product->ID; // 拉取原站插件附加选项数据(替换为实际meta键) $query = mysqli_query($old_conn, "SELECT meta_value FROM {$old_prefix}postmeta WHERE post_id = {$product_id} AND meta_key = '_tc_wcpo_product_options'"); if ($query && mysqli_num_rows($query) > 0) { $meta_value = mysqli_fetch_assoc($query)['meta_value']; update_post_meta($product_id, '_tc_wcpo_product_options', $meta_value); echo "产品ID {$product_id} 同步完成<br>"; } } $offset += $batch_size; sleep(2); // 避免服务器压力过大 } mysqli_close($old_conn); ?>
- 将脚本放到新站根目录,访问执行(执行前备份新站数据库)
- 执行完成后立即删除脚本,避免安全风险
三、图片迁移处理
- 直接复制原站
wp-content/uploads目录到新站对应位置 - 执行WooCommerce缩略图重建:WooCommerce > 系统状态 > 工具 > 重新生成缩略图
- 若图片关联异常,用WP-CLI命令批量修复:
wp post meta update $(wp post list --post_type=attachment --format=ids) _wp_attached_file $(wp post meta get <attachment_id> _wp_attached_file)
四、插件辅助迁移(适合非技术用户)
使用WooCommerce官方导入导出工具的高级功能:
- 原站导出产品时,在「自定义字段」选项中添加插件的meta键(如
_tc_wcpo_product_options) - 将导出的CSV文件导入新站,匹配对应字段完成附加选项同步
内容的提问来源于stack exchange,提问作者Jawad Ajaz
相关产品推荐
相关产品推荐

