Repository › Forums › Support › WooCommerce Extended Coupon Features PRO › API documentation › Reply To: API documentation
May 31, 2017 at 6:21 pm #1416
Soft79
Keymaster
Hi Eugeneus,
Yes, you’re right the documentation still has to be written….
In a nutshell:
- The API functions are in the file WJECF_Pro_API.php, and examples on how to use them are in wjecf-pro-api-example.php
- If you would like to build your own extra functionality for this plugin, hook into the
wjecf_init_plugins-action. Then create a class that extendsAbstract_WJECF_Pluginand load it by callingWJECF()->add_plugin( 'NameOfYourClass');- Create a function init_hook(), where you setup your plugin and define frontend hooks.
- Create a function init_admin_hook(), where you setup your plugin for admin usage and define admin hooks.
- If you would like to add admin fields, you can use the WooCommerce functions (like
woocommerce_wp_text_input) for that, for example by hooking into thewoocommerce_coupon_options_usage_restrictionaction, you can add fields to the Usage Restrictions tab. Or use one of these actions for my plugin:wjecf_coupon_metabox_checkout,wjecf_coupon_metabox_customer,wjecf_coupon_metabox_misc,wjecf_coupon_metabox_free_products. - For version 2.5.1+ create a function admin_coupon_meta_fields( $coupon ), and make it return an array
[ 'field_name' => 'sanitation', ... ]. Upon saving a coupon, these fields will be automatically read from $_POST and sanitized with the given sanition method, e.g.'int','int[]','yesno','decimal','clean'or even a callback:[ 'callback' => callback ]and saved to the current coupon. For versions prior to 2.5.1, you need to handle process_shop_coupon_meta yourself.
- These are currently the available filters:
apply_filters( 'wjecf_bogo_product_amount_for_coupon', $qty, $coupon )apply_filters( 'wjecf_set_free_product_amount_in_cart', $quantity, $product )apply_filters( 'wjecf_free_product_amount_for_coupon', $coupon_qty, $coupon )apply_filters( 'wjecf_free_cart_item_price', __('Free!', 'woocommerce'), $price_html, $cart_item, $cart_item_key )apply_filters( 'wjecf_free_cart_item_subtotal', __('Free!', 'woocommerce'), $price_html, $cart_item, $cart_item_key )apply_filters( 'wjecf_coupon_can_be_applied', $can_be_applied, $coupon )apply_filters( 'wjecf_coupon_has_a_value', $has_a_value, $coupon )
If you have any questions, just let me know.