Developers › Action hooks
WordPress Action Hooks Reference
Every action hook in WP EasyCart, PRO and the extensions: when it fires and what it passes to your code. 23 parts.
Quick links
Where to find it:WP Admin › functions.php
Before you start
How action hooks work
What one is and how to read the list.
How action hooks work
Run your own code when something happens
What an action is. WP EasyCart tells WordPress when something happens, such as an item going into the cart or an order being updated. Your code can listen and do something at that moment. It does not change what WP EasyCart does; use a filter for that.
Where to put your code. In a small plugin or your child theme’s functions.php. Never edit the WP EasyCart files; an update would remove your change.
A first example.add_action( 'wpeasycart_cartitem_added', 'my_cart_watcher' );function my_cart_watcher( $tempcart_id ) { /* your code */ }
Each entry below shows the hook name, what triggers it, and the values it hands to your function, in order. If your function needs more than the first value, say how many to pass: add_action( 'hook_name', 'my_function', 10, 2 );.
Reading the list
Names, tags and where hooks fire
Names. Names start with wp_easycart_, wpeasycart_ or ec_. A name with a word in braces, such as wpeasycart_admin_order_{type}_update, stands for a family of hooks: replace the braces with the value described in the entry.
Tags. An entry with no tag is in the free WP EasyCart plugin. A PRO tag means it works only when WP EasyCart PRO is active. Other tags name the extension that provides it.
Fires in. The plugin file, and the function, where the hook is called. Use it to understand the context or to search the plugin when you need more detail. Hooks in admin screens work only in the WordPress admin.
Areas. The list is grouped by what the hook is about: cart, orders, products, admin screens and so on. Use your browser’s find box to look for a name.
💡 Note: Looking for a way to change a value instead of reacting to an event? See the WordPress Filters Reference.
The action hooks
By area
692 action hooks, grouped by what they are about.
Cart and checkout
Grouped by what they are about
55 actionswp_easycart_abandoned_cart_capturedFires after a new abandoned-cart record is created for a shopper’s cart session.
$id abandoned_cart_id of the new record (int)$row Columns written to the ec_abandoned_cart table (array)wp_easycart_abandoned_cart_code_minted PROFires after a recovery coupon code is created for an abandoned cart and saved on its record.
(int) $cart->abandoned_cart_id Abandoned cart id$id Id of the new offer code$code The coupon code string(int) $offer->offer_id Id of the offer the code belongs towp_easycart_abandoned_cart_coupon_appliedFires after a recovery coupon code is applied to a restored shopper session from an abandoned-cart email link.
$sid Cart session id the code was applied to$code The coupon codewp_easycart_abandoned_cart_recoveredFires when an order is matched to an open abandoned cart and the cart is marked recovered.
(int) $row->abandoned_cart_id Abandoned cart id$order_id Id of the order that recovered the cartwp_easycart_abandoned_cart_restoredFires after a shopper opens an abandoned-cart restore link and their cart session has been restored, before the redirect to the cart.
$new New (rotated) session id$sid Session id from the restore link$coupon Coupon code from the link, or an empty stringwp_easycart_abandoned_cart_step_sent PROFires after a step of the abandoned-cart reminder sequence has been sent and the cart record advanced.
(int) $cart->abandoned_cart_id Abandoned cart id$n Sequence step number that was sent$coupon Coupon details included in the email (array with a code), or emptywp_easycart_abandoned_cart_unsubscribedFires when a shopper’s email is unsubscribed from abandoned-cart reminders, only if it was not already suppressed.
(int) $id Abandoned cart id used to unsubscribe$row->email Email address unsubscribedwp_easycart_abandoned_cart_updatedFires after an existing abandoned-cart record is updated with a fresh snapshot of the shopper’s cart.
$id abandoned_cart_id (int)$row Columns just written; status, sequence_step and next_send_at only when they changed (array)wp_easycart_cart_after_checkout_buttonFires on the cart page right after the checkout button, before the continue shopping area.
$this The cart page object (classic cart), or the cart page object in the v2 cart template.wp_easycart_cart_before_continue_shoppingFires on the cart page right before the Continue Shopping button.
wp_easycart_cart_link_deletedFires after a cart link and its items have been deleted from the database.
(int) $cart_link_id ID of the cart link that was deleted.wp_easycart_cart_link_rejectedFires when a shopper opens a cart link that is missing, inactive, expired or used up, before they are sent to the cart page.
$link ? $link : $token The cart link record (object) when found, otherwise the link token that was requested.wp_easycart_cart_link_resolvedFires after a valid cart link has been applied to the shopper’s cart, before they are redirected to the cart or checkout.
$link The cart link record (object).$added Whether the link’s items were added to the cart.wp_easycart_cart_link_savedFires after a cart link and its items have been saved.
$cart_link_id ID of the cart link that was saved.wp_easycart_cart_payment_after_edit_shipping_linkFires on the checkout payment page after the Edit Shipping Address link and before the shipping method heading.
$this The cart page object.wp_easycart_cart_payment_after_payment_tableFires on the v2 checkout payment page after the payment method table and the pay-later minimum message.
$cartpage The cart page object.wp_easycart_cart_payment_endFires at the very end of the checkout payment page template, before the closing spacer and media size marker.
$this The cart page object.wp_easycart_cart_template_endFires at the very end of the cart template, after the cart section and the media size marker.
wp_easycart_cartitem_deletedFires after a line item has been deleted from the temporary cart and its option items removed.
$tempcart_id ID of the cart line item that was deleted.$session_id The shopper’s cart session ID.wp_easycart_cartitem_post_optionitemsFires for each cart line item after its options and custom details are printed, in the cart and checkout order summary.
$this->cart->cart[$cartitem_index] The cart line item (object); the invoice item object in the invoice template.wp_easycart_checkout_details_left_endFires at the end of the left column of the checkout details page, after the checkout error messages.
$cartpage The cart page object (passed as $this in the classic template).wp_easycart_checkout_details_right_endFires at the end of the right column of the checkout details page, after the continue button or the cart totals.
$this The cart page object.wp_easycart_checkout_field_html PROFires after PRO prints a checkout field’s input, so extensions can add markup for a custom field type.
$field The checkout field definition (array).$value The shopper’s current answer (string).wp_easycart_checkout_fields_order_saved PROFires after checkout field answers have been saved on a newly created order.
$order_id ID of the new order (int).wp_easycart_checkout_fields_order_updated PROFires after checkout field answers on an existing order have been changed, by staff on the order screen or by the customer after payment.
$order_id ID of the order (int).$who Who made the change: staff or customer (string).wp_easycart_checkout_form_innerFires inside the opening tag of the checkout details form, so a callback can echo extra HTML attributes for the form.
wp_easycart_display_cart_afterFires after the cart or the cart contents have been displayed.
$this->cart The cart object.$this->order_totals The order totals object.wp_easycart_display_cart_beforeFires before the cart or the cart contents are displayed.
$this->cart The cart object.$this->order_totals The order totals object.wp_easycart_display_checkout_details_postFires after the checkout details (contact information) step has been displayed.
wp_easycart_display_checkout_details_preFires before the checkout details (contact information) step is displayed.
wp_easycart_end_live_payment_box_innerFires at the end of the live payment box on the checkout payment step, after the payment fields.
$this / $cartpage The cart page object (passed as $this in one template and $cartpage in the other)wp_easycart_onepage_checkout_topFires at the top of the one-page checkout template, after the tabbed form start and before the express checkout buttons.
wp_easycart_totals_afterFires on the checkout page after the cart totals lines are printed.
wpeasycart_billing_afterFires in the checkout after the billing information section, before the payment method section.
wpeasycart_cart_addedFires when a new cart session record is created for a shopper who did not have one yet.
$session_id Cart session ID of the new cartwpeasycart_cart_item_addedFires after a product is added to the shopper’s cart, with the quantity added and unit price, so tracking and marketing integrations can record the add.
$tempcart_id ID of the cart line (ec_tempcart row)$product_id ID of the product added$quantity_added Quantity added by this action$unit_price (float) The line’s unit price, including variant price, options, tiers and role prices$args (array) Extra details: optionitemquantity_id, content_id, source (details, list, link, cart_link, deconetwork or other), event_id, content_name and browser (true if the storefront script already fired AddToCart)wpeasycart_cart_updated Facebook & Instagram PROFires after the shopper’s cart changes, such as items added, removed or adjusted for stock, so tax services and integrations can refresh.
wpeasycart_cartitem_added PROFires after a new cart item row is inserted into the cart table.
$tempcart_id ID of the new cart line (ec_tempcart row)wpeasycart_cartitem_deletedFires after a cart item row is deleted, for example when stock runs out or an item is removed.
$tempcart_id ID of the deleted cart linewpeasycart_cartitem_deletingFires just before a cart item row is deleted from the cart table.
$tempcart_id ID of the cart line about to be deletedwpeasycart_cartitem_updatedFires after an existing cart item is changed, such as its quantity being merged with a new add or reduced to available stock.
$tempcart_id ID of the updated cart linewpeasycart_checkout_details_afterFires in the checkout details template after the details columns, before the form closes.
wpeasycart_checkout_fieldsFires in the checkout at points where extra checkout fields can be output; the first argument names the section, such as contact.
$section (string) Checkout section the fields belong to, such as ‘contact’$cartpage The cart page objectwpeasycart_checkout_protection_attack_endedFires when checkout protection attack mode ends.
$summary (array) Counts for the attackwpeasycart_checkout_protection_attack_startedFires when checkout protection attack mode starts, either manually or after a burst of declines.
(bool) $manual True if the store owner started attack mode(int) $recent Number of declines in the last 15 minuteswpeasycart_item_added_to_cartFires after a product is added to the cart from the product details page, before the cart updated action.
$tempcart_id ID of the cart line that was added$cart_id ID of the cart sessionwpeasycart_order_notes_afterFires in the checkout right after the order notes box, where extra checkout content can be added.
$cartpage The cart page object (only passed by the one-page checkout template)wpeasycart_order_successFires when the checkout success page starts to display, before the order details are loaded.
wpeasycart_payment_order_notes_afterFires on the payment review step of checkout, right after the shopper’s order notes and before the order totals heading.
wpeasycart_save_checkout_info_completeFires after the checkout information step is saved through AJAX, once the cart and totals are loaded.
$cart the cart object (ec_cart)$order_totals the calculated order totals object$cartpage->shipping->get_selected_shipping_method() the selected shipping methodwpeasycart_save_checkout_info_processFires while the checkout information step is being saved, after the guest or account details are set and before the session is saved.
wpeasycart_save_checkout_shipping_processFires when the classic checkout shipping method step is posted, so extensions can save extra fields from it.
wpeasycart_shipping_afterFires on the checkout information page after the shipping section, before the checkout fields and order notes.
wpeasycart_submit_order_completeFires after the order is submitted and payment is processed in the checkout, before the shopper is sent to the success page.
wpeasycart_submit_order_processFires when Place order is posted, before any payment runs, so extensions can save what the payment step asked for.
Products
Grouped by what they are about
109 actionswp_easycart_admin_ecv2_advanced_pricing_slideout_extras PROFires at the end of the product advanced-pricing slideout body in the admin product table, so extensions can add sections.
wp_easycart_admin_ecv2_price_editor_extra_sectionsFires inside the admin product table’s price editor popover, before the footer buttons, so extra sections can be added.
$result Product row being editedwp_easycart_admin_ecv2_product_image_edit_triggerFires after a product thumbnail is printed in the admin product list so an image edit trigger can be added.
$product_id Product id'table' or 'card' Which view is being shown: table row or cardwp_easycart_admin_ecv2_render_advanced_pricing_slideoutFires when the admin product table prints its custom modals, to render the advanced pricing slideout.
wp_easycart_admin_ecv2_render_b2b_pricing_managerFires when the admin product table prints its custom modals, to render the B2B pricing manager.
wp_easycart_admin_ecv2_render_image_managerFires when the admin product table prints its custom modals, to render the image manager.
wp_easycart_admin_ecv2_render_variant_managerFires when the admin product table prints its custom modals, to render the variant manager.
wp_easycart_admin_ecv2_render_volume_pricing_managerFires when the admin product table prints its custom modals, to render the volume pricing manager.
wp_easycart_admin_ecv2_save_price_extrasFires when a product’s prices are saved from the admin price editor, letting PRO save its own POST data in the same request.
$product_id Product idwp_easycart_admin_product_advanced_option_row_endFires for each advanced option row after the advanced option list is printed following an add or delete in the product editor.
$advanced_option Advanced option row for the product (ec_option_to_product joined to ec_option)wp_easycart_admin_product_details_advanced_pricing_fieldsFires in the admin product editor Advanced Pricing card so extensions can add fields.
wp_easycart_admin_product_details_after_imagesFires in the admin product editor images area when legacy PRO provides the media panel, so extensions can output image fields.
wp_easycart_admin_product_details_basic_fieldsFires in the admin product editor Product Details card so extensions can add basic fields.
wp_easycart_admin_product_details_basic_startFires in the admin product editor at the start of the Product Details card.
$product Product rowwp_easycart_admin_product_details_buttons_preFires in the admin product editor header, before the action buttons.
$product Product rowwp_easycart_admin_product_details_categories_fieldsFires in the admin product editor Categories section so category fields can be added.
wp_easycart_admin_product_details_customs_fieldsFires in the admin product editor Customs and packing section so fields can be added.
wp_easycart_admin_product_details_deconetwork_fieldsFires in the admin product editor Deconetwork section so fields can be added.
wp_easycart_admin_product_details_downloads_fieldsFires in the admin product editor Digital Download section so fields can be added.
wp_easycart_admin_product_details_featured_products_fieldsFires in the admin product editor Featured Products section so fields can be added.
wp_easycart_admin_product_details_general_options_fieldsFires in the admin product editor in the Visibility & Sorting and Product Behaviors sections so general option fields can be added.
wp_easycart_admin_product_details_googlemerchant_fieldsFires to render the Google Merchant feed attribute fields in the admin product editor.
wp_easycart_admin_product_details_images_pro_start PROFires at the start of the PRO product images panel in the admin product editor.
$product Product rowwp_easycart_admin_product_details_menus_fieldsFires in the admin product editor Menu Locations section so fields can be added.
wp_easycart_admin_product_details_modifiers_pro_start PROFires at the start of the Modifiers (advanced options) card in the PRO product editor.
$product Product rowwp_easycart_admin_product_details_optionitem_quantity_fieldsFires in the admin product editor variation inventory card so fields such as stock notifications can be added.
wp_easycart_admin_product_details_options_pro_start PROFires at the start of the Basic option sets card in the PRO product editor.
$product Product rowwp_easycart_admin_product_details_order_completed_details_note_fieldsFires in the admin product editor Order Details Note section so fields can be added.
wp_easycart_admin_product_details_order_completed_email_note_fieldsFires in the admin product editor Order Email Note section so fields can be added.
wp_easycart_admin_product_details_order_completed_note_fieldsFires in the admin product editor Receipt Page Note section so fields can be added.
wp_easycart_admin_product_details_packaging_fieldsFires in the admin product editor Packaging Dimensions section so fields can be added.
wp_easycart_admin_product_details_pricing_fieldsFires in the admin product editor Pricing section so pricing fields can be added.
$product Product rowwp_easycart_admin_product_details_pricing_startFires in the admin product editor at the start of the Pricing area, before the Pricing section opens.
$product Product rowwp_easycart_admin_product_details_qr_codeFires in the admin product editor’s actions menu so a QR code or video help item can be printed.
$is_new ? 0 : $product->product_id Product id, or 0 for a new productwp_easycart_admin_product_details_quantity_fieldsFires in the admin product editor Stock & Purchase Limits section so fields can be added.
$product Product rowwp_easycart_admin_product_details_quantity_startFires at the top of the Inventory & Shipping panel on the admin product edit screen, before the Stock & Purchase Limits section.
$product The product being edited (object).wp_easycart_admin_product_details_sections_preFires on the admin product edit screen after the header and new-product notice, before the section rail and panels are printed.
wp_easycart_admin_product_details_seo_fieldsFires inside the Search Engine Listing section of the admin product edit screen, only when Yoast SEO is not handling SEO fields.
wp_easycart_admin_product_details_shipping_fieldsFires inside the Shipping section of the admin product edit screen so extensions can add shipping fields.
wp_easycart_admin_product_details_short_description_fieldsFires inside the Short Description section of the admin product edit screen so extensions can add fields.
wp_easycart_admin_product_details_specifications_fieldsFires inside the Specifications section of the admin product edit screen so extensions can add fields.
wp_easycart_admin_product_details_tags_fieldsFires inside the Badges & Image Effects section of the admin product edit screen so extensions can add fields.
wp_easycart_admin_product_details_v2_activity_endFires at the end of the Activity panel on the admin product edit screen, after the activity content placeholder.
$product The product being edited (object).wp_easycart_admin_product_details_v2_behavior_cardsFires in the Product Behaviors tab of the admin product edit screen so extensions can print additional behavior cards.
$product The product being edited (object); it has no product_id yet for a new product.wp_easycart_admin_product_details_v2_header_menuFires in the header menu of the admin product edit screen, after the Documentation link, so extensions can add menu items.
$product The product being edited (object).wp_easycart_admin_product_details_v2_marketing_cardsFires in the SEO & Marketing tab of the admin product edit screen so extensions can print additional marketing cards.
$product The product being edited (object); it has no product_id yet for a new product.wp_easycart_admin_product_details_v2_media_proFires inside the Media panel of the admin product edit screen when WP EasyCart PRO’s media panel is active, so PRO can print the image gallery.
$product The product being edited (object).wp_easycart_admin_product_details_v2_options_proFires inside the Options & Variants panel of the admin product edit screen when PRO’s options panel is active, so PRO can print the option editor.
$product The product being edited (object).wp_easycart_admin_product_details_v2_stock_history_proFires when the admin product Inventory panel renders and the PRO stock history panel is enabled, so PRO can print the stock change history.
$this->product The product being edited (object).wp_easycart_admin_product_details_variants_pro_start PROFires at the start of the Variations card in the PRO options panel of the admin product edit screen, so a managing service can cover the card.
$product The product being edited (object).wp_easycart_admin_product_list_cell_{col}Fires when the admin product list prints a cell for a custom column; {col} is the column’s format value, so a callback prints that column’s cell content.
$result The product row (object) from the list query, including the column’s own select.$col The column definition (array).wp_easycart_admin_product_slideout_option_typesFires inside the Choices on this product select in the admin product slideout, so extensions can add extra option-type choices.
wp_easycart_ecv2_cart_link_card_endFires at the end of the Cart Links card on the admin product edit screen.
wp_easycart_ecv2_cart_link_card_modifiersFires in the Cart Links card on the admin product edit screen, before the Create Link button, so PRO can add modifier preselect inputs.
$product The product being edited (object).wp_easycart_ecv2_cart_link_card_row_actionsFires for each existing cart link in the Cart Links card of the admin product edit screen, after the Copy button, so extra row actions can be added.
$ecdv2_cl_link The cart link record for this row (object).wp_easycart_inventory_tracking_changedFires after stock tracking is turned on or off for a product or option item from the admin inventory screen.
$product_id Product ID$oiq_id Option item quantity ID, or 0 when the change applies to the product itself$tracked 1 when tracking was turned on, 0 when turned offwp_easycart_modifier_to_product_created PROFires after an option (modifier) is added to a product in the admin.
(int) $_POST['option_id'] Option ID(int) $_POST['product_id'] Product IDwp_easycart_modifier_to_product_deleted PROFires just before an option (modifier) link is removed from a product in the admin.
(int) $_POST['option_to_product_id'] ID of the option-to-product link being removedwp_easycart_option_to_product_createdFires after an option set is linked to a product, when assigning an option set to products or when duplicating a product’s options.
$option_id Option set ID$pid Product ID the option set was linked to (the duplicate product ID when duplicating)wp_easycart_option_to_product_deletedFires after an option set is unlinked from a product in the admin.
$option_to_product_id ID of the option-to-product link that was deleted (int)wp_easycart_optionitem_createdFires after an option item (choice) is created, by duplicating it or saving an option set in the admin.
$new_optionitem_id ID of the new option item$option_id ID of the option set it belongs towp_easycart_optionitem_deletedFires after an option item is deleted in the admin, once per item for bulk deletes.
$optionitem_id ID of the deleted option item$option_id ID of the option set it belonged towp_easycart_optionitem_deletingFires just before an option item is deleted in the admin, once per item for bulk deletes.
$optionitem_id ID of the option item about to be deleted$option_id ID of the option set it belongs towp_easycart_optionset_createdFires after an option set is created in the admin, either new or by duplicating an existing set.
$option_id ID of the new option set (when duplicating, the code passes the ID of the last duplicated option item)wp_easycart_optionset_deletedFires after an option set is deleted through the safe delete process, once the set and its items are removed.
$option_id ID of the deleted option setwp_easycart_optionset_deletingFires during safe deletion of an option set, after products are updated and before the set and its items are removed.
$option_id ID of the option set about to be deletedwp_easycart_optionset_updatedFires after an option set is saved in the admin option editor, or after it is assigned to products.
$option_id ID of the option set that changedwp_easycart_product_details_advanced_option_set_afterFires on the product details page after an advanced option set is displayed.
$optionset Advanced option set object.$optionitems Option items in that set.$this->product The product being displayed.wp_easycart_product_details_advanced_option_set_beforeFires on the product details page before an advanced option set is displayed.
$optionset Advanced option set object.$optionitems Option items in that set.$this->product The product being displayed.wp_easycart_product_details_after_descriptionFires on the product details page after the product title area and short description block.
$this->product->product_id Product id.wp_easycart_product_details_after_description_belowFires on the product details page after the short description that is shown below the add to cart area.
$this->product->product_id Product id.wp_easycart_product_details_after_left_content_areaFires on the product details page after the left column holding the product images.
$product_id Product id.wp_easycart_product_details_after_titleFires on the product details page directly after the product title.
$product_id Product id.wp_easycart_product_details_after_title_dividerFires on the product details page directly after the divider line under the product title.
$product_id Product id.wp_easycart_product_details_beforeFires when a product details page starts rendering, before its content and tracking events, in both the standard and Elementor layouts.
$product The product being displayed.wp_easycart_product_details_endFires at the end of the product details output, in both the standard and Elementor layouts.
$product The product being displayed.wp_easycart_product_details_image_holder_postFires on the product details page right after the main product image, inside the image holder.
$product The product being displayed.wp_easycart_product_details_image_holder_preFires on the product details page before the main product image, inside the image holder.
$product The product being displayed.wp_easycart_product_details_post_add_to_cartFires on the product details page after the add to cart controls, before the form closes.
$product_id Product id.wp_easycart_product_details_pre_add_to_cartFires on the product details page and the add to cart shortcode just before the add to cart controls and their quantity error messages.
$product_id Product id.wp_easycart_product_details_thumbnail_itemFires after each product image thumbnail is output in the product details gallery.
$product_image_id Image slot name, such as image1 or image2.$this->product->product_id Product id.$wpeasycart_addtocart_shortcode_rand Number identifying this product block on the page.wp_easycart_product_details_thumbnail_items_simpleFires in the product details gallery after the basic set of thumbnails is printed.
$this->product The product being displayed.$wpeasycart_addtocart_shortcode_rand Number identifying this product block on the page.wp_easycart_product_image_holder_postFires in a product listing item and the featured product layout right after the product image holder.
$product The product object.wp_easycart_product_image_holder_preFires in a product listing item and the featured product layout at the start of the product image holder, before the product image link.
$product The product object.wp_easycart_product_search_ai_savedFires after a product’s Search AI attributes are saved in the admin.
$product_id Product id.$attributes The saved attribute values.wp_easycart_product_updated PROFires after a product is changed in the admin, for example by a stock quantity edit, tracking change or manufacturer assignment.
$product_id Product id.wp_easycart_product_yoast_seo_savedFires after a product’s Yoast SEO fields are saved from the product details screen.
$product_id Product id.$post_id Id of the WordPress post linked to the product.$values Submitted SEO values.wp_easycart_tabs_saved TabsFires after a product’s tab is saved in the Tabs extension.
$product_id Product id.$tab_id Tab id.wp_easycart_tabs_shared_saved TabsFires after a shared tab is saved in the Tabs extension.
$id Shared tab id.wp_easycart_updated_optionitem_quantity_value PROFires after the stock quantity of an option item combination is updated, including when a restock adjusts it.
$quantity New quantity.$product_id Product id.$optionitem_id_1 Option item 1 id.$optionitem_id_2 Option item 2 id.$optionitem_id_3 Option item 3 id.$optionitem_id_4 Option item 4 id.$optionitem_id_5 Option item 5 id.wp_easycart_updated_product_stock PROFires after a product’s stock quantity is updated, including when an order restock adjusts it.
$product_id Product id.$quantity Stock quantity or the amount removed.wp_easycart_variants_rebuiltFires after a product’s variants are rebuilt.
$product_id Product id.self::$last Summary of the rebuild: counts and row ids kept, moved, deleted and added.wp_easycart_view_product_listFires when a product list is displayed to a shopper, so tracking code can record the list view.
$list Product list object.$category_list Category list (null in the Elementor archive).$menu_id Menu id.$submenu_id Submenu id.$subsubmenu_id Sub-submenu id.$manufacturer_id Manufacturer id or a placeholder.$group_id Category id or a placeholder.$atts Shortcode or widget settings.wpeasycart_addon_product_details_tabFires where extensions add their own tab heading to the product details tabs.
$product_id Product id.$rand Number identifying this product block on the page.wpeasycart_addon_product_details_tab_contentFires where extensions add the content panel for their own product details tab.
$product_id Product id.$rand Number identifying this product block on the page.wpeasycart_admin_product_details_general_savedFires after a product’s general options are saved from the product details screen.
$product_id Product id.wpeasycart_admin_product_inserted API pluginFires after a product is created in the admin or through the API.
$product_id Product id.$model_number Model number (SKU) of the new product.wpeasycart_inquiry_sentFires after a product inquiry form has been sent, before the shopper is redirected back to the product page.
$product Product row; model_number is the chosen variant’s SKU when it has one$filter_options The inquiry: name, email, message and optionswpeasycart_inventory_stock_changedFires after a product or variant stock quantity is changed, so inventory logs and outside systems can record it.
$change (array) Details of the change: product_id, optionitemquantity_id, old_quantity, new_quantity, delta, reason, source, note and user_idwpeasycart_post_sync_eventFires when the product and category post sync records an event in its log, such as a failed insert, a blocked delete or a repaired link.
$event event key, such as insert_failed, update_failed, link_broken, link_repaired or delete_blocked$type kind of store item being synced$entity_id id of the store item$post_id linked WordPress post id (0 if none)$detail short text detail for the eventwpeasycart_pricepoints_updatedFires after the store’s price point filter list is saved in the admin.
wpeasycart_product_activatedFires after a product is activated in the store, singly or in bulk.
$product_id product idwpeasycart_product_added API plugin PROFires after a new product is created in the admin quick add or through the API.
$product_id id of the new product$model_number the product’s model number (SKU)wpeasycart_product_deactivatedFires after a product is deactivated in the store, singly or in bulk.
$product_id product idwpeasycart_product_deleted PROFires after a product and its related rows are deleted in the admin, singly or in bulk.
$product_id id of the deleted productwpeasycart_product_deletingFires just before a product is deleted in the admin, singly or in bulk.
$product_id id of the product about to be deletedwpeasycart_product_duplicated PROFires after a product is duplicated, so extensions can copy their own data to the new product.
(int) $newid id of the new product (the copy)(int) $product_id id of the product it was copied fromwpeasycart_product_restoredFires after a deleted product is restored from the admin undo snapshot.
$product_id id of the restored productwpeasycart_product_updated PROFires after a product is changed in the admin, such as when it is added to or removed from a menu.
$product_id product id$p->model_number the product’s model numberCategories, menus and manufacturers
Grouped by what they are about
25 actionswp_easycart_admin_category_editor_v2_cardsFires in the admin category editor after the built-in cards, before the Danger card, so extensions can add their own cards.
$c Category row (ec_category object)wp_easycart_catalog_yoast_seo_savedFires after Yoast SEO values for a catalog item are saved from the admin catalog screen, before the AJAX response is sent.
$type The catalog record type, taken from the request.$id ID of the catalog record.$post_id ID of the WordPress post that stores the Yoast meta.$values Array of Yoast meta keys and the values that were written.wp_easycart_category_viewFires before the category view of the store is printed, or before featured categories are shown on the first page of a product list.
$this->group_id The product group ID being viewed.$this->category_list The category list object.$this->product_list The product list object.wp_easycart_smart_category_synced PROFires after a smart category’s product membership is synced.
(int) $category_id Category id.(int) $added Number of products added.(int) $removed Number of products removed.wpeasycart_category_activatedFires after a category is activated in the admin, singly or in bulk.
$category_id (int) ID of the activated categorywpeasycart_category_added PROFires after a new category is created in the admin, either added directly or by duplicating an existing category.
$category_id ID of the new category (the new copy when duplicated)wpeasycart_category_created_inlineFires after a category is created (or found existing) from the product details screen and assigned to the product.
$category_id ID of the category$product_id ID of the product it was assigned to$existed Whether the category already existedwpeasycart_category_deactivatedFires after a category is deactivated in the admin, singly or in bulk.
$category_id (int) ID of the deactivated categorywpeasycart_category_deleted PROFires after a category is deleted, from the admin safe-delete tool or the mobile app API.
$category_id ID of the deleted categorywpeasycart_category_deletingFires during a safe delete of a category, just before the category is removed and its children are re-parented or deleted.
$category_id ID of the category being deletedwpeasycart_category_item_added PROFires after a product is added to a category through the mobile app API.
$productid ID of the product$categoryid ID of the categorywpeasycart_category_item_deleted PROFires after a single category item link is deleted through the mobile app API.
$categoryitemid ID of the deleted category item (ec_categoryitem row)wpeasycart_category_items_deleted PROFires after a product is removed from a category through the mobile app API.
$productid ID of the product$categoryid ID of the categorywpeasycart_category_updated PROFires after a category is updated in the admin, including when it is bulk set as featured.
$category_id ID of the updated categorywpeasycart_manufacturer_addedFires after a manufacturer is created in the admin.
$manufacturer_id ID of the new manufacturerwpeasycart_manufacturer_deletedFires after a manufacturer is deleted through the admin safe-delete tool.
$id ID of the deleted manufacturerwpeasycart_manufacturer_deletingFires during a safe delete of a manufacturer, just before its products are reassigned and the manufacturer is removed.
$id ID of the manufacturer being deletedwpeasycart_manufacturer_updatedFires after a manufacturer is updated in the admin, by an inline name edit or a full save.
$id ID of the updated manufacturerwpeasycart_menu_addedFires after a new menu item is created in the admin.
$id ID of the new menu item$level Menu level of the item (1, 2 or 3)wpeasycart_menu_deletedFires after a menu item is deleted through the admin safe-delete tool.
$id ID of the deleted menu item$level Menu level of the itemwpeasycart_menu_deletingFires during a safe delete of a menu item, before its children and product paths are moved or removed.
$id ID of the menu item being deleted$level Menu level of the itemwpeasycart_menu_relocatedFires after a menu item is moved to a new parent or level and its old rows have been deleted.
$map (array) Map of old ‘level:id’ keys to the new level and ID of each moved item$level Original menu level of the moved item$id Original ID of the moved itemwpeasycart_menu_updatedFires after a menu item is saved or moved in the admin.
$id ID of the menu item$level Menu level of the itemwpeasycart_product_to_category_addedFires after a product is added to a category in bulk from the admin.
$category_id category id(int) $bulk_id product idwpeasycart_product_to_category_deletedFires just before a product is removed from a category in the admin, singly or in bulk.
$category_id category id$product_id product idOrders
Grouped by what they are about
97 actionswp_easycart_admin_ecv2_order_render_modalsFires after the admin order table’s built-in modals are printed, so extra order modals can be rendered.
$this->table_id Id of the order tablewp_easycart_admin_order_created PROFires after an order is created from the admin order builder, before redirecting to the order screen.
$order_id Id of the new order$mode How it was created: draft, awaiting or sendwp_easycart_admin_order_date_updatedFires after an order’s date is changed from the admin order screen.
$order_id Order id$storage_ts New order date as a Unix timestamp in the storage timezonewp_easycart_admin_order_details_after_customer_notesFires on the admin order details screen after the customer notes, where the checkout fields card is shown.
$this->order Order rowwp_easycart_admin_order_details_billing_after_address1Fires on the admin order details screen after the billing address line 1.
$this->order Order rowwp_easycart_admin_order_details_billing_after_address2Fires on the admin order details screen after the billing address line 2.
$this->order Order rowwp_easycart_admin_order_details_billing_after_cityFires on the admin order details screen after the billing city, state and zip line.
$this->order Order rowwp_easycart_admin_order_details_billing_after_company_nameFires on the admin order details screen after the billing company name.
$this->order Order rowwp_easycart_admin_order_details_billing_after_country_nameFires on the admin order details screen after the billing country.
$this->order Order rowwp_easycart_admin_order_details_billing_after_nameFires on the admin order details screen after the billing name.
$this->order Order rowwp_easycart_admin_order_details_billing_after_phoneFires on the admin order details screen after the billing phone.
$this->order Order rowwp_easycart_admin_order_details_billing_after_titleFires on the admin order details screen at the start of the billing address block, after the title.
$this->order Order rowwp_easycart_admin_order_details_billing_content_endFires at the end of the billing address block on the admin order details screen, before the billing edit form is included.
wp_easycart_admin_order_details_button_row_postFires on the admin order details screen after the button-row-pre action, so plugins can output buttons that appear in the items More menu.
$this->order->order_id Order idwp_easycart_admin_order_details_button_row_preFires on the admin order details screen before the button-row-post action, so plugins can output buttons that appear in the items More menu.
$this->order->order_id Order idwp_easycart_admin_order_details_itemFires in each order line item on the admin order details screen after the subscription details, so extra item information can be printed.
$line_item Order line item rowwp_easycart_admin_order_details_items_endFires after the last line item on the admin order details screen.
wp_easycart_admin_order_details_left_content_endFires inside the order history wrapper on the admin order details screen, where activity entries are listed.
wp_easycart_admin_order_details_line_item_endFires at the end of each line item on the admin order details screen, near the edit and delete line buttons.
$line_item Order line item rowwp_easycart_admin_order_details_shipping_after_address1Fires on the admin order details screen after the shipping address line 1.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_address2Fires on the admin order details screen after the shipping address line 2.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_cityFires on the admin order details screen after the shipping city, state and zip line.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_company_nameFires on the admin order details screen after the shipping company name.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_country_nameFires on the admin order details screen after the shipping country.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_nameFires on the admin order details screen after the shipping name.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_phoneFires on the admin order details screen after the shipping phone.
$this->order Order rowwp_easycart_admin_order_details_shipping_after_titleFires on the admin order details screen at the start of the shipping address block, after the title.
$this->order Order rowwp_easycart_admin_order_details_shipping_content_endFires at the end of the shipping address block on the admin order details screen, before the shipping edit form is included.
wp_easycart_admin_order_details_totals_content_endFires at the end of the totals card on the admin order details screen.
wp_easycart_admin_order_fields_card_actionsFires in the header of the Checkout fields card on the admin order details screen so action buttons can be added.
$order Order object$rows Checkout field answers shown on the card (array)wp_easycart_admin_order_fields_card_endFires at the end of the Checkout fields card on the admin order details screen.
$order Order object$rows Checkout field answers shown on the card (array)wp_easycart_admin_order_line_added PROFires after a line item is added to an existing order from the admin order screen.
$order_id Order id$orderdetail_id Id of the new order linewp_easycart_admin_order_list_cell_{col}Fires to print a custom column cell in the admin order list; {col} is the column format. Fires only for non-built-in columns.
$result Order row$col Column definition (array)wp_easycart_admin_order_source_cardFires in the Source card on the admin order screen, letting an extension print its own order source card.
$row Order source row from order_row()$order The order shown on the screenwp_easycart_admin_order_status_box_rightFires in the order status area on the admin order details screen, next to the status control.
wp_easycart_admin_order_user_changedFires after an order is reassigned to a different customer account in admin.
$order_id Order id$user_id Account id the order belongs to now (0 for a guest checkout)$previous_user_id Account id it belonged to before (0 for a guest checkout)wp_easycart_admin_orders_details_shipmentFires in the shipment fields grid of the ship order drawer on the admin order details screen.
wp_easycart_credit_note_issued PROFires after a credit note is issued for an invoice because the order was refunded.
$record The ec_invoice row for the new credit note (object).$invoice The invoice the credit note corrects (object).$order_id ID of the order (int).wp_easycart_credit_note_pdf_afterFires in the credit note PDF after the amounts table and before the closing block, so extra content can be added to the document.
$document The credit note document object being built.wp_easycart_ecv2_order_details_customer_cardFires in the customer card of the admin order details screen, to print extra content such as lifetime stats and quick links, and again when the order’s customer account is changed.
$order The order object being displayedwp_easycart_ecv2_order_details_fulfillment_bannerFires while building the ‘next step’ fulfillment banner on the admin order details screen; output is captured and added to the banner.
$order The order object$state The order’s current fulfillment statewp_easycart_ecv2_order_details_header_chipsFires in the header of the admin order details screen to print extra chips such as tags and insights, and again when the order’s customer account is changed.
$order The order object being displayedwp_easycart_ecv2_order_details_header_menuFires at the end of the header actions menu on the admin order details screen, so extensions can add menu items.
$order The order object being displayedwp_easycart_ecv2_order_details_main_topFires at the top of the main column of the admin order details screen, before the items and shipping card.
$order The order object being displayedwp_easycart_ecv2_order_details_modalsFires at the end of the admin order details screen so extensions can print their modal dialogs, such as tags, refund, fulfill and pickup.
$order The order object being displayedwp_easycart_ecv2_order_details_packagesFires in the items and shipping card of the admin order details screen to print the order’s packages, labels and tracking.
$order Order row$fulfillment_state Fulfillment state (string): fulfilled, partial, pickup, unfulfilled, digital or nonewp_easycart_ecv2_order_details_payment_metaFires inside the coupon and gift card codes section of the payment drawer on the admin order details screen, so extensions can add payment meta fields.
wp_easycart_ecv2_order_details_payment_panelFires inside the payment method block of the admin order details screen so an extension can print its own payment panel in place of the default method line.
$order The order object being displayedwp_easycart_ecv2_order_details_print_menuFires at the end of the print menu on the admin order details screen so extensions can add print or document links.
$order Order rowwp_easycart_ecv2_order_details_timeline_preFires at the top of the Activity card body on the admin order details screen, before the order history list.
$order The order object being displayedwp_easycart_ecv2_order_duplicate_fieldsFires in the duplicate order slide-out in the admin, after the keep options section, so extensions can add fields.
wp_easycart_ecv2_order_duplicatedFires after an order is duplicated from the admin, once the new order is created and its status logged.
$new_order_id ID of the newly created order$order_id ID of the original order that was duplicated$_POST The submitted duplicate form datawp_easycart_ecv2_order_fulfillment_cell_endFires at the end of the fulfillment cell in the admin orders table. Kept for backward compatibility; newer code uses wp_easycart_ecv2_order_row_actions_start.
$result The order row being printed$gate Pro feature gate information for the order tablewp_easycart_ecv2_order_quick_edit_fieldsFires in the order quick edit slide-out in the admin, after the shipping section and before the notify section, so extensions can add fields.
wp_easycart_ecv2_order_quick_edit_savedFires after an order’s quick edit is saved in the admin, once any shipping confirmation email has been sent.
$order_id Order ID$status_id Order status ID$expedited Whether expedited shipping is set$method Shipping method$carrier Shipping carrier$tracking Tracking number$email_sent Whether a shipping email was sent (bool)wp_easycart_ecv2_order_row_actions_startFires at the start of each order’s row actions area in the admin orders list (table row and card view), left of the row menu, so extensions can add row tools.
$result The order row being printedecv2_get_order_pro_gate() Pro feature gate information for the order tablewp_easycart_invoice_issued PROFires after an invoice record is issued for an order.
$record The ec_invoice row (object)$order_id Order ID (int)$source What triggered the invoice (string): placed, paid, sent or manualwp_easycart_order_cancelledFires after an order is cancelled.
$order_id Order ID (int)$status_id The order’s status ID now (int)$previous The status ID before the change, 0 when unknown (int)wp_easycart_order_deliveredFires after every package on an order is delivered and the order moves to the Delivered status.
$order_id Order ID (int)wp_easycart_order_detail_insertedFires after an order line item (order detail row) is inserted, including subscription order lines.
$orderdetail_id ID of the new order detail row$cart_item The cart item or line object the row was created fromwp_easycart_order_details_order_bottom_informationFires at the end of the order information card on the admin order details screen, after the placed-from and terms details.
wp_easycart_order_details_order_dateFires in the header of the admin order details screen, right after the order date.
wp_easycart_order_details_order_informationFires in the customer section of the admin order details screen, before the contact edit form.
wp_easycart_order_details_refund_panelFires at the top of the items and refund card on the admin order details screen, before the line items.
wp_easycart_order_fulfillment_lines_addedFires when an order line is added to an order’s fulfillment tracking.
(int) $line->order_id Order IDarray( (int) $orderdetail_id ) IDs of the order lines added (array of ints)wp_easycart_order_lines_fulfillment_updatedFires after the fulfillment status of one or more order lines is updated.
(int) $order_id Order ID$ids Order detail (line) IDs that were updated (array of ints)$clean What changed: fulfillment_status and fulfillment_ref (array)wp_easycart_order_lines_refunded PROFires after a refund is processed for an order from the admin, listing the lines refunded.
$order_id Order ID$refunded_lines Array of orderdetail_id => quantity refunded now(float) $refund_amount Amount refunded now, lines, shipping, tax and fees togetherwp_easycart_order_marked_paidFires after an order is marked as paid, such as from the admin.
$order_id Order ID (int)$args Array with source, source_label, status, reference, amount, payment, date, receipt and balance (true for a payment toward the balance of an already paid order)wp_easycart_order_ready_to_fulfillFires once per order when it is paid and released to its fulfillment partners.
$order_id Order ID (int)wp_easycart_order_receipt_resentFires after a receipt email is resent for an order from the admin.
$order_id Order IDwp_easycart_order_transaction_recordedFires after a payment or refund transaction is written to an order’s ledger.
(int) $order_id Order ID(string) $type Transaction type: payment or refundround( (float) $row['amount'], 2 ) Amount (negative for an adjustment)$row Array with source, gateway, reference, reason and detailswp_easycart_packing_slip_line_itemFires for each line item on the printable packing slip, after the item’s option and gift card details and before its quantity and prices.
$ec_ps_line Order line item object.$document The packing slip document being built.wp_easycart_print_receipt_optionitemsFires for each line item on the printable receipt and the invoice PDF, after the item’s option and subscription details and before offer savings and prices.
$ec_pr_item Order line item object (named $ec_in_item in the invoice PDF).wpeasycart_account_order_details_right_topFires at the top of the right column of the account order details page.
$this->order->order_id Order id.$this->order Order object.wpeasycart_admin_order_billing_update PROFires when an admin updates an order’s billing address, before the change is saved.
$order_id Order id.$billing_first_name First name.$billing_last_name Last name.$billing_company_name Company.$billing_address_line_1 Address line 1.$billing_address_line_2 Address line 2.$billing_city City.$billing_state State.$billing_country Country.$billing_zip Postal code.$billing_phone Phone.wpeasycart_admin_order_customer_notes_updateFires when an admin updates an order’s customer notes, before the change is saved.
$order_id Order id.$order_customer_notes New customer notes text.wpeasycart_admin_order_shipping_update PROFires when an admin updates an order’s shipping address, before the change is saved.
$order_id Order id.$shipping_first_name First name.$shipping_last_name Last name.$shipping_company_name Company.$shipping_address_line_1 Address line 1.$shipping_address_line_2 Address line 2.$shipping_city City.$shipping_state State.$shipping_country Country.$shipping_zip Postal code.$shipping_phone Phone.wpeasycart_admin_order_{type}_updateFires when an admin updates an order’s address. {type} is the address type, billing or shipping.
$order_id Order id.$values['first_name'] First name.$values['last_name'] Last name.$values['company_name'] Company.$values['address_line_1'] Address line 1.$values['address_line_2'] Address line 2.$values['city'] City.$values['state'] State.$values['country'] Country.$values['zip'] Postal code.$values['phone'] Phone.wpeasycart_full_order_refund PROFires after an order is fully refunded, whether through the admin, the mobile app API or a Stripe refund webhook.
$order_id ID of the refunded orderwpeasycart_order_deleted PROFires after an order and its related rows are deleted in the admin, singly or in bulk.
$order_id ID of the deleted orderwpeasycart_order_deletingFires just before an order is deleted in the admin, singly or in bulk.
$order_id ID of the order about to be deletedwpeasycart_order_detail_line_added PROFires after an admin adds a line item to an existing order.
$order_id ID of the order$orderdetail_id ID of the new order line (ec_orderdetail row)wpeasycart_order_detail_line_delete PROFires just before an admin deletes a line item from an order.
$order_id ID of the order$orderdetail_id ID of the order line being deletedwpeasycart_order_detail_line_update PROFires just before an admin’s edits to an order line item are saved, with the new values.
$order_id ID of the order$orderdetail_id ID of the order line$title New line title$model_number New model number$quantity New quantity$unit_price New unit price$total_price New line total$giftcard_id Gift card ID on the line$gift_card_email Gift card recipient email$gift_card_from_name Gift card sender name$gift_card_to_name Gift card recipient name$gift_card_message Gift card message$optionitem_name_1 Name of option choice 1$optionitem_name_2 Name of option choice 2$optionitem_name_3 Name of option choice 3$optionitem_name_4 Name of option choice 4$optionitem_name_5 Name of option choice 5wpeasycart_order_insertedFires after a new order and its line items are saved during checkout, whether or not the payment is complete.
$order_id ID of the new order$cart The cart object the order was built from$order_totals The order totals object$user The customer object placing the order$payment_type Payment type used for the orderwpeasycart_order_paid PROFires when an order becomes paid, such as after a successful payment, a webhook confirmation or an admin status change to a paid status.
$order_id ID of the paid orderwpeasycart_order_restoredFires after each deleted order is restored (undone) in the admin.
$order_id ID of the restored orderwpeasycart_order_shipped PRO ShipStationFires after an order is set to the shipped status, from the admin or when a shipment is recorded.
$order_id ID of the shipped orderwpeasycart_order_status_addedFires after a custom order status is added in the admin.
$status_id ID of the new order statuswpeasycart_order_status_deletedFires after a custom order status is deleted (archived) in the admin.
$status_id ID of the deleted order statuswpeasycart_order_status_update PRO ShipStationFires after an order’s status changes, including from webhooks, refunds and shipments.
$order_id ID of the order$status The new order status ID$previous The previous order status ID, passed where it is knownwpeasycart_order_status_updatedFires after an order status definition (its name, color or paid flag) is edited in the admin.
$status_id ID of the edited order statuswpeasycart_order_success_preFires when a completed order is confirmed for the current shopper, with the order row and its details available.
$order_id order id (int)$order_row order database row (object)$order->orderdetails the order’s line item rowswpeasycart_order_updated PRO ShipStationFires after an order is changed in the admin, such as customer notes, status, or shipping and tracking details.
$order_id id of the order that changed (int)wpeasycart_partial_order_refund PROFires when an order is partially refunded, from the admin, a Stripe refund event, or a webhook.
$order_id order id$amount amount refunded in this action (0 when only the status changed)$new_total total amount refunded on the order after this refund (float)wpeasycart_print_receipt_order_notes_afterFires near the bottom of a printed receipt or invoice PDF, before the closing lines, so extra content can be added.
$order_id order idwpeasycart_tracking_info_update ShipStationFires just before an order’s shipping method, carrier and tracking number are saved in the admin.
$order_id order id$use_expedited_shipping 1 if expedited shipping is used (int)$shipping_method shipping method name$shipping_carrier carrier name$tracking_number tracking numberCustomers and accounts
Grouped by what they are about
73 actionswp_easycart_admin_subscriber_list_cell_{col}Fires when the admin subscriber list prints a cell for a custom column; {col} is the column’s format value, so a callback prints that column’s cell content.
$result The subscriber’s row (object).$col The column definition (array).wp_easycart_admin_user_card_kpisFires inside each customer card on the admin customer list, before the card footer, so PRO can print the orders, spend and lifecycle KPI strip.
$result The customer row (object).$this The admin user table instance.wp_easycart_admin_user_details_loadedFires after the admin customer details screen has loaded a customer and their default billing and shipping addresses.
$this The admin customer details object, holding the user, billing_info and shipping_info.wp_easycart_admin_user_details_v2_activityFires in the Activity panel of the admin customer details screen when PRO’s activity panel is available, so PRO can print the live activity.
$this The admin customer details object.wp_easycart_admin_user_details_v2_addresses_proFires at the end of the Addresses panel on the admin customer details screen, after the billing and shipping address sections.
$this The admin customer details object.wp_easycart_admin_user_details_v2_advanced_proFires in the Advanced panel of the admin customer details screen, after the Data Export section and before the Danger Zone.
$this The admin customer details object.wp_easycart_admin_user_details_v2_general_metaFires after the general readouts, such as Last Login, in the General panel of the admin customer details screen for an existing customer.
$user The customer being edited (object).wp_easycart_admin_user_details_v2_header_metaFires in the header line of the admin customer details screen, after the email, role and ID, for an existing customer.
$user The customer being edited (object).wp_easycart_admin_user_details_v2_menuFires in the header menu of the admin customer details screen, after the Export Customer CSV link, so extensions can add menu items.
$user The customer being edited (object).wp_easycart_admin_user_details_v2_notes_proFires at the top of the Notes panel on the admin customer details screen, before the Admin Notes section.
$this The admin customer details object.wp_easycart_admin_user_details_v2_prefs_proFires at the end of the Tax & Preferences panel on the admin customer details screen, after the VAT registration field.
$this The admin customer details object.wp_easycart_admin_user_details_v2_wordpress_accountFires in the WordPress account area of the General panel on the admin customer details screen, where the linked WordPress user is shown.
$user The customer (object).$wp_user The linked WordPress user (WP_User), or false when none is linked.wp_easycart_admin_user_list_views PROFires above the customer list table, on both the Accounts list and the PRO Guest Checkouts list, so PRO can print an Accounts / Guest Checkouts view switcher.
wp_easycart_admin_user_quick_edit_fieldsFires at the end of the fields in the customer quick edit slideout, after the Send Password Reset Email button.
wp_easycart_login_success_accountFires on the account dashboard page right after a shopper logs in, when the URL carries account_success=login_success.
wp_easycart_order_connectedFires after a customer claims a guest order into their store account.
$order_id Order ID (int)$user_id ID of the store account (ec_user) the order now belongs to (int)wp_easycart_privacy_erasedFires after a customer’s store data is erased through the WordPress personal data eraser, so extensions can remove copies held elsewhere.
$email Email address of the erased customer.wp_easycart_user_activity_loggedFires after a customer activity entry is logged.
$activity_id Id of the new activity row.$user_id Customer id.$type Activity type.$args Extra details about the activity.wp_easycart_user_importedFires after a customer is created or updated by the customer import.
$uid Customer id.'create' or 'update' Whether the customer was created or updated.wp_easycart_usersync_access_granted Enable WP UsersFires after a WordPress user is granted a role by User Sync.
(int) $wp_user->ID WordPress user id.$role Role granted.$source What granted it, such as order:N, sub:N or store_role:label.wp_easycart_usersync_access_revoked Enable WP UsersFires after a role is removed from a WordPress user by User Sync.
(int) $wp_user->ID WordPress user id.$role Role removed.$source What granted the role.wp_easycart_wordpress_user_email_copiedFires after a WordPress user’s email change is copied to the linked store account.
$store_user_id Store customer id.$email New email.$old_email Previous email.wp_easycart_wordpress_user_linkedFires after a WordPress user is linked to a store account.
$wp_user_id WordPress user id.$store_user_id Store customer id.$how How it was linked: made, email, confirmed, admin, login or wordpress.wp_easycart_wordpress_user_store_account_createdFires after a store account is created for a WordPress user.
$store_user_id New store customer id.$wp_user WordPress user object.wp_easycart_wordpress_user_unlinkedFires after a WordPress user is unlinked from a store account.
(int) $wp_user_id WordPress user id.$store_user_id Store customer id.wpeasycart_account_added PROFires after a customer account is created at checkout or subscription sign-up.
$user_id New customer id.sanitize_email( $_POST['ec_contact_email'] ) Customer email.$_POST['ec_contact_password'] Password the customer entered.'checkout' Where the account was created, such as checkout or subscription.wpeasycart_account_deleted PROFires after a customer account is deleted.
$id Customer id.wpeasycart_account_deletingFires just before a customer account is deleted.
$id Customer id.wpeasycart_account_linksFires in the account page navigation menu, before the built-in links.
wpeasycart_account_links_after_billingFires in the account page navigation menu, after the billing information link.
wpeasycart_account_links_after_passwordFires in the account page navigation menu, after the password link.
wpeasycart_account_links_after_personalFires in the account page navigation menu, after the personal information link.
wpeasycart_account_links_after_shippingFires in the account page navigation menu, after the shipping information link.
wpeasycart_account_links_after_subscriptionsFires in the account page navigation menu, after the subscriptions link.
wpeasycart_account_links_endFires in the account page navigation menu, after the sign out link, at the end of the menu.
wpeasycart_account_login_postFires after the account login page is displayed.
wpeasycart_account_note_added PROFires after an admin adds a note to a customer account.
$user_id Customer id.$note Note text.wpeasycart_account_page_preFires on the account page before it is displayed, when the customer is not forced to a login or password page.
wpeasycart_account_personal_information_fieldsFires in the account personal information form, above the buttons, so extensions can add fields.
$this Account page object (null in the Elementor widget).wpeasycart_account_pre_login_failed_redirectFires when a customer login fails, just before the shopper is redirected back with a login failed error.
$email Email entered.$password Password entered.wpeasycart_account_restoredFires after a deleted customer account is restored.
$user_id Restored customer id.wpeasycart_account_topFires at the top of the account page, after any error and success messages.
wpeasycart_account_updated PROFires after a customer account is updated in the admin, for example when it is edited or approved.
$user_id Customer id.wpeasycart_activation_email_resentFires after an admin resends the account activation email to a pending customer.
$user->email Customer email.wpeasycart_admin_login_as_userFires when an admin logs in as a customer, before the switch, for audit use.
(int) $user->user_id Customer id.get_current_user_id() Id of the admin acting.wpeasycart_admin_user_anonymized PROFires after an admin anonymizes a customer account, once the personal data has been cleared.
$user_id ID of the anonymized customer (ec_user.user_id)wpeasycart_admin_user_anonymizing PROFires just before an admin anonymizes a customer account, while the original email is still stored.
$user_id ID of the customer being anonymized (ec_user.user_id)(string) $user->email The customer’s email address before anonymizingwpeasycart_admin_user_merged PROFires after an admin merges one customer account into another, once orders, subscriptions and other records have moved.
$source_id ID of the customer account that was merged away$target_id ID of the customer account that received the recordswpeasycart_admin_user_updatedFires after a customer record is changed in the admin, by an inline edit in the customer table or a bulk edit.
$user_id ID of the updated customer (ec_user.user_id)$data (array) The changed fields, column name => new valuewpeasycart_change_password_topFires at the top of the change password form on the account page, so extra fields or notices can be added.
wpeasycart_custom_verify_new_password_failedFires when a new password is rejected by a custom validator (the wpeasycart_custom_verify_new_password filter) during a password reset or password change.
$new_password The rejected new password, unsanitizedwpeasycart_dashboard_recent_order_itemFires for each item in the recent orders list on the customer account dashboard, so extra content can be added after the item title.
$order_item The order item (order detail display) object being shownwpeasycart_dashboard_topFires at the top of the left column of the account dashboard, before the recent orders heading.
wpeasycart_insert_subscriberFires when an email address is about to be added to the newsletter subscriber list.
$email Subscriber email address$first_name Subscriber first name$last_name Subscriber last namewpeasycart_login_failedFires when a customer login attempt fails, on the account page or in the cart login.
$email Email address entered on the failed loginwpeasycart_login_success PROFires after a customer signs in successfully, including when an admin uses Login as Customer.
$email Email address of the signed in customerwpeasycart_logoutFires when a signed in customer logs out, from the account page or the cart.
$user_id (int) ID of the customer who is logging outwpeasycart_password_changedFires after a customer’s store password is changed, either through the password reset form or the account password update.
$user_id store customer id$password_hash the new hashed passwordwpeasycart_password_rehashedFires after a customer’s stored password hash is upgraded to a newer hash during a successful login.
$user_id store customer id$rehashed the new password hashwpeasycart_password_reset_completeFires after a customer completes the password reset form and the new password hash is saved.
$user->user_id store customer idwpeasycart_password_reset_forcedFires when the merchant forces a password reset on a store customer account.
(int) $store_user_id store customer idwpeasycart_password_reset_requestedFires after a password reset email is sent to a customer who requested one.
$user->user_id store customer idwpeasycart_password_setFires whenever a store customer’s password is set, so it can be carried to a linked WordPress user.
$store_user_id store customer id (int)$password the password as typed, slashed the way WordPress forms post it$context how it was set: change, reset, or adminwpeasycart_password_updatedFires after a signed-in customer changes their password on the My Account password page, once the current password was verified.
$user_id store customer idwpeasycart_pre_login_attemptFires just before a login attempt is checked against the store’s customer accounts, from My Account or checkout.
$email email address enteredwpeasycart_pre_login_password_displayFires just before the password field is displayed on the store login form.
wpeasycart_pre_password_displayFires just before the new password field is displayed on the account change password form.
wpeasycart_user_addedFires after a new customer is created by the admin customer import.
$uid id of the new customerwpeasycart_user_role_addedFires after a new customer role is created in the admin.
$id id of the new rolewpeasycart_user_role_deletedFires after a customer role is deleted in the admin.
$id id of the deleted rolewpeasycart_user_role_deletingFires just before a customer role is deleted in the admin.
$id id of the role about to be deletedwpeasycart_user_role_updatedFires after a customer role is saved or its admin access is toggled in the admin.
$id role idwpeasycart_user_updatedFires after a customer is updated by the admin import or when their role is changed.
$uid customer idSubscriptions
Grouped by what they are about
40 actionswp_easycart_admin_product_details_subscription_fieldsFires inside the Subscription section of the admin product edit screen so extensions can add recurring billing fields.
wp_easycart_admin_subscription_details_basic_fields PROFires in the Subscription Information section of the admin subscription details screen so PRO can print the basic fields.
wp_easycart_admin_subscription_details_customer_info_fields PROFires in the Customer Information section of the admin subscription details screen so PRO can print the customer fields.
wp_easycart_admin_subscription_details_paypal_info_fields PROFires in the PayPal information section of the admin subscription details screen so PRO can print PayPal-specific subscription fields.
wp_easycart_admin_subscription_details_product_info_fields PROFires in the Product Information section of the admin subscription details screen so PRO can print the product fields.
wp_easycart_admin_subscription_details_stripe_info_fields PROFires in the Stripe Information section of the admin subscription details screen so PRO can print Stripe-specific subscription fields.
wp_easycart_admin_subscription_details_subscription_terms_fields PROFires in the Subscription Terms & Dates section of the admin subscription details screen so PRO can print the terms and date fields.
wp_easycart_admin_subscription_plans_detailsFires when the subscription plans admin page is showing the add-new or edit plan form, so PRO can print the plan details screen.
wp_easycart_admin_subscription_plans_details_basic_fields PROFires in the Subscription Plan Setup section of the subscription plan edit form so PRO can print the basic plan fields.
wp_easycart_admin_subscription_plans_listFires when the subscription plans admin page shows the plan list rather than the add-new or edit form.
wp_easycart_admin_subscriptions_detailsFires when the subscriptions admin page is showing the add-new or edit subscription form, so PRO can print the subscription details screen.
wp_easycart_admin_subscriptions_listFires when the subscriptions admin page shows the subscription list rather than the details form.
wp_easycart_cart_subscription_after_grand_totalFires in the subscription checkout totals right after the grand total row, before the sign-up fee notice.
$product The subscription product being purchased (object).wp_easycart_product_details_subscription_button_onclickFires inside the onclick attribute of a subscription sign-up button, so callbacks can echo JavaScript that runs before the button’s own handler.
$product The subscription product.wp_easycart_product_subscription_buttonFires inside the opening tag of the sign-up link for a subscription product in product listings, so callbacks can echo extra HTML attributes.
$product The subscription product.wp_easycart_product_subscription_qv_buttonFires inside the opening tag of the subscription link in the product quick view, so callbacks can echo extra HTML attributes.
$product The subscription product.wp_easycart_stripe_subscription_onchangeFires inside the Stripe card field’s change handler on the subscription checkout page, so callbacks can echo JavaScript.
$product The subscription product.wp_easycart_subscription_admin_action PROFires after an admin changes a subscription from the subscriptions list, such as changing its plan or canceling it.
$subscription_id Subscription id.$action Action taken: change_plan, cancel_period_end or cancel_now.$details Extra details, such as the old and new plan or the refund flag (array).wp_easycart_subscription_endedFires when Stripe reports a subscription has ended and the store has canceled it and sent the ended email.
$subscription Subscription object.$user Store customer.$webhook_data Stripe webhook data.wp_easycart_subscription_modifier_post_db_insertFires after an advanced option chosen for a subscription order is saved to the database.
$order_option_id Id of the saved order option row.$advanced_option The advanced option that was saved.wp_easycart_subscription_reactivatedFires when a Stripe payment webhook brings a failed or canceled subscription back to Active.
$subscription Subscription object.$webhook_data Stripe webhook data.wp_easycart_subscription_refunded PROFires after a Stripe refund is issued while canceling a subscription from the admin.
$id Subscription id.$charge Stripe charge id.$amt Amount refunded.wp_easycart_subscription_startedFires after a new subscription is created at checkout.
$subscription_id Id of the new subscription.wp_easycart_subscription_status_syncedFires after a Stripe webhook updates a subscription’s status in the store.
$subscription_row The subscription row before the change.$status_map[ $webhook_data->status ] The new WP EasyCart status.$webhook_data Stripe webhook data.wp_easycart_subscription_topFires at the top of the subscription checkout page, before the subscription form.
$product The subscription product.wp_easycart_subscription_upcoming_paymentFires after Stripe warns of an upcoming subscription payment and the store sends the upcoming payment email.
$subscription Subscription object.$user Store customer.$webhook_data Stripe webhook data.wpeasycart_account_subscription_details_afterFires at the end of the account subscription details page.
$ec_sub Subscription object.wpeasycart_account_subscription_details_beforeFires on the account subscription details page, before the subscription information.
$ec_sub Subscription object.wpeasycart_cart_subscription_updatedFires when the subscription page or its AJAX totals are built, after the product’s weight and quantity are set for shipping and before shipping is calculated.
$product The subscription product object$subscription_quantity Quantity of the subscriptionwpeasycart_custom_subscription_order_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the subscription trial start or trial ending email.
$from From email address (order from email option)$to Subscriber email address$bcc BCC email addresses option$subject Email subject$message Email bodywpeasycart_subscription_canceled PROFires after a subscription is canceled by the merchant in the admin.
$subscription->subscription_id subscription idwpeasycart_subscription_cancelledFires when a customer cancels their own subscription from My Account.
$this->user->user_id store customer id$subscription_id subscription idwpeasycart_subscription_deleting PROFires just before a subscription is deleted in the admin, singly or in bulk.
$subscription_id id of the subscription about to be deletedwpeasycart_subscription_first_order_insertedFires after the first order for a new subscription is created at checkout.
$order_id id of the new orderwpeasycart_subscription_paidFires when a Stripe webhook reports a paid subscription renewal and the order is recorded.
$order_id order id for the paid renewalwpeasycart_subscription_plan_added PROFires after a new subscription plan is created in the admin.
$subscription_plan_id id of the new planwpeasycart_subscription_plan_deleted PROFires after a subscription plan is deleted in the admin.
$subscription_plan_id id of the deleted planwpeasycart_subscription_plan_deleting PROFires just before a subscription plan is deleted in the admin.
$subscription_plan_id id of the plan about to be deletedwpeasycart_subscription_plan_updated PROFires after a subscription plan is saved in the admin.
$subscription_plan_id plan idwpeasycart_subscription_updated PROFires after a subscription is changed in the admin, such as a product swap, a Stripe sync or a scheduled cancel.
$subscription_id subscription idShipping
Grouped by what they are about
28 actionswp_easycart_cart_shipping_post_methodsFires on the checkout shipping method page right after the list of shipping methods.
wp_easycart_display_shipping_method_postFires after the checkout shipping method step has been displayed.
wp_easycart_display_shipping_method_preFires before the checkout shipping method step is displayed.
wp_easycart_live_rate_pre_ratesFires when live-rate shipping options are being built, before the rates are listed.
wp_easycart_method_rate_pre_ratesFires when method-based shipping options are being built, before the rates are listed.
wp_easycart_order_packages_savedFires after an order’s packages are saved.
$order_id Order IDwp_easycart_order_shipment_addedFires after a shipment (package) with its tracking is recorded for an order, before the shipping email is sent.
$order_id Order ID (int)$shipment_id Package ID (0 before the database update) (int)$args What was recorded (array)wp_easycart_order_shipment_trackingFires when a package’s tracking status is updated.
(int) $row->order_id Order ID(int) $shipment_id Package ID$status Tracking status (string), such as delivered(string) $detail The carrier’s status textwp_easycart_order_shipment_voidedFires after a package’s shipment is voided.
(int) $row->order_id Order ID(int) $shipment_id Package ID$row The package row as it was before it was voided (object)wp_easycart_order_shipping_groups_recordedFires after an order’s shipping groups (one per shipping provider) are recorded.
$order_id Order ID (int)$entries One entry per provider (array)wp_easycart_shipping_email_after_trackingFires in the shipping confirmation email after the tracking information block.
$ec_ship_order Order being shipped.wp_easycart_shipping_print_custom_shipping_optionsFires in place of the built-in shipping options when the wp_easycart_shipping_should_print_custom_options filter returns true, so a callback can print its own options.
wp_easycart_shippo_label_bought ShippoFires after a shipping label is bought through Shippo.
$order_id Order id.(int) $shipment_id Package id.$transaction Shippo transaction data (array).wp_easycart_shippo_order_sent ShippoFires after an order is sent to Shippo successfully.
$order_id Order id.$shippo_id Shippo’s id for the order.$result['body'] Response body from Shippo.wp_easycart_shipstation_order_touched ShipStationFires when an order changes in a way ShipStation should see.
$order_id Order id.wp_easycart_shipstation_stock_updated ShipStationFires after a product or option combination’s stock is updated from a ShipStation inventory sync.
(int) $row->product_id Product id.(int) $stock[ $sku ] New stock quantity (int).wp_easycart_stamps_label_bought Stamps.comFires after a shipping label is bought through Stamps.com.
$order_id Order id.(int) $shipment_id Package id.$label Stamps.com response data (array).wpeasycart_shipping_rate_added PROFires after a shipping rate is added in the admin, including live carrier rates.
$id id of the new shipping ratewpeasycart_shipping_rate_deleting PROFires just before a shipping rate is deleted in the admin.
$id id of the shipping rate about to be deletedwpeasycart_shippingrate_deletedFires for each shipping rate after all live carrier rates are cleared for a carrier from the store status screen.
(int) $id id of the deleted shipping ratewpeasycart_shippingrate_deletingFires for each shipping rate just before all live carrier rates are cleared for a carrier from the store status screen.
(int) $id id of the shipping rate about to be deletedwpeasycart_zone_addedFires after a new shipping zone is created in the admin.
$zone_id id of the new zonewpeasycart_zone_deletedFires after a shipping zone is deleted in the admin.
$zone_id id of the deleted zonewpeasycart_zone_deletingFires just before a shipping zone is deleted in the admin.
$zone_id id of the zone about to be deletedwpeasycart_zone_location_addedFires after a place (country or state) is added to a shipping zone in the admin shipping settings.
$item_id (int) ID of the new zone-to-location row.wpeasycart_zone_location_deletedFires after a zone-to-location row is deleted, either individually or as part of deleting a whole zone.
$item_id (int) ID of the deleted zone-to-location row.wpeasycart_zone_location_deletingFires just before a zone-to-location row is deleted, either individually or as part of deleting a whole zone.
$item_id (int) ID of the zone-to-location row about to be deleted.wpeasycart_zone_updatedFires after a shipping zone is renamed in the admin shipping settings.
$zone_id (int) ID of the renamed zone.Taxes and fees
Grouped by what they are about
21 actionswp_easycart_admin_fee_detailsFires on the admin fees page when adding or editing a fee, to render the fee details screen.
wp_easycart_admin_fee_details_basic_fields PROFires inside the Flex-Fee Setup section of the fee details form in admin so fields can be added.
wp_easycart_admin_fee_listFires on the admin fees page, when not adding or editing, to render the fee list.
wp_easycart_admin_product_details_tax_fieldsFires inside the Tax section of the admin product edit screen so extensions can add tax-related fields.
wpeasycart_cart_subscription_pre_taxFires while totals are calculated for a subscription product, just before tax services set up the subscription for tax.
$product The subscription product object$subscription_quantity Quantity of the subscription$shipping_total Shipping total for the subscription$handling_total Handling total for the subscription$discount_amount Discount amount applied to the subscriptionwpeasycart_country_addedFires after a country is added in the admin.
$id_cnt ID of the new country (ec_country.id_cnt)wpeasycart_country_deletedFires after a country is deleted in the admin, singly or in bulk.
$id_cnt ID of the deleted countrywpeasycart_country_deletingFires just before a country is deleted in the admin, singly or in bulk.
$id_cnt ID of the country about to be deletedwpeasycart_country_updatedFires after a country is updated in the admin, including bulk enabling for shipping.
$id_cnt ID of the updated countrywpeasycart_fee_added PROFires after a flex fee is created in the admin.
$fee_id ID of the new fee (ec_fee.fee_id)wpeasycart_fee_deleted PROFires after a flex fee is deleted in the admin, singly or in bulk.
$fee_id ID of the deleted feewpeasycart_fee_deleting PROFires just before a flex fee is deleted in the admin, singly or in bulk.
$fee_id ID of the fee about to be deletedwpeasycart_fee_updated PROFires after an existing flex fee is updated in the admin.
$fee_id ID of the updated feewpeasycart_state_addedFires after a state or region is added to a country in the admin.
$id id of the new state or regionwpeasycart_state_deletedFires after a state or region is deleted in the admin, singly or in bulk.
$id_sta id of the deleted state or regionwpeasycart_state_deletingFires just before a state or region is deleted in the admin, singly or in bulk.
(int) $s->id_sta id of the state or region about to be deletedwpeasycart_state_updatedFires after a state or region is saved or its ship-to setting is toggled in the admin.
$id state or region idwpeasycart_taxrate_addedFires after a tax rate is added in the admin.
$id id of the new tax ratewpeasycart_taxrate_deletedFires after a tax rate is deleted in the admin.
$id id of the deleted tax ratewpeasycart_taxrate_deletingFires just before a tax rate is deleted in the admin.
$id id of the tax rate about to be deletedwpeasycart_taxrate_updatedFires after a tax rate is changed in the admin.
$id tax rate idPayments
Grouped by what they are about
23 actionswp_easycart_admin_order_details_paymentsFires on the admin order details screen in the payments area, letting extensions print payment details.
$this->order Order row$wpec_pay_sum Payment summary from wp_easycart_order_payments::summary() (array)wp_easycart_cart_payment_payment_methods_endFires on the checkout payment page after the payment method boxes have been printed, for orders that need payment.
$this The cart page object (the $cartpage object in the v2 template).wp_easycart_display_payment_postFires after the checkout payment step, including the PayPal Express payment step, has been displayed.
wp_easycart_display_payment_preFires before the checkout payment step, including the PayPal Express payment step, is displayed.
wp_easycart_display_stripe_payment_preFires on the checkout payment page just before the Stripe card field is printed, when Stripe or Stripe Connect is the payment processor.
wp_easycart_invoice_paidFires after an order is marked paid: from a Stripe invoice payment on the cart page, or from the order’s pay link.
$invoice_id / $order_id The ID of the order that was paidwp_easycart_order_pay_completeFires after an order is paid from its pay link, including payments toward the balance of an already paid order.
$order_id Order ID (int)$payment Payment details such as gateway, status, method and transaction; amount and balance (true) are added when it paid the balance of an already paid order (array)wp_easycart_order_payment_recordedFires after a payment is recorded against an order.
(int) $order_id Order IDround( (float) $amount, 2 ) Amount paid (float)(array) $args source (approved, pay_link, admin or an extension’s own), source_label, gateway, reference and balance (true for a payment toward the balance of an already paid order)wp_easycart_payment_gateway_modeFires after a payment gateway is switched between test and live mode on the Payments admin screen.
$key Gateway key.(bool) $test True when the gateway is now in test mode, false when live.$gw Gateway definition array (label, settings keys and role).wp_easycart_payment_gateway_savedFires after a payment gateway’s settings are saved by the Payments admin screen’s AJAX save.
$key Gateway key.$values Submitted setting values.$gw Gateway definition array (label, settings keys and role).wp_easycart_payment_gateway_toggledFires after a payment gateway is switched on or off on the Payments admin screen.
$key Gateway key.(bool) $on True when the gateway is now enabled.$gw Gateway definition array (label, settings keys and role).wp_easycart_paypal_standard_updatedFires after the PayPal Standard or PayPal Express settings are saved in the admin.
wp_easycart_stripe_payment_method_completeFires after a Stripe payment method update is completed at checkout, in the AJAX request that confirms it.
$cartpage->cart The cart object.$cartpage->order_totals The order totals object.wpeasycart_live_gateway_updated PROFires after a live payment gateway connection is saved, such as connecting Stripe or Square through the admin.
$payment_process_method (string) The store’s current payment process method option, such as stripe_connect or squarewpeasycart_manual_billing_updatedFires after the manual (bill later or direct deposit) payment settings are saved.
$use_direct_deposit (int) Value of the direct deposit option, 1 when manual billing is onwpeasycart_order_completeFires after a Stripe or free quick payment creates an order whose status is not paid yet, instead of the order paid action.
$order_id ID of the new order$order_status Status ID the order was created withwpeasycart_order_pay_before_buttonFires on the order pay link page before the payment methods are shown.
$order The order being paidwpeasycart_payment_failedFires when a payment fails, just before the pending order is removed.
$this->order->order_id order id about to be removed (the order_id property)(string) $this->process_result the gateway’s answer or failure code, such as paypal_capture_failed$order_gateway payment gateway name$this the order object (ec_order)wpeasycart_payment_processed_successfullyFires after a card payment is accepted by the gateway, either approved or held for review, and the order status is set.
$this->payment the payment gateway object$this->user the customer user objectwpeasycart_stripe_webhookFires after a Stripe webhook event has been handled, with the event details.
$webhook_id Stripe event id$webhook_type Stripe event type$webhook_data the event data objectwpeasycart_stripe_webhook_order_refundedFires after a Stripe refund has been recorded on an order, from a charge refunded event.
$order_id order idwpeasycart_third_party_checkout_boxFires in the third-party checkout button area of the cart, after the built-in options like Affirm, so extensions can add a button.
wpeasycart_third_party_payment_updated PROFires after the selected third-party payment method is changed in the admin.
$third_party key of the selected third-party gateway (0 if none)Email and notifications
Grouped by what they are about
31 actionswp_easycart_document_branding_savedFires after branding settings for a document type and profile (such as receipts or invoices) are saved.
$type The document type (string).$id The profile ID (string).$clean The sanitized branding values that were saved (array).wp_easycart_document_email_linksFires in the receipt and shipping emails where links to download the order’s documents can be printed.
'receipt' The email type, receipt or shipping (string).(int) $this->order_id ID of the order (int).$is_admin ? 'admin' : 'customer' Who receives the email: admin or customer (string).wp_easycart_document_profile_deletedFires after a document profile (such as a receipt or invoice layout profile) is deleted.
$type The document type (string).$id The ID of the deleted profile (string).wp_easycart_document_profile_savedFires after a document profile (such as a receipt or invoice layout profile) is saved.
$type The document type (string).$id The profile ID (string).$values The profile values that were saved (array).wp_easycart_email_loggedFires after an email attempt is recorded in the email log.
$id ID of the new email log row (int)$status Send status, such as sent or failed$transport Transport used to send the email$type Email type$order_id Related order IDwp_easycart_email_receipt_optionitemsFires inside each item of the order receipt and invoice emails, after the item’s details, so extensions can add detail rows for the item.
$ec_invoice_item The order line item object (the receipt template passes $ec_receipt_item)wp_easycart_email_receipt_pre_itemsFires in the receipt and refund emails before the items list, so extensions can print whole table rows into the email.
$this->order_id Order ID$is_admin Whether the email is the admin copywp_easycart_email_receipt_topFires at the top of the receipt and invoice emails, so extensions can print whole table rows into the email.
$this->order_id Order ID$is_admin Whether the email is the admin copywp_easycart_gift_receipt_afterFires at the end of the gift receipt document, before the closing footer.
$document The gift receipt document objectwp_easycart_gift_receipt_line_itemFires inside each line item of the gift receipt document, after the item’s options.
$ec_gr_line The order line item$document The gift receipt document objectwp_easycart_invoice_email_afterFires at the end of the invoice email document, before the closing footer.
$document The invoice email document objectwp_easycart_invoice_email_line_itemFires inside each line item of the invoice email, after the item’s options.
$ec_ie_line The order line item$document The invoice email document objectwp_easycart_invoice_pdf_afterFires at the end of the invoice PDF document, before the closing footer.
$document The invoice PDF document objectwp_easycart_order_email_receipt_after_success_linesFires in the receipt and refund emails right after the opening success lines, so extensions can add content.
$this The order display object building the emailwp_easycart_packing_slip_afterFires at the end of the packing slip document, before the closing footer.
$document The packing slip document objectwp_easycart_subscriber_changedFires when a newsletter subscriber is subscribed, unsubscribed or updated, at most once per address and state in a request.
string $email Subscriber email address.string $state One of subscribed, unsubscribed or updated.array $context Extra details about where the change came from.wpeasycart_custom_admin_inquiry_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the admin’s product inquiry email.
$from From email address (order from email option)$inquiry_email Email address of the shopper who sent the inquiry$store_email Store email address to notify$admin_subject Subject of the admin email$admin_message Body of the admin emailwpeasycart_custom_forgot_password_email API pluginFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the forgot password email.
$from From email address (password from email option)$email Recipient customer email$cc Empty string, unused$subject Email subject$message Email bodywpeasycart_custom_inquiry_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the shopper’s copy of a product inquiry.
$from From email address (order from email option)$inquiry_email Email address of the shopper who sent the inquiry$store_email Store email address$subject Email subject$message Email bodywpeasycart_custom_order_claim_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the order claim (Connect order link) email.
$from From email address (password from email option)$order_email Recipient email address$cc Empty string, unused$title Email subject$message Email bodywpeasycart_custom_order_email PROFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the customer’s order shipped email; fires once per recipient address.
$from From email address (order from email option)$to Recipient customer email$admin_email Store admin email address$subject Email subject$message Email body$customer_files (array) Attachments for the customerwpeasycart_custom_refund_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the refund email; fires once per recipient address.
$from From email address (order from email option)$to Recipient customer email$admin_email Store admin email address$customer_title Email subject$message Email bodywpeasycart_custom_register_verification_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the account verification email.
$from From email address (password from email option)$email Recipient email address$cc Empty string, unused$subject Email subject$message Email bodywpeasycart_custom_store_emailFires when the email transport is set to custom, so a listener can deliver any store email itself.
$from From email address$to Recipient email address$cc Empty string, unused$subject Email subject$message Email body$attachments (array) File attachmentswpeasycart_email_receipt_line_itemFires for each line item in the receipt or invoice email, where extra detail rows (table rows) can be added under the item.
$model_number Model number of the order item$orderdetail_id ID of the order detail row (order line)wpeasycart_email_receipt_order_notes_afterFires in the receipt and refund emails after the order notes, before the closing lines of the message.
$order_id ID of the orderwpeasycart_remove_subscriberFires just before an email address is removed from the newsletter subscriber list, from the admin or the store.
$email subscriber email addresswpeasycart_subscriber_addedFires after a visitor is added to the newsletter subscriber list from a signup form or popup.
sanitize_email( $_POST['ec_newsletter_email'] ) the subscriber email address$newsletter_name name of the newsletter signed up forwpeasycart_subscriber_deletedFires after a subscriber is deleted from the subscribers admin table.
$email subscriber email address(int) $r['subscriber_id'] subscriber idwpeasycart_subscriber_deletingFires just before a subscriber is deleted from the subscribers admin table.
(int) $r['subscriber_id'] subscriber idwpeasycart_subscriber_updatedFires after a subscriber’s email or name is edited inline in the admin.
$id subscriber idOffers and coupons
Grouped by what they are about
39 actionswp_easycart_admin_coupon_detailsFires on the admin coupons page when adding or editing a coupon, to render the coupon details screen.
wp_easycart_admin_coupon_details_stepfour_fields PROFires inside the Step Four section of the admin coupon details form so fields can be added.
wp_easycart_admin_coupon_details_stepone_fields PROFires inside the Step One section of the admin coupon details form so fields can be added.
wp_easycart_admin_coupon_details_stepthree_fields PROFires inside the Step Three section of the admin coupon details form so fields can be added.
wp_easycart_admin_coupon_details_steptwo_fields PROFires inside the Step Two section of the admin coupon details form so fields can be added.
wp_easycart_admin_coupon_listFires on the admin coupons page, when not adding or editing a coupon, to render the coupon list.
wp_easycart_admin_offers_hubFires when the admin Offers hub page loads, so the hub can be rendered.
wp_easycart_admin_product_details_v2_offers_endFires at the end of the Offers panel on the admin product edit screen, after the offers list.
$product The product being edited (object).wp_easycart_admin_product_details_v2_offers_proFires when the admin product Offers panel renders and the PRO offers panel is enabled, so PRO can print the live offers list.
$this->product The product being edited (object).wp_easycart_admin_promotion_detailsFires when the promotions admin page is showing the add-new or edit promotion form, so PRO can print the promotion details screen.
wp_easycart_admin_promotion_details_stepfour_fields PROFires in step four of the promotion edit form, where the discount amount is set, so PRO can print those fields.
wp_easycart_admin_promotion_details_stepone_fields PROFires in step one of the promotion edit form, where the name and start and end dates are set, so PRO can print those fields.
wp_easycart_admin_promotion_details_stepthree_fields PROFires in step three of the promotion edit form, where the products or price threshold are chosen, so PRO can print those fields.
wp_easycart_admin_promotion_details_steptwo_fields PROFires in step two of the promotion edit form, where the promotion type is chosen, so PRO can print those fields.
wp_easycart_admin_promotion_listFires when the promotions admin page shows the promotions list rather than the add-new or edit form.
wp_easycart_coupon_created PROFires after a coupon is created in the admin, whether or not it was a duplicate.
$promocode_id ID of the coupon (promo code).wp_easycart_coupon_deleted PROFires after a coupon has been deleted from the admin and from Stripe when Stripe is the processor.
$promocode_id ID of the deleted coupon (promo code).wp_easycart_coupon_deleting PROFires just before a coupon is deleted from the database in the admin.
$promocode_id ID of the coupon (promo code) about to be deleted.wp_easycart_coupon_updated PROFires after a coupon has been updated in the admin and synced to Stripe when Stripe is the processor.
$promocode_id ID of the updated coupon (promo code).wp_easycart_offer_code_applied PROFires after an offer code is applied to a shopper’s cart session.
$offer The offer object$code The code that was applied$session_id The cart session IDwp_easycart_offer_code_deleted PROFires after an offer code is deleted.
(int) $offer_code_id The deleted offer code ID(int) $offer_id The offer it belonged to(string) $code The code textwp_easycart_offer_code_removed PROFires after an offer code is removed from a shopper’s cart session.
$code The removed code (sanitized)$session_id The cart session IDwp_easycart_offer_codes_changed PROFires when an offer’s list of codes changes, once per offer per request.
(int) $offer_id The offer whose codes changedwp_easycart_offer_codes_deactivated PROFires after an offer’s codes are deactivated.
$offer_id Offer ID$result What deactivate() returned (array)wp_easycart_offer_codes_imported PROFires after codes are imported into an offer, or generated for it.
$offer_id Offer ID$result What import() returned (array); for generated codes it holds added and generated$args The import’s arguments (array), including its sourcewp_easycart_offer_codes_moved PROFires after codes are moved from one offer to another.
$from_offer_id Offer the codes came from$to_offer_id Offer the codes went to$moved How many codes were moved (int)$which Which codes were moved (string): available or allwp_easycart_offer_deleted PROFires after an offer is deleted. Offers with redemptions are archived instead and fire wp_easycart_offer_saved.
(int) $offer_id The deleted offer IDwp_easycart_offer_order_placed PROFires after an order is placed and its offer results are processed.
$order_id Order ID$result The offer engine result for the order (object), including any pending rewardswp_easycart_offer_redemptions_recorded PROFires after offer redemptions for an order are recorded and the cart’s applied codes are cleared.
$order_id Order ID$result The offer engine result for the orderwp_easycart_offer_redemptions_reversed PROFires after an order’s offer redemptions are reversed, when the order is canceled or fully refunded.
$order_id Order IDwp_easycart_offer_reward_code PROFires after a next-order reward code is created for a customer as an offer reward.
$order The order object$code The new reward code(int) $reward['next_order_offer_id'] ID of the offer the code belongs towp_easycart_offer_reward_giftcard PROFires after a gift card is created as an offer reward for an order.
$order The order object$giftcard_id The new gift card code(float) $reward['value'] The gift card amountwp_easycart_offer_saved PROFires after an offer is saved (including being archived), once per offer per request.
(int) $offer_id The offer IDwp_easycart_offer_subscription_redeemed PROFires after an offer code is redeemed on a subscription order.
(int) $order->order_id Order ID(int) $offer->offer_id Offer ID(int) $code_row->offer_code_id Offer code ID(string) $code_row->code The code textwp_easycart_offers_loaded PROFires once the Pro offers system has finished loading its classes and registering hooks.
wpeasycart_promotion_added PROFires after a new promotion is saved in the admin.
$promotion_id id of the new promotionwpeasycart_promotion_deleted PROFires after a promotion is deleted in the admin, singly or in bulk.
$promotion_id id of the deleted promotionwpeasycart_promotion_deleting PROFires just before a promotion is deleted in the admin, singly or in bulk.
$promotion_id id of the promotion about to be deletedwpeasycart_promotion_updated PROFires after an existing promotion is updated in the admin.
$promotion_id promotion idReviews
Grouped by what they are about
11 actionswp_easycart_admin_product_details_v2_reviews_endFires at the end of the Reviews panel on the admin product edit screen, after the reviews list.
$product The product being edited (object).wpeasycart_custom_review_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send a review request email.
$from From email address$to Recipient email address$subject Email subject$message Email bodywpeasycart_review_addedFires after a shopper’s new product review is saved, before the store notification email is sent.
$review_id id of the new reviewwpeasycart_review_approvedFires after a review is approved in the admin, singly or in bulk.
$review_id review idwpeasycart_review_deletingFires just before a review is deleted in the admin, singly or in bulk.
$review_id id of the review about to be deletedwpeasycart_review_processedFires after a new review has been processed by the reviews engine (verified purchase, moderation rules) and its updated fields are saved.
$review_id review id$update array of review columns that were updatedwpeasycart_review_repliedFires after the merchant’s reply to a review is saved or cleared.
(int) $review_id review id$text the sanitized reply text (empty when the reply was removed)wpeasycart_review_status_updatedFires after a review’s approved status is changed from the admin product screen.
$review_id review id$approved 1 if approved, 0 if not (int)wpeasycart_review_submittedFires once for each new customer review saved, before wpeasycart_review_added, so the reviews engine can claim request links and apply moderation.
$review_id id of the new reviewwpeasycart_review_unapprovedFires after a review is unapproved in the admin, singly or in bulk.
$review_id review idwpeasycart_review_updatedFires after a review is changed in the admin review screen, either an approve toggle or a saved edit.
(int) $id review idReports and analytics
Grouped by what they are about
7 actionswp_easycart_admin_reports_order_sourcesFires when the reports page is ready to print the Sales by source card, so PRO can print it.
wp_easycart_dashboard_reports_links_endFires at the end of the report download list in the dashboard export modal, so extra report download rows can be added.
wp_easycart_dashboard_reports_links_startFires at the start of the report download list in the dashboard export modal, so extra report download rows can be added.
wp_easycart_order_source_savedFires after an order’s source attribution (where the order came from) is saved.
$order_id Order ID$row The source values saved on the order (array)wp_easycart_reports_filters_postFires at the end of the filter bar on the Reports dashboard, after the built-in filters.
wp_easycart_reports_filters_preFires at the start of the filter bar on the Reports dashboard, before the built-in filters.
wp_easycart_store_activity_daily_doneFires after the daily store activity housekeeping finishes.
Admin screens and settings
Grouped by what they are about
54 actionswp_easycart_admin_abandon_cart_loadFires when the admin Abandoned Carts page loads, so the page content can be rendered.
wp_easycart_admin_dashboard_postFires at the end of the admin dashboard page, after the reports content and before its scripts.
wp_easycart_admin_dashboard_pre_chartFires at the top of the admin dashboard page, before the reports chart is set up.
wp_easycart_admin_ecv2_render_modalsFires after an admin V2 list table prints its built-in modals, and before the toast container.
$this->table_id Id of the table being printedwp_easycart_admin_head_navigationFires inside the Help dropdown in the admin top bar so extra links can be added.
wp_easycart_admin_inventory_cell_{col}Fires to print a custom column cell in the admin inventory table; {col} is the column name. Only fires when a callback is attached.
$result Inventory row for the product or variant$this->pro_enabled Whether PRO is enabled (bool)wp_easycart_admin_inventory_qty_popFires inside the quantity adjustment popover in the admin inventory table so extra fields, such as a reason, can be added.
$result Inventory row$this->pro_gate PRO gate details for the feature (array)wp_easycart_admin_inventory_row_menuFires inside the row action menu of the admin inventory table, only when PRO is enabled, so menu items can be added.
$result Inventory rowwp_easycart_admin_inventory_toolbarFires in the admin inventory page toolbar so PRO buttons such as Import, Activity and Alerts can be added.
$this->pro_gate PRO gate details (array)wp_easycart_admin_left_navigationFires inside the admin sidebar navigation so menu items can be added.
wp_easycart_admin_location_detailsFires on the admin locations page when adding or editing a location, to render the location details screen.
wp_easycart_admin_location_listFires on the admin locations page, when not adding or editing, to render the location list after the tabs.
wp_easycart_admin_messagesFires at the top of the admin content area so notices and messages can be printed.
wp_easycart_admin_mobile_navigationFires after the admin shell content, so the mobile navigation can be printed.
wp_easycart_admin_readiness_acknowledgedFires after a store readiness checklist item is marked as acknowledged, or the acknowledgement is taken back, on the store status screen.
$key The readiness item key that was acknowledged.$on ? 1 : 0 1 when the item was acknowledged, 0 when the acknowledgement was removed.wp_easycart_admin_shell_contentFires inside the main content area of the WP EasyCart admin shell, after admin messages, so the current admin page can print its content.
wp_easycart_admin_upsell_popupFires at the top of the WP EasyCart admin shell, before the license renewal popup, so the upsell popup markup can be printed.
wp_easycart_admin_wizard_contentFires inside the main card of the setup wizard shell so the current wizard step can print its content.
wp_easycart_admin_wizard_navigationFires in the setup wizard shell after the header bar and before the wizard content grid, so the step navigation can be printed.
wp_easycart_ecv2_cart_link_drawer_fieldsFires inside the cart link builder drawer in the admin, between the product items section and the ‘When the link is opened’ section, so extensions can add fields.
wp_easycart_ecv2_cart_link_drawer_items_endFires at the end of the Product section of the cart link builder drawer, right after the product items list.
wp_easycart_ecv2_cart_link_enqueueFires at the end of enqueueing the admin scripts and styles for the cart links page, so extensions can enqueue their own assets.
wp_easycart_ecv2_cart_link_page_endFires at the end of the cart links admin page, after the links table and pagination and before the builder drawer markup.
wp_easycart_ecv2_cart_link_row_contentsFires inside the product summary cell of each row of the cart links table, after the product names are printed.
$link Cart link row object (cart_link_id, url, summary, item_count, destination, use_count and so on)wp_easycart_ecv2_cart_link_row_menuFires inside each cart link row’s actions menu, after the Edit and Copy link items, so extensions can add menu items.
$link Cart link row objectwp_easycart_ecv2_cart_link_row_usesFires inside the ‘uses’ cell of each cart link row, right after the use count is printed.
$link Cart link row objectwp_easycart_ecv2_cart_link_saved_bannerFires in the banner shown after a cart link is created or updated, after the Copy link button, so extensions can add banner buttons.
$ecv2_cl_saved_link The cart link object that was just savedwp_easycart_extension_page_{sub}Renders a custom extension admin page. {sub} is the extension page slug from the URL; the hook fires when an extension registers a callback for that slug.
wp_easycart_extensions_page_noticeFires above the catalog on the Extensions admin page so notices can be printed.
wp_easycart_main_nav_left_endFires at the end of the admin left navigation, so extensions can add navigation items.
wp_easycart_process_get_form_actionFires in the admin when a request carries ec_admin_form_action in the query string and the user is an administrator or store manager.
wp_easycart_process_post_form_actionFires in the admin when a form post carries ec_admin_form_action and the user is an administrator or store manager.
wp_easycart_settings_elementor_statusFires after the Elementor status panel is printed in the store settings.
wp_easycart_settings_home_after_groupsFires after all setting groups are printed on the store settings home screen.
wp_easycart_settings_home_before_groupsFires before the setting groups are printed on the store settings home screen.
wp_easycart_settings_page_after_sectionsFires after all sections of a store settings page are rendered.
$page Settings page definition array.wp_easycart_settings_page_beforeFires before the body of a store settings page is rendered, after the page header and health banner.
$page Settings page definition array.wp_easycart_settings_page_enqueueFires while enqueueing scripts and styles for a store settings page, so extensions can add their own assets.
$slug Settings page slug.$page Settings page definition array.wp_easycart_settings_savedFires after each setting is saved from a store settings page.
$key Option name.$clean Sanitized new value.$old Previous value.$slug Settings page slug.wp_easycart_upsell_afterFires at the end of an upgrade prompt box shown for a locked feature in the admin.
$ecv2_upsell Upsell definition array.wp_easycart_upsell_locked_page_endFires at the end of a locked feature’s preview page in the admin.
$e Locked feature definition array.wpeasycart_admin_demo_data_installedFires after the demo data is installed from the initial setup screen.
wpeasycart_admin_load_completeFires after the WP EasyCart admin files are loaded.
wpeasycart_admin_load_initFires at the start of loading the WP EasyCart admin files.
wpeasycart_admin_store_statusFires inside the Store Status admin screen where the status cards are rendered; add-ons hook it to add their own cards.
wpeasycart_admin_usage_tracking_acceptedFires after the store owner accepts usage tracking and the tracking option is saved.
wpeasycart_deactivatedFires when the store owner deactivates the plugin through the deactivation feedback dialog.
wpeasycart_order_details_shipping_address_preFires on the admin order screen after the Ship to card, so add-ons can print their own cards such as accounting or fulfillment partner cards.
$order The order row objectwpeasycart_order_details_shipping_address_pre_ship_toFires on the admin order screen just before the Ship to card is printed.
$order The order row objectwpeasycart_page_options_updatedFires after the store page display options are saved from the admin screen.
wpeasycart_perpage_addedFires after a new products-per-page choice is added to the store settings list.
(int) $wpdb->insert_id id of the new per-page valuewpeasycart_perpage_deletingFires before a products-per-page choice is deleted from the store settings list.
(int) $id id of the per-page value being removedwpeasycart_store_status_bubble_list_endFires at the end of the Extensions card on the store status screen, so add-ons can print their own status bubbles.
wpeasycart_store_status_bubble_list_startFires at the start of the Extensions card on the store status screen, so add-ons can print their own status bubbles.
Storefront templates and design
Grouped by what they are about
30 actionswp_easycart_add_to_cart_click_beforeFires inside the add-to-cart button’s onclick handler on product listings, letting you output JavaScript that runs when the button is clicked.
$product->product_id Product idwp_easycart_add_to_cart_js_validation_endFires inside the add-to-cart JavaScript validation function, letting you output JavaScript that runs before the function returns its errors.
$product->product_id Product idwp_easycart_after_add_to_cart_buttonFires on the product details page right after the Add to Cart button area, before the out-of-stock message.
$product The product being displayed (object).wp_easycart_after_quick_add_to_cart_buttonFires in the product quick view, right after the quick add to cart button area.
$product The product being displayed (object).wp_easycart_order_detail_item_optionitemsFires in each item of the account order details page, after the item’s options, so extensions can print more option details.
$order_item The order line item being displayedwp_easycart_order_details_header_rightFires at the start of the actions row above an order on the account order details page, before the Pay now link.
$this->order The order object being displayedwpeasycart_after_product_titleFires in the product listing item template right after the product title, so extra content can be added under the title.
$product The product object being displayedwpeasycart_cart_item_row_preFires in the cart template before each cart item row is output.
$cartitem The cart item object for this row$cartitem_index (int) Position of the item in the cartwpeasycart_cart_post_minimum_noticeFires in the cart template just after the backorder message, where a minimum order notice can be shown.
wpeasycart_cart_top_leftFires at the top of the left column of the cart page, before the backorder message and item table.
$cartpage The cart page object (passed as $this or $cartpage depending on the template)wpeasycart_checkout_button_ahrefFires inside the opening tag of the cart page checkout button link, so extra HTML attributes can be echoed onto it.
wpeasycart_order_detail_line_itemFires for each item in the account order details template, where extra detail can be added under the item.
$model_number Model number of the order item$orderdetail_id ID of the order linewpeasycart_order_details_after_basic_infoFires on the account order details page after the basic order information, where extra rows can be added.
$order The order display objectwpeasycart_order_details_after_billingFires on the account order details page after the billing address block.
$order The order display objectwpeasycart_order_details_after_shippingFires on the account order details page after the shipping address block.
$order The order display objectwpeasycart_order_details_after_totalsFires on the account order details page after the order totals.
$order The order display objectwpeasycart_order_detials_order_notes_afterFires on the account order details page after the customer’s order notes.
$order The order display objectwpeasycart_pre_customer_reviews_tabFires in the product details tab list just before the customer reviews tab, so extensions can add their own tab.
$product_id product id$rand random id of this product display, used in tab element idswpeasycart_pre_description_tabFires in the product details tab list just before the description tab, so extensions can add their own tab.
$product_id product id$rand random id of this product display, used in tab element idswpeasycart_pre_specifications_tabFires in the product details tab list just before the specifications tab, so extensions can add their own tab.
$product_id product id$rand random id of this product display, used in tab element idswpeasycart_product_description_topFires at the top of the product details page, before the option sets are set up.
$this->product->product_id product idwpeasycart_sidebar_position1Fires at the top of the product page filter sidebar, right after the clear filters button.
$this the product page object (ec_productpage)wpeasycart_sidebar_position2Fires in the product page filter sidebar after the first categories block and before the category filters.
$this the product page object (ec_productpage)wpeasycart_sidebar_position3Fires in the product page filter sidebar after the category filters and before the option filters.
$this the product page object (ec_productpage)wpeasycart_sidebar_position4Fires in the product page filter sidebar after the option filters and before the categories block that shows when it is not listed first.
$this the product page object (ec_productpage)wpeasycart_sidebar_position5Fires in the product page filter sidebar after the later categories block and before the price point filters.
$this the product page object (ec_productpage)wpeasycart_sidebar_position6Fires at the end of the product page filter sidebar, after the last filter block.
$this the product page object (ec_productpage)wpeasycart_success_page_content_bottomFires at the bottom of the checkout success page, after the customer order notes.
$order_id order id$order the order display object (ec_orderdisplay)wpeasycart_success_page_content_middleFires in the middle of the checkout success page, after the continue shopping link and before the order notes.
$order_id order id$order the order display object (ec_orderdisplay)wpeasycart_success_page_content_topFires at the top of the checkout success page content, after any conversion tracking pixels.
$order_id order id$order the order display object (ec_orderdisplay)Pickup and scheduling
Grouped by what they are about
11 actionswp_easycart_admin_schedule_detailsFires when the schedule admin page is showing the add-new or edit schedule form, so PRO can print the schedule details screen.
wp_easycart_admin_schedule_details_basic_fields PROFires in the Schedule Setup section of the schedule edit form so PRO can print the basic schedule fields.
wp_easycart_admin_schedule_listFires when the schedule admin page shows the schedule list rather than the add-new or edit form.
wpeasycart_location_added PROFires after a store location is created in the admin.
$location_id ID of the new location (ec_location.location_id)wpeasycart_location_deleted PROFires after a store location is deleted in the admin, singly or in bulk.
$location_id ID of the deleted locationwpeasycart_location_deleting PROFires just before a store location is deleted in the admin, singly or in bulk.
$location_id ID of the location about to be deletedwpeasycart_location_updated PROFires after a store location is updated in the admin.
$location_id ID of the updated locationwpeasycart_schedule_added PROFires after a new pickup or ordering schedule is created in the admin.
$schedule_id id of the new schedulewpeasycart_schedule_deleted PROFires after a schedule is deleted in the admin, singly or in bulk.
$schedule_id id of the deleted schedulewpeasycart_schedule_deleting PROFires just before a schedule is deleted in the admin, singly or in bulk.
$schedule_id id of the schedule about to be deletedwpeasycart_schedule_updated PROFires after a schedule is saved or its open or closed channel is toggled in the admin.
$id schedule idDownloads and gift cards
Grouped by what they are about
18 actionswp_easycart_admin_downloads_detailsFires on the admin downloads page when adding or editing a download, to render the details screen.
wp_easycart_admin_downloads_details_basic_fields PROFires inside the download details form in admin so extra basic fields can be added.
wp_easycart_admin_downloads_listFires on the admin downloads page, when not adding or editing, to render the downloads list.
wp_easycart_admin_giftcard_detailsFires on the admin gift cards page when adding or editing a gift card, to render the details screen.
wp_easycart_admin_giftcard_listFires on the admin gift cards page, when not adding or editing, to render the gift card list.
wp_easycart_customer_upload_failedFires when a customer file upload is rejected, before the failure is logged.
$reason The reason code for the rejection (string).$name The sanitized name of the uploaded file (string).$detail Technical detail about the failure (string).wp_easycart_giftcard_code_changed PROFires after a gift card’s code is changed in the admin and its order history is moved to the new code.
$old The previous gift card code$row['giftcard_id'] The new gift card codewp_easycart_giftcard_created PROFires after a gift card is created in the admin.
$giftcard_id Gift card codewp_easycart_giftcard_deleted PROFires after a gift card is deleted from the admin, once per card for bulk deletes.
$giftcard_id Code of the deleted gift cardwp_easycart_giftcard_deleting PROFires just before a gift card is deleted from the admin, once per card for bulk deletes.
$giftcard_id Code of the gift card about to be deletedwp_easycart_giftcard_updated PROFires after a gift card is updated in the admin.
$giftcard_id Gift card code (the new code if it was changed)wpeasycart_custom_gift_card_emailFires instead of the built-in mailer when the store email method is custom, so a custom handler can send the gift card email.
$from From email address (order from email option)$to Gift card recipient email$bcc BCC email addresses option$subject Email subject$message Email bodywpeasycart_download_added PROFires after a download record is created in the admin.
$download_id ID of the new download (ec_download.download_id)wpeasycart_download_deleting PROFires just before a download record is deleted in the admin, singly or in bulk.
$download_id ID of the download about to be deletedwpeasycart_download_updated PROFires after an existing download record is updated in the admin.
$download_id ID of the updated downloadwpeasycart_downloads_bulk_updated PROFires after the admin download fix tool bulk updates the Amazon settings of downloads matching a record.
$r->download_id ID of the download record used as the match$data (array) The values applied, including is_amazon_download and amazon_key(int) $more Number of download rows updatedwpeasycart_gift_card_purchasedFires after a new gift card is created for a purchase.
$giftcard_id The new gift card code$amount Value of the gift cardwpeasycart_void_gift_card_redemptionFires when a card payment fails on an order that used a gift card, so the gift card redemption can be voided.
$this->discount->giftcard_code the gift card code used$this->order_id order idIntegrations and extensions
Grouped by what they are about
14 actionswp_easycart_admin_pro_readyFires once the admin has finished loading its PRO hooks and the installed PRO version is not outdated.
wp_easycart_bluecheck_photo_finished BlueCheckFires in the Bluecheck extension after a customer’s photo record has been synced, with the record as it is now and as it was before.
$after The photo record after the sync (array).$record The photo record before the sync (array).wp_easycart_facebook_checkout_link Facebook & InstagramFires when a Facebook or Instagram checkout link has filled the cart, before the shopper is redirected on.
$added Number of lines added to the cart (int)$skipped Number of lines skipped (int)$origin Array of cart_origin, utm_* and fbclid valueswp_easycart_facebook_checkout_order Facebook & InstagramFires after an order created from a Facebook or Instagram checkout link is inserted.
$order_id Order ID (int)$origin Array of cart_origin, utm_* and fbclid valueswp_easycart_facebook_connected Facebook & InstagramFires after a store is connected to Facebook and Instagram, so the sync can send the catalog.
$data Connection details (array)wp_easycart_facebook_disconnected Facebook & InstagramFires after the store is disconnected from Facebook and Instagram.
$data The connection details as they were before disconnecting (array)wp_easycart_facebook_product_changed Facebook & InstagramFires when a product’s Facebook and Instagram details change, so the sync and feed pick it up.
$product_id Product ID (int)wp_easycart_google_feed_address_changed PROFires after the Google product feed address key is regenerated, so the Merchant API connection can move its data source to the new address.
$new_url The new feed URL$old_url The previous feed URLwp_easycart_google_feed_built PROFires after a Google product feed build finishes and its state is saved.
$state The feed build state (array), including file sizes and errorwp_easycart_google_feed_hour_changed PROFires after the nightly Google feed build hour changes and the next build is rescheduled.
self::hour() The new build hourwp_easycart_groupon_deal_created GrouponFires after a Groupon deal is created.
$deal_id Deal ID (int)$deal The deal’s cleaned settings (array)wp_easycart_groupon_deal_switched GrouponFires after Groupon codes are moved from one deal to another.
(int) $deal->deal_id Deal ID$moved Number of codes moved (int)wp_easycart_meta_eventFires whenever a Meta (Facebook) Pixel storefront event is tracked, so WP EasyCart Pro can send the same event from the server with the same ID.
$event_name Meta event name, such as ViewContent, Search, AddToCart or InitiateCheckout$custom_data Event data such as value, content ids, num_items and search_string (array)$event_id Event ID shared with the browser (string)$context Array with source_url, product_id, order_id, user_id, email and browserwpeasycart_pro_activated PROFires when the WP EasyCart Pro plugin is activated, including when the admin activates it automatically.
Import and export
Grouped by what they are about
1 actionwp_easycart_admin_shopify_import_endFires at the end of the Shopify panel in the cart importer on the Integrations settings page, after the notice that the Shopify importer is discontinued.
API and mobile app
Grouped by what they are about
1 actionwpeasycart_amf_complete PROFires at the end of an AMFPHP request from the mobile app, after the gateway has produced its output.
Other
Grouped by what they are about
4 actionswp_easycart_startupFires once WP EasyCart has loaded and run any pending database update at startup.
wpeasycart_activatedFires when WP EasyCart is activated.
wpeasycart_config_loadedFires once the plugin’s configuration and globals have finished loading.
wpeasycart_session_rotatedFires after a shopper’s cart session id is rotated, such as when they sign in or out.
$old_id previous session id (string)$new_id new session id (string)Ready to run your store on WP EasyCart?
Everything in this guide works with the free plugin. PRO and Premium add subscriptions, memberships, wholesale pricing and more. Try every PRO feature free for 14 days.
