WC_AJAX::load_variations PHP Méthode

load_variations() public static méthode

Load variations via AJAX.
public static load_variations ( )
    public static function load_variations()
    {
        ob_start();
        check_ajax_referer('load-variations', 'security');
        if (!current_user_can('edit_products') || empty($_POST['product_id'])) {
            die(-1);
        }
        // Set $post global so its available, like within the admin screens
        global $post;
        $loop = 0;
        $product_id = absint($_POST['product_id']);
        $post = get_post($product_id);
        $product_object = wc_get_product($product_id);
        $per_page = !empty($_POST['per_page']) ? absint($_POST['per_page']) : 10;
        $page = !empty($_POST['page']) ? absint($_POST['page']) : 1;
        $variations = wc_get_products(array('status' => array('private', 'publish'), 'type' => 'variation', 'parent' => $product_id, 'limit' => $per_page, 'page' => $page, 'orderby' => array('menu_order' => 'ASC', 'ID' => 'DESC'), 'return' => 'objects'));
        if ($variations) {
            foreach ($variations as $variation_object) {
                $variation_id = $variation_object->get_id();
                $variation = get_post($variation_id);
                $variation_data = array_merge(array_map('maybe_unserialize', get_post_custom($variation_id)), wc_get_product_variation_attributes($variation_id));
                // kept for BW compat.
                include 'admin/meta-boxes/views/html-variation-admin.php';
                $loop++;
            }
        }
        die;
    }
WC_AJAX