购买此产品后,删除特定的订单信息

时间:2019-09-17 06:38:29

标签: php wordpress woocommerce product

我遇到了一个问题。我的目标是购买特定产品后,在用户元数据中添加了有效期。现在,我要删除到期日期之后的所有购买信息(例如258291之类的特定产品)。我的代码运行良好,但是问题是日期过期了,但是wc_customer_bought_product()函数仍然显示true,这就是为什么所有功能都再次运行并且最终到期日期没有过期的原因。如何使用此wc_customer_bought_product()函数删除特定用户的特定产品购买信息并得到错误的结果?

$bronze = wc_customer_bought_product($current_user->user_email, $current_user->ID, 258291); // Basic plan iD
if ( $bronze) {
    $awesome_level = "Premium";
                $status = 1;
                $date = date_create($current_date);
                date_add($date, date_interval_create_from_date_string('3 days')); // Add Premium plan duration
                //$expire_date = date_format($date, 'd-m-Y');
                $expire_date = date_format($date, 'd-m-Y ') . date('h:i:s A');

                add_user_meta( $user_id, 'membership_type', $awesome_level);
                add_user_meta( $user_id, 'membership_status', $status);
                add_user_meta( $user_id, 'membership_expiry_date', $expire_date);
}

权限用户元

 if ( metadata_exists('user', $user_id, 'membership_status' ) && metadata_exists('user', $user_id, 'membership_expiry_date' ) ) {
        $current_date           = date('d-m-Y');
        $membership_status      = get_user_meta( $user_id, 'membership_status', true );
        $membership_expiry_date = get_user_meta( $user_id, 'membership_expiry_date', true );
        if($current_date == $membership_expiry_date){
            delete_user_meta($user_id, 'membership_type');
            delete_user_meta($user_id, 'membership_status');
            delete_user_meta($user_id, 'membership_expiry_date');
        }

        add_filter( 'woocommerce_get_price_html', 'react2wp_woocommerce_hide_product_price' );
        function react2wp_woocommerce_hide_product_price( $price ) {
            return '';
        }
    }

0 个答案:

没有答案