有些用户在使用Woocommerce的时候因为网站中的的商品比较多,在增加的时候难免会将商品增加重复,通过下面方法我们可以通过SKU判断重复商品并进行删除操作。
第一步
在站点的根目录中创建一个 duplicate.php 文件,并将以下代码放在那里
<?php
//连接 WordPress 核心
require_once 'wp-load.php';
global $wpdb;
//执行数据库查询以按 SKU 搜索重复项
$result = $wpdb->get_results( "SELECT a.post_name,a.post_title,a.ID,b.meta_value as _sku FROM wp_posts a INNER JOIN (SELECT meta_value,max(post_id) AS post_id FROM wp_postmeta WHERE meta_key='_sku' GROUP BY meta_value HAVING COUNT(meta_value) > 1 ) b ON a.ID=b.post_id WHERE post_type = 'product' AND post_status = 'publish';" );
//我们删除发现重复的记录周期
foreach ( $result as $delete ) {
$deleted = wp_delete_post( $delete->ID, true );
}
?>
第二步
然后只需访问:http://your-site/duplicate.php。