使用 WooCommerce 2.6.1
我无法删除可变产品的产品变体:ajax 调用后记录仍在数据库中。 看来 ajax 调用没有通过: put error_log(print_r('remove_variation', true));不输出任何内容(class-wc-ajax.php 中的第 387 行)。 该操作被添加到类的构造函数中。函数 public functionremove_variation() 只是没有被调用。
有人遇到同样的问题,并找到解决办法吗?
最佳答案
/**
* Trash a variation, don't delete it permanently.
*
* This is hooked to
* Hijack WooCommerce's WC_AJAX::remove_variation() "Delete Variation" Trash a variation if it is a subscription variation via ajax function
*/
public static function remove_variations() {
if ( isset( $_POST['variation_id'] ) ) { // removing single variation
error_log("here3");
check_ajax_referer( 'delete-variation', 'security' );
$variation_ids = array( $_POST['variation_id'] );
error_log($_POST['variation_id']);
} else { // removing multiple variations
error_log("here4");
check_ajax_referer( 'delete-variations', 'security' );
$variation_ids = (array) $_POST['variation_ids'];
}
foreach ( $variation_ids as $variation_id ) {
$variation_post = get_post( $variation_id );
error_log(print_r($variation_post, ));
if ( $variation_post && $variation_post->post_type == 'product_variation' ) {
$variation_product = get_product( $variation_id );
if ( $variation_product && $variation_product->is_type( 'subscription_variation' ) ) {
wp_trash_post( $variation_id );
}
}
}
die();
}
删除 && $variation_product->is_type( 'subscription_variation' ) 以解决变体不可删除的问题。 http://support.woothemes.com/requests/162693应该提供补丁,问题已报告。
关于ajax - Woocommerce - 无法删除产品变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22758722/