woocommerce.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. if ( ! defined( 'ABSPATH' ) ) {
  3. die( '-1' );
  4. }
  5. /**
  6. * Add script for grid item add to card link
  7. *
  8. * @since 4.5
  9. */
  10. function vc_woocommerce_add_to_cart_script() {
  11. wp_enqueue_script( 'vc_woocommerce-add-to-cart-js', vc_asset_url( 'js/vendors/woocommerce-add-to-cart.js' ), array( 'wc-add-to-cart' ), WPB_VC_VERSION );
  12. }
  13. /**
  14. * @since 4.4 vendors initialization moved to hooks in autoload/vendors.
  15. *
  16. * Used to initialize plugin WooCommerce vendor. (adds tons of WooCommerce shortcodes and some fixes)
  17. */
  18. add_action( 'plugins_loaded', 'vc_init_vendor_woocommerce' );
  19. function vc_init_vendor_woocommerce() {
  20. include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); // Require class-vc-wxr-parser-plugin.php to use is_plugin_active() below
  21. if ( is_plugin_active( 'woocommerce/woocommerce.php' ) || class_exists( 'WooCommerce' ) ) {
  22. require_once vc_path_dir( 'VENDORS_DIR', 'plugins/class-vc-vendor-woocommerce.php' );
  23. $vendor = new Vc_Vendor_Woocommerce();
  24. add_action( 'vc_after_set_mode', array(
  25. $vendor,
  26. 'load',
  27. ) );
  28. require_once vc_path_dir( 'VENDORS_DIR', 'plugins/woocommerce/grid-item-filters.php' );
  29. // Add 'add to card' link to the list of Add link.
  30. add_filter( 'vc_gitem_add_link_param', 'vc_gitem_add_link_param_woocommerce' );
  31. // Filter to add link attributes for grid element shortcode.
  32. add_filter( 'vc_gitem_post_data_get_link_link', 'vc_gitem_post_data_get_link_link_woocommerce', 10, 3 );
  33. add_filter( 'vc_gitem_post_data_get_link_target', 'vc_gitem_post_data_get_link_target_woocommerce', 12, 2 );
  34. add_filter( 'vc_gitem_post_data_get_link_real_link', 'vc_gitem_post_data_get_link_real_link_woocommerce', 10, 4 );
  35. add_filter( 'vc_gitem_post_data_get_link_real_target', 'vc_gitem_post_data_get_link_real_target_woocommerce', 12, 3 );
  36. add_filter( 'vc_gitem_zone_image_block_link', 'vc_gitem_zone_image_block_link_woocommerce', 10, 3 );
  37. add_action( 'wp_enqueue_scripts', 'vc_woocommerce_add_to_cart_script' );
  38. }
  39. }