/** * Adds actions and filters * * @access public * @return void */ public static function init() { //refresh data self::refresh(); if (self::isActive()) { //get plugin instance self::$woocommerce = $GLOBALS['woocommerce']; //order actions add_action('woocommerce_order_status_completed', array(__CLASS__, 'completeOrder')); add_action('subscriptions_activated_for_order', array(__CLASS__, 'completeOrder')); add_action('woocommerce_order_status_processing', array(__CLASS__, 'uncompleteOrder')); add_action('woocommerce_order_status_refunded', array(__CLASS__, 'uncompleteOrder')); add_action('subscriptions_cancelled_for_order', array(__CLASS__, 'uncompleteOrder')); //product filters add_filter('woocommerce_output_related_products_args', array(__CLASS__, 'updateRelatedLimit')); add_action('woocommerce_after_single_product_summary', array(__CLASS__, 'updateUpsellLimit'), 15); //checkout filters add_filter('woocommerce_checkout_fields', array(__CLASS__, 'filterFields'), 10, 1); //remove actions remove_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10); remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); //add actions add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 10); } }
/** * Adds actions and filters * * @access public * @return void */ public static function init() { if (self::isActive()) { //get plugin instance self::$woocommerce = $GLOBALS['woocommerce']; //add authors support add_action('init', array(__CLASS__, 'addPosts'), 999); //update actions add_action('wp', array(__CLASS__, 'update'), 3); //order actions add_action('woocommerce_checkout_update_order_meta', array(__CLASS__, 'addOrder'), 999); add_filter('woocommerce_paypal_ap_payment_args', array(__CLASS__, 'splitOrder'), 10, 2); add_action('woocommerce_order_status_changed', array(__CLASS__, 'updateOrder')); //add checkout fields add_action('init', array(__CLASS__, 'addFields'), 999); //add custom columns add_filter('manage_edit-shop_order_columns', array(__CLASS__, 'addColumns'), 15); //enqueue scripts add_action('wp_enqueue_scripts', array(__CLASS__, 'addScripts')); //update cart actions add_filter('add_to_cart_fragments', array(__CLASS__, 'filterCart')); add_action('woocommerce_add_to_cart', array(__CLASS__, 'addCart'), 10, 1); add_action('woocommerce_cart_item_restored', array(__CLASS__, 'addCart'), 10, 1); add_action('woocommerce_thankyou', array(__CLASS__, 'removeCart'), 10); add_action('woocommerce_cart_item_removed', array(__CLASS__, 'removeCart'), 10); add_action('woocommerce_before_cart_item_quantity_zero', array(__CLASS__, 'removeCart'), 10); //shipping actions add_filter('woocommerce_package_rates', array(__CLASS__, 'updateShipping'), 100, 2); //set products limit add_filter('loop_shop_per_page', array(__CLASS__, 'updateProductsLimit'), 20); add_filter('woocommerce_output_related_products_args', array(__CLASS__, 'updateRelatedLimit')); add_action('woocommerce_after_single_product_summary', array(__CLASS__, 'updateUpsellLimit'), 15); //get product reviews add_filter('woocommerce_product_review_list_args', array(__CLASS__, 'getReviews')); //remove actions remove_action('woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10); remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10); remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10); remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10); remove_action('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15); remove_action('woocommerce_before_shop_loop', 'wc_print_notices', 10); //add actions add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 10); add_action('woocommerce_single_product_summary', 'comments_template', 60); } }