WC_AJAX::init PHP Méthode

init() public static méthode

Hook in ajax handlers.
public static init ( )
    public static function init()
    {
        add_action('init', array(__CLASS__, 'define_ajax'), 0);
        add_action('template_redirect', array(__CLASS__, 'do_wc_ajax'), 0);
        self::add_ajax_events();
    }

Usage Example

     * Bulk edit variations via AJAX
     */
    public static function bulk_edit_variations()
    {
        ob_start();
        check_ajax_referer('bulk-edit-variations', 'security');
        // Check permissions again and make sure we have what we need
        if (!current_user_can('edit_products') || empty($_POST['product_id']) || empty($_POST['bulk_action'])) {
            die(-1);
        }
        $product_id = absint($_POST['product_id']);
        $bulk_action = wc_clean($_POST['bulk_action']);
        $data = !empty($_POST['data']) ? array_map('wc_clean', $_POST['data']) : array();
        $variations = array();
        if (apply_filters('woocommerce_bulk_edit_variations_need_children', true)) {
            $variations = get_posts(array('post_parent' => $product_id, 'posts_per_page' => -1, 'post_type' => 'product_variation', 'fields' => 'ids', 'post_status' => array('publish', 'private')));
        }
        if (method_exists(__CLASS__, "variation_bulk_action_{$bulk_action}")) {
            call_user_func(array(__CLASS__, "variation_bulk_action_{$bulk_action}"), $variations, $data);
        } else {
            do_action('woocommerce_bulk_edit_variations_default', $bulk_action, $data, $product_id, $variations);
        }
        do_action('woocommerce_bulk_edit_variations', $bulk_action, $data, $product_id, $variations);
        // Sync and update transients
        WC_Product_Variable::sync($product_id);
        wc_delete_product_transients($product_id);
        die;
    }
}
WC_AJAX::init();
WC_AJAX