What’s newFind any order, customer, product or setting with one admin search. See all features

Where to find it:WP Admin › functions.php

Before you start

How filters work

What one is and how to read the list.

How filters work

Change a value before WP EasyCart uses it

What a filter is. Before WP EasyCart uses a value, such as a list of columns, an email subject or a label, it passes the value through any filters you added. Your function can change it and hand it back. To react to an event instead, use an action.

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_filter( 'wp_easycart_admin_subscriber_list_columns', 'my_columns' );
function my_columns( $columns ) { return $columns; }

Always return a value. A filter function must return the value it received, changed or not, or the setting it controls ends up empty. The first parameter in each entry is the value you receive and return; the rest are extra information. To receive extra values, add a count: add_filter( 'hook_name', 'my_function', 10, 2 );.

💡 Note: Connecting another system, such as a warehouse, an ERP or a marketplace, rather than changing the store from inside WordPress? Use the WP EasyCart API and its reference at developer.wpeasycart.com.

Reading the list

Names, tags and where hooks fire

Names. Names start with wp_easycart_ or wpeasycart_ (two shipping filters start with ecv2_). 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 to run code when something happens instead of changing a value? See the WordPress Action Hooks Reference.

The filters

By area

1145 filters, grouped by what they are about.

Cart and checkout

Grouped by what they are about

88 filters

wp_easycart_abandoned_cart_restore_target
Filters where an abandoned cart recovery link lands when the cart held a subscription. The default is the subscription page for the product (with its usage level).
Parameters
$url (string) The subscription page URL.
$row (array) The abandoned cart record.
Fires in inc/classes/core/ec_abandoned_carts.php · restore_target()
wp_easycart_add_to_cart_link_automated
Filters whether an ?ec_add_to_cart= or ?ec_action=addtocart request came from no shopper, in which case nothing is added to a cart.
Parameters
$reason (string) prefetch (answered with a 503), bot (sent to the product page) or ” (a shopper).
$agent (string) The user agent, lower case.
Fires in inc/classes/core/class-wp-easycart-add-to-cart-links.php · automated()
wp_easycart_add_to_cart_link_max_quantity
Filters the largest quantity an ?ec_add_to_cart= or ?ec_action=addtocart link can add. Default 20; the result is kept between 1 and 999.
Parameters
$quantity (int) The largest quantity (20).
Fires in inc/classes/core/class-wp-easycart-add-to-cart-links.php · max_quantity()
wp_easycart_add_to_cart_optional_always_add
Filters whether adding a product always inserts a new cart row instead of merging with a matching existing cart line.
Parameters
$always_add (bool) False by default; true forces a new cart row.
$product_id (int) ID of the product being added.
Fires in inc/classes/core/ec_db.php · add_to_cart()
wp_easycart_add_to_cart_quantity
Filters the quantity stored in the cart when a product is added.
Parameters
$quantity (int) Quantity being added.
$product_id (int) ID of the product being added.
Fires in inc/classes/core/ec_db.php · add_to_cart()
wp_easycart_add_to_cart_return_url_cart
Filters the URL the shopper is sent to after adding a product to the cart, when they are redirected to the cart page.
Parameters
$url (string) Cart page URL.
$tempcart_id (int) ID of the cart row that was added; 0 when not known.
$product_id (int) ID of the product added.
Fires in wpeasycart.php · load_ec_pre() +2 more places
wp_easycart_add_to_cart_return_url_product
Filters the URL the shopper is sent back to after adding a product, when they stay on the product page.
Parameters
$url (string) Return URL with the ec_store_success=addtocart and model arguments appended.
$tempcart_id (int) ID of the cart row that was added.
$product_id (int) ID of the product added.
Fires in inc/classes/cart/ec_cartpage.php · process_add_to_cart_v3()
wp_easycart_advanced_option_items_add_to_cart
Filters the option items of an advanced option set when reading the shopper’s selections during add to cart.
Parameters
$option_items (array) the option set’s option item objects
$option_id (int) the option set id
Fires in inc/classes/cart/ec_cartpage.php · get_advanced_option_vals() +1 more place
wp_easycart_advanced_options_add_to_cart
Filters the advanced option values collected for a product being added to the cart.
Parameters
$option_vals (array) the collected option values
$product_id (int) the product id
$tempcart_id (int) the temporary cart id
Fires in inc/classes/cart/ec_cartpage.php · get_advanced_option_vals()
wp_easycart_allow_checkout_details
Filters whether the checkout details step is shown. Return a falsy value to stop it displaying.
Parameters
$allow (int) 1 to allow, default 1
Fires in inc/classes/cart/ec_cartpage.php · display_checkout_details()
wp_easycart_allow_payment
Filters whether the payment step is shown. Return a falsy value to stop it displaying.
Parameters
$allow (int) 1 to allow, default 1
Fires in inc/classes/cart/ec_cartpage.php · display_payment() +1 more place
wp_easycart_allow_paypal_express
Filters whether PayPal Express and digital wallet options, such as Venmo and Pay Later, are allowed on the cart and checkout.
Parameters
$allow (bool) false by default
Fires in wpeasycart.php · wp_easycart_load_cart_js() +11 more places
wp_easycart_cart_3dsecure_link
Filters the URL of the 3D Secure cart page.
Parameters
$url (string) the cart page URL with ec_page=3dsecure
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_info_link
Filters the URL of the checkout information step.
Parameters
$url (string) the cart page URL with ec_page=checkout_info
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_payment_link
Filters the URL of the checkout payment step.
Parameters
$url (string) the cart page URL with ec_page=checkout_payment
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_paypal_authorized_link
Filters the URL of the checkout PayPal authorized step.
Parameters
$url (string) the cart page URL with ec_page=checkout_paypal_authorized
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_shipping_link
Filters the URL of the checkout shipping step.
Parameters
$url (string) the cart page URL with ec_page=checkout_shipping
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_submit_order_link
Filters the URL of the checkout submit order step.
Parameters
$url (string) the cart page URL with ec_page=checkout_submit_order
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_checkout_success_link
Filters the URL of the checkout success page.
Parameters
$url (string) the cart page URL with ec_page=checkout_success
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_cookie_httponly
Filters whether the cart cookie is sent with the HttpOnly flag.
Parameters
$httponly (bool) true by default
Fires in inc/classes/core/wpeasycart_session.php · set_cart_cookie()
wp_easycart_cart_cookie_samesite
Filters the SameSite attribute of the cart cookie.
Parameters
$samesite (string) Lax by default
Fires in inc/classes/core/wpeasycart_session.php · set_cart_cookie()
wp_easycart_cart_invoice_link
Filters the URL of the invoice page.
Parameters
$url (string) the cart page URL with ec_page=invoice
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_item_total_price
Filters the total price of a cart item, both the base total and the currency-converted total, when the cart item loads.
Parameters
$total_price (float) the item total price
$cartitem_id (int) the cart item id
$product_id (int) the product id
Fires in inc/classes/cart/ec_cartitem.php · __construct() +1 more place
wp_easycart_cart_item_unit_price_discounted_display
Filters the discounted unit price display string for a cart item.
Parameters
$display (string) formatted discounted unit price plus any extra label
$product_id (int) the product id
Fires in inc/classes/cart/ec_cartitem.php · get_unit_price_discounted()
wp_easycart_cart_item_unit_price_display
Filters the unit price shown for a line item on the admin order details screen and the account receipt.
Parameters
$unit_price (string|float) the unit price
$product_id (int) the product id
Fires in admin/template/orders/orders/order-item.php +9 more places
wp_easycart_cart_line_available
Filters whether a cart line can be bought for the delivery address; return false or a WP_Error to mark the line unavailable, with the error message shown to the shopper.
Parameters
$available (bool|WP_Error) Whether the line is available; starts as true.
$cart_item (ec_cartitem) The cart line being checked.
$address (array) Delivery address: country, state, zip, city, address1, address2, phone, name.
Fires in inc/classes/core/class-wp-easycart-variants.php · line_errors()
wp_easycart_cart_link
Filters the URL of the cart page returned by wpeasycart_links()->get_cart_page() when no specific cart step is requested.
Parameters
$cart_page (string) The cart page URL.
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_page_url
Filters the cart page URL when WP EasyCart loads a page and when the account page is set up.
Parameters
$cart_page (string) The cart page URL.
Fires in wpeasycart.php · load_ec_pre() +3 more places
wp_easycart_cart_process_affirm_link
Filters the URL of the cart’s process Affirm step (ec_page=process_affirm).
Parameters
$url (string) The cart page URL with ec_page=process_affirm.
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_quantity_message
Filters what the cart says about a quantity limit, such as Only 3 in stock or You can buy up to 5 of this item, when a quantity change is cut back and in the notes beside a line’s quantity box.
Parameters
$text (string) The message, plain text.
$reason (string) stock, max or min.
$args (array) The numbers behind it: stock, other (units of the product on other cart lines), max and min.
Fires in inc/classes/core/class-wp-easycart-cart-quantity.php · message()
wp_easycart_cart_screen_totals
Filters the discount and Estimated total rows under the subtotal on the cart screen, when the cart is drawn and again after each cart change.
Parameters
$totals (array) discount, discount_display, discount_show, estimate, estimate_display and estimate_show.
$this (ec_cartpage) The cart page.
Fires in inc/classes/cart/ec_cartpage.php · cart_screen_totals()
wp_easycart_cart_state
Filters the mini-cart state array (item count, subtotal and items as plain text and URLs) returned for the visitor’s cart.
Parameters
$state (array) Count, subtotal_display and items, plain text and URLs only.
$cart (ec_cart|null) The visitor’s cart, or null when the visitor has no cart session.
Fires in wpeasycart.php · wp_easycart_cart_state() +1 more place
wp_easycart_cart_subscription_info_link
Filters the URL of the cart’s subscription info step (ec_page=subscription_info).
Parameters
$url (string) The cart page URL with ec_page=subscription_info.
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_third_party_link
Filters the URL of the cart’s third party payment step (ec_page=third_party).
Parameters
$url (string) The cart page URL with ec_page=third_party.
Fires in inc/classes/core/wpeasycart_links.php · get_cart_page()
wp_easycart_cart_update_response
Filters the cart data sent back to the browser after a cart or checkout change, such as a quantity update, a removed item, a coupon or a shipping method, so extensions can add to what the page redraws.
Parameters
array(...) (array) cart, order_totals, items_total, weight_total, has_discount, has_backorder, stripe_wallet, square_wallet and summary_lines (the one-page order summary’s lines, or false).
Fires in wpeasycart.php · ec_get_cart_data()
wp_easycart_catalog_display
Filters whether the store is shown as a catalog (vacation mode), in which case add to cart links open the product page instead of adding the item.
Parameters
$display_as_catalog (mixed) The Display as catalog setting; a truthy value turns the store into a catalog.
Fires in wpeasycart.php · load_ec_pre() +17 more places
wp_easycart_checkout_account_required
Filters whether a checkout needs an account. Default true when the cart holds a download, a purchase that opens a limited page (Limit Access), or guest checkout is off.
Parameters
$required (bool) Whether an account is required.
$cartpage (ec_cartpage) The checkout.
Fires in inc/classes/core/class-wp-easycart-checkout-signup.php · required()
wp_easycart_checkout_field_folds
Filters whether an optional address field starts folded behind its “+ Add” link on the classic checkout. Default true while the field is empty.
Parameters
$fold (bool) Whether the field is folded.
$side (string) billing or shipping.
$field (string) address2 or company_name.
Fires in inc/classes/cart/ec_cartpage.php · checkout_field_folds()
wp_easycart_checkout_field_placement_shown PRO
Filters where a custom checkout field’s placement is really printed for the current cart.
Parameters
$where (string) The resolved placement, or an empty string.
$placement (string) The placement chosen for the field.
$cartpage (object|null) The ec_cartpage object.
Fires in inc/classes/core/wp_easycart_checkout_fields_pro.php · placement_for()
wp_easycart_checkout_field_types PRO
Filters the list of checkout field types available in the checkout fields builder; rendering an added type is done through wp_easycart_checkout_field_html.
Parameters
$types (array) Field type slug => settings.
Fires in inc/classes/core/wp_easycart_checkout_fields_pro.php · types()
wp_easycart_checkout_fields PRO
Filters the custom checkout fields returned for the requested statuses.
Parameters
$fields (array) Field key => field definition.
$statuses The field statuses that were asked for.
Fires in inc/classes/core/wp_easycart_checkout_fields_pro.php · fields()
wp_easycart_checkout_fields_licensed PRO
Filters whether the custom checkout fields feature is licensed.
Parameters
$licensed (bool) Whether checkout fields are licensed.
Fires in inc/classes/core/wp_easycart_checkout_fields_pro.php · licensed()
wp_easycart_checkout_phone_required
Filters whether every order needs a phone number. Default true when Settings > Checkout both collects and requires the phone.
Parameters
$required (bool) Whether a phone is required.
Fires in inc/classes/core/class-wp-easycart-checkout-needs.php · phone_required()
wp_easycart_checkout_policy_links
Filters whether the foot of checkout links the store’s terms, privacy and returns pages (Settings > Checkout).
Parameters
$on (bool) The ec_option_checkout_policy_links setting.
Fires in inc/classes/core/class-wp-easycart-checkout-policies.php · footer_enabled()
wp_easycart_checkout_policy_pages
Filters the store’s policy pages linked at the foot of checkout.
Parameters
$out (array) terms, privacy and returns => label, url, post_id, status and source.
Fires in inc/classes/core/class-wp-easycart-checkout-policies.php · pages()
wp_easycart_checkout_shipping_step
Filters whether the classic checkout’s steps line names a shipping step.
Parameters
$ships (bool) Whether the order goes through the shipping step.
$cartpage (ec_cartpage) The checkout.
Fires in inc/classes/cart/ec_cartpage.php · checkout_shipping_step()
wp_easycart_checkout_steps
Filters the classic checkout’s steps line before it is printed.
Parameters
$steps (array) The steps in order: key => array( title, address ).
$current (string) The step on show.
$cartpage (ec_cartpage) The checkout.
Fires in inc/classes/cart/ec_cartpage.php · display_checkout_steps()
wp_easycart_checkout_terms_required
Filters whether every order needs the terms box ticked. Default from Settings > Checkout > Require customers to agree to the terms.
Parameters
$required (bool) Whether the terms must be accepted.
Fires in inc/classes/core/class-wp-easycart-checkout-needs.php · terms_required()
wp_easycart_express_button_height
Filters the height of the express checkout buttons in pixels. Default 48; the result is kept between 40 and 55.
Parameters
$height (int) The height (48).
Fires in inc/classes/cart/ec_cartpage.php · express_button_style()
wp_easycart_express_button_radius
Filters the corner radius of the express checkout buttons in pixels. Default 4, or half the height for pill-shaped PayPal buttons; the result is kept between 0 and half the height.
Parameters
$radius (int) The radius.
$height (int) The buttons’ height.
Fires in inc/classes/cart/ec_cartpage.php · express_button_style()
wp_easycart_invalid_checkout_details_url
Filters the URL a shopper is sent to when checkout details are invalid, such as an invalid shipping choice or an order error.
Parameters
$url (string) cart page URL with an ec_cart_error query argument
Fires in wpeasycart.php · ec_ajax_complete_payment_manual() +6 more places
wp_easycart_onepage_checkout PRO
Filters whether the one-page checkout is active.
Parameters
$active (bool) false by default
Fires in wpeasycart.php · wp_easycart_onepage_active() +3 more places
wp_easycart_onepage_incompatible
Filters the list of payment method names that keep a store on the classic checkout instead of the one-page checkout.
Parameters
$names (string[]) names of incompatible payment methods
Fires in wpeasycart.php · wp_easycart_onepage_incompatible()
wp_easycart_onepage_summary_editable
Filters whether shoppers can change quantities and remove items in the one-page checkout’s order summary; return false to show the lines as read-only.
Parameters
$edit (bool) The setting Items can be changed on the one-page checkout.
$cart (ec_cart) The cart.
Fires in wpeasycart.php · wp_easycart_summary_lines()
wp_easycart_order_extras_placement PRO
Filters where the PO number and gift options are asked at checkout.
Parameters
$placements (array) po and gift keys, each set to order_notes, delivery or review
Fires in inc/classes/core/wp_easycart_order_extras_pro.php · placements()
wp_easycart_product_can_add_to_cart
Filters whether a shopper may put a product in the cart. Every add-to-cart path asks, and checkout asks again for lines already in the cart; return true, or a WP_Error to refuse.
Parameters
$answer (true|WP_Error) The store’s answer; error codes are product_missing, product_inactive, store_restricted, product_role, login_for_pricing, catalog_mode, inquiry_mode and store_catalog.
$row (object|false) The product row: product_id, model_number, post_id, price, is_donation, activate_in_store, role_id, login_for_pricing, login_for_pricing_user_level, catalog_mode and inquiry_mode.
$user (object|null) The shopper’s ec_user.
Fires in inc/classes/core/class-wp-easycart-storefront-access.php · can_add_to_cart()
wp_easycart_return_store_url
Filters the URL of the return to store link in the cart.
Parameters
$url (string) The store URL, or the custom return URL from settings when set.
Fires in inc/classes/cart/ec_cartpage.php · return_to_store_page()
wp_easycart_shipping_wait_enabled
Filters whether the cart page and the classic checkout’s details step leave shipping out of the totals they show until the shopper chooses a rate. On with the setting Hide rates until an address is entered. What checkout charges never changes.
Parameters
$on (bool) The setting.
Fires in inc/classes/core/class-wp-easycart-shipping-wait.php · enabled()
wp_easycart_shipping_wait_text
Filters the words in the Shipping line before a rate is chosen.
Parameters
$text (string) The words.
Fires in inc/classes/core/class-wp-easycart-shipping-wait.php · text()
wp_easycart_shipping_waits
Filters whether one place leaves shipping out of its shown totals right now.
Parameters
$waits (bool) The rule.
$place (string) cart or checkout_info.
$cartpage (ec_cartpage) The cart.
Fires in inc/classes/core/class-wp-easycart-shipping-wait.php · waits()
wp_easycart_update_item_quantity
Filters the quantity saved when a cart item’s quantity is updated.
Parameters
$quantity (int) New quantity, never below 0.
$tempcart_id (int) Cart item id.
$session_id (string) Cart session id.
$product_id (int) Product id.
Fires in inc/classes/core/ec_db.php · update_cartitem()
wpeasycart_abandoned_cart_capture_skip
Filters whether an abandoned cart session is skipped instead of captured for reminder emails.
Parameters
$skip (bool) Default false.
$session_id (string) Cart session id.
$cart_data (object) The ec_tempcart_data row for the session.
Fires in inc/classes/core/ec_abandoned_carts.php · capture()
wpeasycart_allowed_file_upload_types
Filters the list of MIME types shoppers may upload as customer files.
Parameters
$types (array) Allowed MIME types, such as image/jpeg, application/pdf and zip types.
Fires in inc/classes/core/class-wp-easycart-customer-uploads.php · allowed_types()
wpeasycart_cart_card_error
Filters the saved card decline text before the shopper sees it on the cart page.
Parameters
$card_error (string) Card decline text stored from the payment gateway.
Fires in inc/classes/cart/ec_cartpage.php · display_cart_error()
wpeasycart_cart_errors
Filters the map of cart error codes to the notice text shown to the shopper.
Parameters
$errors (array) Error code => notice text, such as email_exists, payment_failed or minimum_order.
Fires in inc/classes/cart/ec_cartpage.php · cart_error_notes()
wpeasycart_cartitem_image1
Filters the main image URL for a cart item, in the cart and in abandoned cart emails.
Parameters
$image1 (string) Cart item image URL.
$product_id (int) Product id.
$cartitem_id (int) Cart item id, or 0 if unknown.
Fires in design/layout/base-responsive-v3/ec_abandoned_cart_email.php +2 more places
wpeasycart_cartitem_image1_optionitem
Filters the option item image URL for a cart item, in the cart and in abandoned cart emails.
Parameters
$image1_optionitem (string) Option item image URL or empty string.
$product_id (int) Product id.
$cartitem_id (int) Cart item id, or 0 if unknown.
Fires in design/layout/base-responsive-v3/ec_abandoned_cart_email.php +1 more place
wpeasycart_checkout_error_entry
Filters one checkout problem entry before it is returned to the checkout page.
Parameters
$entry (array) Problem entry with code and message keys.
$code (string) The problem’s code.
$cartpage (ec_cartpage) The checkout page object.
Fires in inc/classes/cart/ec_cartpage.php · order_error_messages()
wpeasycart_checkout_order_errors
Filters the list of error codes found when a shopper submits the order.
Parameters
$errors (array) Error codes; add a notice for a new code through wpeasycart_cart_errors.
$cartpage (ec_cartpage) The checkout page object.
Fires in inc/classes/cart/ec_cartpage.php · order_errors()
wpeasycart_checkout_password_js_function
Filters the JavaScript run when the shopper clicks the submit button on the checkout details form.
Parameters
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_validate_cart_details( );’.
Fires in design/layout/base-responsive-v3/ec_checkout_details.php
wpeasycart_checkout_protection_client_ip
Filters the client IP address that checkout protection uses for a request.
Parameters
$ip (string) The address chosen for the request.
$remote (string) The REMOTE_ADDR server value.
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · client_ip()
wpeasycart_checkout_protection_cloudflare_ranges
Filters the address ranges checkout protection trusts to send the CF-Connecting-IP (Cloudflare) header.
Parameters
$ranges (array) CIDR ranges of trusted proxies.
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · cloudflare_ranges()
wpeasycart_checkout_protection_contact_email
Filters the email address shoppers are told to contact when their payments are paused by checkout protection.
Parameters
$email (string) Contact email address.
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · paused_message()
wpeasycart_checkout_protection_limits
Filters the numeric limits checkout protection applies for a protection level.
Parameters
$limits (array) Limits for the level.
$level (string) Protection level.
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · limits()
wpeasycart_checkout_protection_settings
Filters the resolved checkout protection settings.
Parameters
$settings (array) Resolved checkout protection settings.
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · settings()
wpeasycart_checkout_step_error
Lets a plugin block a checkout step by returning an error, which sends the shopper back to a checkout page.
Parameters
$error (array|null) Null by default; return array( ‘code’ => notice code, ‘page’ => page to go back to ) to block the step.
$step (string) Checkout step: information, shipping or payment.
$cartpage (ec_cartpage) The checkout page object.
Fires in inc/classes/cart/ec_cartpage.php · checkout_step_error()
wpeasycart_express_checkout_allowed
Filters whether express checkout buttons may be shown.
Parameters
$allowed (bool) Whether express checkout is allowed; defaults to true.
$context (string) Where it is asked, such as checkout or square.
$cartpage (ec_cartpage) The cart page object.
Fires in design/layout/base-responsive-v3/ec_cart_information_v2.php +5 more places
wpeasycart_inquiry_blocklist
Filters the list of blocked terms the inquiry form guard checks messages against.
Parameters
$blocklist (array) Lowercase blocked terms.
Fires in inc/classes/core/class-wp-easycart-inquiry-guard.php · blocklist()
wpeasycart_inquiry_client_ip
Filters the client IP address the product inquiry form guard uses.
Parameters
$ip (string) The address chosen for the request.
$remote (string) The REMOTE_ADDR server value.
Fires in inc/classes/core/class-wp-easycart-inquiry-guard.php · client_ip()
wpeasycart_inquiry_error_message
Filters the error message shown when the inquiry form guard rejects an inquiry.
Parameters
$text (string) Message text.
$reason (string) Reason the inquiry was rejected.
$settings (array) Inquiry guard settings.
Fires in inc/classes/core/class-wp-easycart-inquiry-guard.php · message()
wpeasycart_inquiry_guard_result
Filters the inquiry guard result, letting a plugin accept or reject an inquiry.
Parameters
$reason (string) Rejection reason, or empty when the inquiry passed the checks.
$context (array) Array with product_id, name, email, message and settings.
Fires in inc/classes/core/class-wp-easycart-inquiry-guard.php · check()
wpeasycart_inquiry_guard_settings
Filters the product inquiry guard settings such as length, link limit and blocklist.
Parameters
$settings (array) Inquiry guard settings.
Fires in inc/classes/core/class-wp-easycart-inquiry-guard.php · settings()
wpeasycart_minimum_order_total
Filters the minimum order total a cart must reach before checkout.
Parameters
$minimum (float|string) Value of the ec_option_minimum_order_total setting.
Fires in wpeasycart.php · ec_ajax_square_complete_payment() +22 more places
wpeasycart_restrict_cart_only
Filters whether the store shows only the cart page and blocks the checkout pages.
Parameters
$restrict (bool) False by default; return true to restrict shoppers to the cart.
Fires in inc/classes/cart/ec_cartpage.php · should_display_cart() +1 more place
wpeasycart_show_checkout_button
Filters whether the Checkout button is shown on the cart page.
Parameters
$show (bool) Whether to show the button; defaults to true.
Fires in design/layout/base-responsive-v3/ec_cart.php +2 more places
wpeasycart_valid_cart_errors
Filters the list of cart error codes that are valid to show on the cart page.
Parameters
$error_codes (array) Valid error code strings, such as email_exists, login_failed and payment_failed.
Fires in wpeasycart.php · wp_easycart_dynamic_cart_display()
wpeasycart_validate_checkout_data
Filters whether the checkout contact and billing details are valid.
Parameters
$data_validated (bool) Result of the built-in checks.
$user (ec_user) The current customer object.
Fires in inc/classes/cart/ec_cartpage.php · validate_checkout_data()
wpeasycart_validate_submit_order_data
Filters whether the order data is valid when the shopper submits the order.
Parameters
$data_validated (bool) Result of the built-in checks; false fails the order.
$user (ec_user) The current customer object.
Fires in inc/classes/cart/ec_cartpage.php · order_errors() +1 more place

Products

Grouped by what they are about

127 filters

wp_easycart_admin_ai_product_facts
Filters the product facts Write with AI sends with its prompt in the product editor.
Parameters
$facts (array) The facts.
$row (object) The product row.
Fires in admin/inc/wp_easycart_admin_ai.php · product_facts()
wp_easycart_admin_ai_ready
Filters whether Write with AI can write: true when the site’s AI service is set up for text.
Parameters
$out['ready'] (bool) The WordPress AI Client’s answer.
Fires in admin/inc/wp_easycart_admin_ai.php · state()
wp_easycart_admin_ai_text
Filters the text Write with AI returns for a product field. Return a string to answer without the site’s AI service; null lets WP EasyCart ask it.
Parameters
null (string|WP_Error|null) The text, or null.
$prompt (string) What the AI would be asked.
$kind (string) description, short_description, excerpt, specifications, seo_description, seo_title or seo_keywords.
$facts (array) The product’s facts.
Fires in admin/inc/wp_easycart_admin_ai.php · generate()
wp_easycart_admin_free_image_slot_limit
Filters how many product image slots the free edition allows, in the media editor and when images are saved.
Parameters
$limit (int) Number of image slots available in the free edition; defaults to 2.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · print_free_media_v2() +2 more places
wp_easycart_admin_free_option_set_limit
Filters how many option sets the free edition allows on a product.
Parameters
$limit (int) Maximum option sets per product in the free edition; defaults to 2.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · print_free_options_v2() +7 more places
wp_easycart_admin_optionitem_quantity_add_click
Filters the JavaScript function called when Add New is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/inc/wp_easycart_admin_products.php · ec_admin_ajax_get_optionitem_quantity_content()
wp_easycart_admin_optionitem_quantity_delete_click
Filters the JavaScript function called when Delete is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/inc/wp_easycart_admin_products.php · ec_admin_ajax_get_optionitem_quantity_content()
wp_easycart_admin_optionitem_quantity_update_click
Filters the JavaScript function called when Update is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/inc/wp_easycart_admin_products.php · ec_admin_ajax_get_optionitem_quantity_content()
wp_easycart_admin_product_custom_price_label_change
Filters the JavaScript onchange handler for the custom price label dropdown on the admin product pricing form; Pro replaces the upgrade prompt.
Parameters
$onchange (string) JavaScript function name; defaults to show_pro_required.
Fires in admin/inc/wp_easycart_admin_details_products.php · pricing_fields()
wp_easycart_admin_product_custom_price_label_save
Filters the custom price label type saved for a product; Pro returns the posted value, and the default of 0 leaves the label disabled.
Parameters
$value (int) Value to save; 0 by default.
$enable_price_label (int) Price label type posted from the admin form.
Fires in admin/inc/wp_easycart_admin_product_table.php · ecv2_product_save_prices() +1 more place
wp_easycart_admin_product_details_basic_fields_list
Filters the basic field definitions of the product editor before they are printed: the Product details and Description cards in Basics, the Price card in Pricing, and the summary column’s Page address and Manufacturer.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and required.
$product (object) Product being edited.
Fires in admin/inc/wp_easycart_admin_details_products.php · basic_fields()
wp_easycart_admin_product_details_categories_fields_list
Filters the field definitions of the product editor’s Categories field (the Organization card in the summary column).
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · categories_fields()
wp_easycart_admin_product_details_customs_fields_list
Filters the customs field definitions of the product editor’s Shipping section: Packs in, HS tariff code, Country of origin and Customs description.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · customs_fields()
wp_easycart_admin_product_details_deconetwork_fields_list
Filters the field definitions of the Deconetwork card in the product editor’s Type settings section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · deconetwork_fields()
wp_easycart_admin_product_details_featured_products_fields_list
Filters the field definitions of the Featured products card in the product editor’s Storefront section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · featured_products_fields()
wp_easycart_admin_product_details_general_options_fields_list
Filters the field definitions behind the product editor’s general option fields, such as Show on store page, Show in the specials widget, the product type switches and the purchase rules, before they are printed in the Storefront, Type settings and Search & marketing sections and the summary column.
Parameters
array(...) (array) Field definitions: name, type, label and more.
$this->product (object) The product being edited.
Fires in admin/inc/wp_easycart_admin_details_products.php · general_options_fields()
wp_easycart_admin_product_details_google_merchant_fields_list PRO
Filters the field definitions of the Google Merchant card in the product editor’s Search & marketing section (Google Shopping tab) before they are printed.
Parameters
$fields (array) field definitions for the Google Merchant section
Fires in admin/inc/wp_easycart_admin_details_products_pro.php · print_google_merchant_fields()
wp_easycart_admin_product_details_menus_fields_list
Filters the field definitions of the Store menus card in the product editor’s Storefront section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · menus_fields()
wp_easycart_admin_product_details_order_completed_details_note_fields_list
Filters the field definitions of the Order details note in the product editor’s After purchase section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · order_completed_details_note_fields()
wp_easycart_admin_product_details_order_completed_email_note_fields_list
Filters the field definitions of the Order email note in the product editor’s After purchase section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · order_completed_email_note_fields()
wp_easycart_admin_product_details_order_completed_note_fields_list
Filters the field definitions of the Order confirmation page note in the product editor’s After purchase section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · order_completed_note_fields()
wp_easycart_admin_product_details_packaging_fields_list
Filters the weight and size field definitions (Weight, Width, Height, Length) of the product editor’s Shipping section, under Package.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · packaging_fields()
wp_easycart_admin_product_details_pricing_fields_list
Filters the field definitions of the product editor’s Pricing section: the Cost and price display card, and the Volume and B2B prices card (Volume Pricing and B2B Pricing).
Parameters
$fields (array) field definitions for the pricing fields
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · pricing_fields() +1 more place
wp_easycart_admin_product_details_quantity_fields_list
Filters the field definitions of the Stock and order limits card in the product editor’s Inventory section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · quantity_fields()
wp_easycart_admin_product_details_seo_fields_list
Filters the field definitions of the Search engine listing card in the product editor’s Search & marketing section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · seo_fields()
wp_easycart_admin_product_details_short_description_fields_list
Filters the field definitions of the Short description card in the product editor’s Basics section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · short_description_fields()
wp_easycart_admin_product_details_specifications_fields_list
Filters the field definitions of the Specifications card in the product editor’s Basics section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · specifications_fields()
wp_easycart_admin_product_details_tags_fields_list
Filters the field definitions of the Badges and image effects card in the product editor’s Design section, such as the hover effect.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · tags_fields()
wp_easycart_admin_product_details_user_roles
Filters the user roles offered in the product editor’s Who can see it choice and in the products list’s role pricing options.
Parameters
$user_roles (array) role options, each an object with id and value set to the role label
Fires in admin/inc/wp_easycart_admin_details_products.php · general_options_fields() +1 more place
wp_easycart_admin_product_details_v2_lock_map
Filters which inputs of each product editor section are locked when another service manages the product’s fields, such as a fulfillment partner or Square.
Parameters
array(...) (array) section => managed field => input ids, or true for the whole section.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · lock_map()
wp_easycart_admin_product_details_v2_tab_groups
Filters the groups of the product editor’s section list: Essentials, Catalog, Advanced and Insights.
Parameters
$tab_groups (array) group slug => label
Fires in admin/template/products/products/product-details-v2.php
wp_easycart_admin_product_details_v2_tabs
Filters the product editor’s sections (Basics, Media, Pricing and so on), with each one’s label, icon, group and description.
Parameters
$tabs (array) tab slug => array with label, icon, group, desc
$product (object) the product being edited
Fires in admin/template/products/products/product-details-v2.php
wp_easycart_admin_product_editor_prefs
Filters the product editor choices saved for one admin user: Page or Focus view, which sections are folded, whether the EasyCart menu is folded to icons, and whether the tip was seen.
Parameters
$prefs (array) view (page or focus), collapsed (section key => bool), menu (mini or full) and tip (bool).
$user_id (int) The user.
Fires in admin/inc/wp_easycart_admin_products.php · wp_easycart_admin_product_editor_prefs()
wp_easycart_admin_product_list_columns
Filters the columns shown in the admin product list table.
Parameters
$columns (array) column definitions with name, label, format, width and visibility keys
Fires in admin/inc/wp_easycart_admin_product_table.php · setup()
wp_easycart_admin_product_list_filters
Filters the filter controls available above the admin product list table.
Parameters
$filters (array) filter definitions for the product list
Fires in admin/inc/wp_easycart_admin_product_table.php · setup()
wp_easycart_admin_product_tax_facts
Filters what the store charges in tax as the product editor’s Tax section and summary card describe it.
Parameters
$facts (array) The tax facts.
$product (object) The product being edited.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · tax_facts_v2()
wp_easycart_admin_product_type_labels
Filters the names of the product type switches, used to describe a product in the editor’s summary column, such as Subscription + Gift card, or Standard product when none is on.
Parameters
array(...) (array) Switch id => label, such as is_subscription_item => Subscription and is_download => Digital download.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · type_labels_v2()
wp_easycart_admin_product_type_sections
Filters the name of the product editor’s type section for each product type.
Parameters
$sections (array) Type key => rail, title and desc.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · type_sections_v2()
wp_easycart_admin_product_types
Filters the product types offered by the Product type choice in the product editor’s summary column and by the products list’s Product type filter. A type you add needs a checkbox with its flag as the id in the editor, and its flag must be an ec_product column for the filter to find it.
Parameters
$types (array) key => label, flag (the type’s ec_product column, empty for none), ships (1, 0 or null to leave shipping alone), pro (needs WP EasyCart PRO), help and icon (a dashicon).
Fires in admin/inc/wp_easycart_admin_product_types.php · types()
wp_easycart_admin_v2_health_checks
Filters the Listing health checklist in the product editor’s summary column.
Parameters
$checks (array) checks, each an array with key, label, done and tab
$p (object) the product
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · get_health_checks()
wp_easycart_admin_v2_order_status_labels
Filters the order status labels sent with the product activity data in the product editor’s Activity section.
Parameters
$status_labels (array) order status labels, empty by default
Fires in admin/inc/wp_easycart_admin_products.php · ec_admin_ajax_ecdv2_activity()
wp_easycart_admin_v2_price_context_chips
Filters the price context chips (such as login for pricing) shown near the price in the product editor.
Parameters
$chips (array) chips, each an array with label and tab
$p (object) the product
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · print_price_context()
wp_easycart_card_savings
Filters what a store product card says the shopper saves under a reduced price. Return null to show nothing; an answer without a positive amount and a percent is treated as nothing.
Parameters
$answer (array|null) amount, percent, offer, price and strike, or null.
$product (ec_product) The product.
$card_price (array) The card’s offer, price and strike.
Fires in wpeasycart.php · wp_easycart_card_savings()
wp_easycart_image_download_address
Filters the address the store downloads a product image from when it is given a web address (an AI assistant or the WP EasyCart API). Google Drive and Dropbox share links are turned into their download links first.
Parameters
$fetch (string) The address to download.
$url (string) The address given.
Fires in inc/classes/core/class-wp-easycart-product-writer.php · download_address()
wp_easycart_image_download_limit API plugin
Filters the largest product image the store copies from a web address, in the store and in the WP EasyCart API.
Parameters
20 * MB_IN_BYTES (int) Bytes. Default 20 MB; 0 means no limit.
Fires in inc/classes/core/class-wp-easycart-product-writer.php · attachment() +1 more place
wp_easycart_login_for_pricing_text
Filters the message shown on a product when the shopper is logged in but their account does not have access to the login-for-pricing price.
Parameters
$text (string) message text
product id (int) the product ID
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy.php · login_for_price() +2 more places
wp_easycart_low_stock_threshold
Filters the stock quantity at or below which a product or variant counts as low stock.
Parameters
$threshold (int) effective low stock threshold
$product_id (int) product ID, 0 when store-wide
$oiq_id (int) variant row ID, 0 for product-level stock
$context (object|array|null) the row the threshold was resolved from
Fires in inc/classes/core/ec_stock.php · wp_easycart_low_stock_threshold()
wp_easycart_option_cart_name
Filters the name an option prints with the customer’s choice in the cart, emails and orders.
Parameters
$name (string) The option set’s own name, else the one worked out from its label.
$row (object) The ec_option row.
$label (string) The label on the product page.
Fires in inc/classes/core/class-wp-easycart-option-names.php · raw()
wp_easycart_option_name_prompts
Filters the prompts taken off the start of an option label to make the option’s name.
Parameters
$prompts (string[]) Regular expressions without delimiters, matched case-insensitively.
Fires in inc/classes/core/class-wp-easycart-option-names.php · prompts()
wp_easycart_prior_price
Filters the lowest price in the 30 days before a reduction, for a product or one of its variants.
Parameters
$prior (float|null) The price, or null when unknown.
$product_id (int) The product id.
$from_now (bool) Whether it is an offer’s reduction (counted from today).
$variant_id (int) The variant id (0 for the product).
Fires in inc/classes/core/class-wp-easycart-price-history.php · prior_price() +1 more place
wp_easycart_prior_price_shown
Filters the lowest price of the last 30 days as the price note prints it.
Parameters
$amount (float) The amount shown.
$product (ec_product) The product.
$price (float) The price as recorded.
Fires in inc/classes/core/class-wp-easycart-price-history.php · shown()
wp_easycart_prior_price_strike_before_offer
Filters whether the struck price is the price before the offer, not the compare-at price, while an offer runs. Default on while the lowest price of the last 30 days shows.
Parameters
$strike (bool) Whether to strike the price before the offer.
Fires in inc/classes/core/class-wp-easycart-price-history.php · strike_before_offer()
wp_easycart_pro_option_list_limit PRO
Filters how many options the PRO product editor lists in its option pickers before showing a search box.
Parameters
$limit (int) Maximum options listed, default 200.
$kind The kind of option list being loaded.
Fires in admin/inc/wp_easycart_admin_products_pro.php · wp_easycart_pro_option_list()
wp_easycart_product_breadcrumbs_schema
Filters whether the Elementor product info widget prints breadcrumb schema markup.
Parameters
$show (bool) True when no SEO plugin is detected.
$product (object) The product.
$items (array) The breadcrumb items.
Fires in admin/elementor/modules/product-info/includes/class-wp-easycart-product-info.php · print_breadcrumb_schema()
wp_easycart_product_builder_ai_ready
Filters whether Write with AI on the Add product page can write. It answers after wp_easycart_admin_ai_ready.
Parameters
$out['ready'] (bool) Whether the site’s AI service is set up for text.
Fires in admin/inc/wp_easycart_admin_product_builder.php · ai_state()
wp_easycart_product_builder_ai_text
Filters the product description Write with AI returns on the Add product page. Return a string to answer without the site’s AI service; null lets WP EasyCart ask it.
Parameters
null (string|WP_Error|null) The text, or null.
$prompt (string) What the AI would be asked.
$facts (array) What the page knows about the product.
Fires in admin/inc/wp_easycart_admin_product_builder.php · describe()
wp_easycart_product_builder_kinds
Filters the product kinds the Add product page offers. Keep each kind’s id: it is saved with the product.
Parameters
$kinds (array) The kinds.
Fires in admin/inc/wp_easycart_admin_product_builder.php · kinds()
wp_easycart_product_builder_quick_min
Filters how many active products a store needs before the Add product page shows its Quick start (copy a recent product).
Parameters
self::QUICK_MIN (int) The number of products; at least 1.
Fires in admin/inc/wp_easycart_admin_product_builder.php · quick_min()
wp_easycart_product_builder_quick_start
Filters what the Add product page’s Quick start shows: the newest products to copy, the usual groups and how a product was last started.
Parameters
$out (array) The Quick start data.
Fires in admin/inc/wp_easycart_admin_product_builder.php · quick()
wp_easycart_product_builder_reviews_default
Filters whether customer reviews start on for a new product on the Add product page, and why.
Parameters
$out (array) on, why, total and with (products with reviews).
Fires in admin/inc/wp_easycart_admin_product_builder.php · reviews_default()
wp_easycart_product_builder_setup
Filters how an existing product is set up when the Add product page starts a new product from it (its kind, variation sets, modifiers, categories, tax, weight, stock and more; never its name, SKU or photos).
Parameters
$out (array) The setup, as the page reads it.
$row (object) The product row.
$pro (bool) Whether WP EasyCart PRO features are on.
Fires in admin/inc/wp_easycart_admin_product_builder.php · product_setup()
wp_easycart_product_builder_tax_codes
Filters the tax codes the Add product page suggests and finds for a tax service such as AvaTax.
Parameters
$out (array) The codes.
$tax['service'] (string) The tax service.
$q (string) The search text.
$name (string) The product name.
Fires in admin/inc/wp_easycart_admin_product_builder.php · tax_codes()
wp_easycart_product_cache_viewer
Filters the viewer details that vary the product cache key, for stores whose product queries differ per shopper.
Parameters
$viewer (array) manager, user_level and role_id.
Fires in inc/classes/core/ec_db.php · product_cache_viewer()
wp_easycart_product_details_add_to_cart_value
Filters the Add to Cart button label on product cards and the product buy area.
Parameters
$label (string) The button text.
$product_id (int) The product id.
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy-area.php · add_label() +13 more places
wp_easycart_product_details_allow_add_to_cart
Filters whether the add to cart form shows for a product that is out of stock.
Parameters
$allow (bool) False by default.
$product_id (int) The product id.
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy-area.php · render() +2 more places
wp_easycart_product_details_full_size
Filters the WordPress image size used for the large product image on product pages.
Parameters
$size (string) Image size name, default ‘large’.
Fires in design/layout/base-responsive-v3/ec_product.php +33 more places
wp_easycart_product_details_image_url_type Facebook & Instagram Tabs
Filters the URL of a product image saved as an external image URL.
Parameters
$url (string) The image URL.
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy.php · gallery_item() +28 more places
wp_easycart_product_details_list_price_display
Filters the HTML output of the product’s list (regular) price.
Parameters
$output (string) Price HTML.
$list_price (float) The list price.
Fires in inc/classes/core/ec_product.php · display_product_list_price()
wp_easycart_product_details_popup_thumbnail_image_url_type
Filters the URL of an external image shown in the product page popup thumbnails.
Parameters
$url (string) The image URL.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +1 more place
wp_easycart_product_details_price_display
Filters the HTML output of the product’s price.
Parameters
$output (string) Price HTML.
$price (float) The product price.
Fires in inc/classes/core/ec_product.php · display_price()
wp_easycart_product_details_price_post_num
Filters the price HTML after the price number has been added, before the subscription interval text.
Parameters
$output (string) Price HTML built so far.
$product_id (int) The product id.
$rand_id Random id that identifies this product display on the page.
Fires in inc/classes/core/ec_product.php · display_price()
wp_easycart_product_details_price_pre_num
Filters the price HTML just before the price number is added.
Parameters
$output (string) Price HTML built so far.
$product_id (int) The product id.
$rand_id Random id that identifies this product display on the page.
Fires in inc/classes/core/ec_product.php · display_price()
wp_easycart_product_details_show_cart_area
Filters whether the add to cart area (quantity and button) is shown on the product page or add to cart shortcode.
Parameters
$show_add_to_cart_area (bool) True by default.
Fires in design/layout/base-responsive-v3/ec_add_to_cart_shortcode.php +2 more places
wp_easycart_product_details_show_images
Filters whether the product image gallery is shown on the product page.
Parameters
$show (bool) True by default.
Fires in admin/elementor/modules/product-buy/widgets/class-wp-easycart-elementor-product-gallery-widget.php · render() +2 more places
wp_easycart_product_details_thumbnail_image_url_type
Filters the URL of an external image shown as a product page thumbnail.
Parameters
$url (string) The image URL.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +3 more places
wp_easycart_product_details_thumbnail_large_image_url_type
Filters the URL of an external image shown in the large popup thumbnail on the product page.
Parameters
$url (string) The image URL.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +1 more place
wp_easycart_product_details_thumbnail_size
Filters the WordPress image size used for product page thumbnails.
Parameters
$size (string) Image size name, default ‘medium’.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +7 more places
wp_easycart_product_draft_days
Filters how many days a new product nobody saved is kept. Add product opens the editor on a hidden draft; a daily task deletes drafts older than this.
Parameters
self::DAYS (int) Days, 7 by default.
Fires in inc/classes/core/class-wp-easycart-product-drafts.php · cleanup()
wp_easycart_product_force_select_options
Filters whether a product shows a Select Options link instead of an add to cart button in listings.
Parameters
$force (bool) False by default.
$product_id (int) The product id.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-card.php · action() +6 more places
wp_easycart_product_list_price_display
Filters the formatted list (regular) price text shown on product listings.
Parameters
$list_price (string) Formatted list price.
$list_price_raw The unformatted product list price.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-card.php · price_html() +14 more places
wp_easycart_product_lock_label
Filters the name shown for the service that manages a product, in the editor’s Managed by notices; WP EasyCart PRO names its plan groups here.
Parameters
'' (string) An empty string to use the built-in name.
$slug (string) Who manages the product.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · label()
wp_easycart_product_lock_sections
Filters the product editor sections that can be locked, and which fields each locks and keeps.
Parameters
$sections (array) Section => block fields, keep fields and columns.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · sections()
wp_easycart_product_lock_text
Filters the wording of a managed product’s notices: the cover over a locked section, the banner, and the message when a change is refused.
Parameters
$text (string) The sentence.
$by (string) Who manages the product.
'message' (string) Where it shows: cover, banner or message.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · message() +1 more place
wp_easycart_product_lock_url
Filters the address of the managing service’s own settings, linked as Open in … from a managed product’s notice; WP EasyCart PRO links a plan group’s editor.
Parameters
'' (string) An empty string for the built-in answer (the fulfillment provider’s dashboard, if it has one).
(string) $slug (string) Who manages the product.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · url()
wp_easycart_product_locked_fields
Filters which product fields are locked in the editor because another system manages the product.
Parameters
$fields (string[]) Locked field keys such as title, price, sku or stock. None by default.
$row (object) The product row.
$by (string) The managing provider slug from wp_easycart_product_managed_by.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · locked_fields()
wp_easycart_product_managed_by
Filters which provider manages a product, which locks its fields in the editor.
Parameters
$slug (string) Provider slug, such as square, or an empty string.
$row (object) The product row.
Fires in inc/classes/core/class-wp-easycart-product-lock.php · managed_by()
wp_easycart_product_price_data
Filters the data the product page prices its choices from, before it is printed as JavaScript.
Parameters
$data (array) The price data.
$product (ec_product) The product.
Fires in inc/classes/core/class-wp-easycart-product-pricing.php · data()
wp_easycart_product_price_display Tabs
Filters the formatted price text shown on product listings.
Parameters
$display (string) Formatted price.
$price The raw product price.
$product_id (int) The product id.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-card.php · price_html() +10 more places
wp_easycart_product_safety_applies
Filters whether product pages show the EU product safety details.
Parameters
$applies (bool) Whether they show.
$setting (string) The setting: ” (automatic), show or hide.
Fires in inc/classes/core/class-wp-easycart-product-safety.php · applies()
wp_easycart_product_safety_details
Filters the EU product safety details a product page shows. Nothing shows when the manufacturer, responsible person and warnings are all empty.
Parameters
$out (array) manufacturer, responsible, product and warnings.
$product_id (int) The product id.
Fires in inc/classes/core/class-wp-easycart-product-safety.php · details()
wp_easycart_product_schema
Filters the schema.org structured data built for a product.
Parameters
$data (array) Structured data for the product.
$product (object) The product.
Fires in inc/classes/core/class-wp-easycart-product-schema.php · build()
wp_easycart_product_schema_enabled
Filters whether product schema markup is output, either sitewide or for a single product.
Parameters
$on (bool) Value of the store’s product schema setting.
$product (object|null) The product, when checking one product.
Fires in inc/classes/core/class-wp-easycart-product-schema.php · enabled()
wp_easycart_product_schema_variant_limit
Filters the maximum number of variants included in a product’s schema markup.
Parameters
$limit (int) Variant limit, default VARIANT_LIMIT.
$product (object) The product.
Fires in inc/classes/core/class-wp-easycart-product-schema.php · variants()
wp_easycart_product_schema_variant_property
Filters the schema.org property name used to describe a variant option set.
Parameters
$found (string) The property matched from the option set name, or an empty string.
$set The option set being described.
Fires in inc/classes/core/class-wp-easycart-product-schema.php · variant_property()
wp_easycart_product_show_add_to_cart_button
Filters whether the add to cart button shows for a product in listings and quick view.
Parameters
$show (bool) True by default.
$product (object) The product.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-card.php · action() +10 more places
wp_easycart_show_card_savings
Filters whether store product cards print “You save” under a reduced price. Default the store’s setting.
Parameters
$on (bool) The store’s choice.
$product (ec_product|null) The product the card is for (null asks for the store’s choice).
Fires in wpeasycart.php · wp_easycart_card_savings_enabled()
wp_easycart_show_cpt_in_menu
Filters the show_in_menu setting when the store item post type is registered, so the post type can appear in the admin menu.
Parameters
$show_in_menu (bool|string) Default false.
Fires in wpeasycart.php · ec_create_post_type_menu()
wp_easycart_show_prior_price
Filters whether struck prices show the lowest price of the last 30 days. Default the store’s setting.
Parameters
$enabled (bool) Whether the note shows.
Fires in inc/classes/core/class-wp-easycart-price-history.php · enabled()
wp_easycart_show_product_not_found
Filters whether the product not found notice is shown; by default only store managers and the Elementor editor see it.
Parameters
$show (bool) True for administrators, store managers and the Elementor editor.
Fires in wpeasycart.php · wp_easycart_print_product_not_found()
wp_easycart_stock_notify_batch_size PRO
Filters how many back-in-stock subscribers are notified per batch for a product.
Parameters
$batch_size (int) Subscribers per batch, default 100.
$product_id (int) Product id.
Fires in admin/inc/wp_easycart_admin_products_pro.php · wp_easycart_pro_stock_notify_batch()
wp_easycart_stock_notify_subscriber_page PRO
Filters how many back-in-stock subscribers are listed per page on a product.
Parameters
$per_page (int) Rows per page.
$product_id (int) Product id.
Fires in admin/inc/wp_easycart_admin_products_pro.php · print_notify_subscriber_table()
wp_easycart_swatch_image_url
Filters the image address an option swatch shows.
Parameters
$found (string) The address chosen.
$url (string) The address saved on the choice.
$px (int) The swatch size in pixels.
Fires in inc/classes/core/ec_optionitem.php · swatch_image_url()
wp_easycart_tabs_block_types Tabs
Filters the content block types the tab designer offers and the product page draws; add a wp_easycart_tabs_block object under the key its type() returns, or unset one. A saved block whose type is gone draws nothing.
Parameters
self::$types (array) Type key => wp_easycart_tabs_block object; the 36 block types that ship with Tabs by default. An entry whose key does not match its type() is dropped.
Fires in includes/blocks/class-wp-easycart-tabs-blocks.php · types()
wp_easycart_tabs_can_manage Tabs
Filters whether the store may edit product tabs.
Parameters
$can (bool) True with an active Premium license.
Fires in includes/class-wp-easycart-tabs.php · can_manage()
wp_easycart_tabs_content Tabs
Filters the content of a product tab before it is shown on the storefront.
Parameters
$content (string) Tab content.
$item (array) The tab.
Fires in includes/class-wp-easycart-tabs-layout.php · raw_html()
wp_easycart_tabs_conversion_map Tabs
Filters how an older Text, FAQ or Downloads tab becomes a block when it is opened in or saved from the tab designer: which block each tab type turns into and which of that block’s fields take its content.
Parameters
$map (array) Old tab type (text, faq, downloads) => block (the block type), keys (old field => block field) and data (fixed values for the new block). By default each becomes a Text, FAQ or Downloads block.
Fires in admin/class-wp-easycart-tabs-designer.php · conversion_map()
wp_easycart_tabs_pair_card Tabs
Filters one product card in a Pairs well with block before it is drawn; return a card without a url, or a non-array, to leave that product out.
Parameters
$card (array) Keys name and url (plain text), image and price (HTML, already escaped).
$row (object) The ec_product row of the paired product.
Fires in includes/blocks/types/class-wp-easycart-tabs-block-pairs.php · cards()
wp_easycart_tabs_product_values Tabs
Filters the product values that {placeholders} in tab blocks are filled with, such as {sku} and {weight}; add a key to make a new placeholder (lowercase letters only).
Parameters
$out (array) Key => text: sku, name, brand, price, weight, width, length, height, size, stock and gtin, read from the product; empty when the product is not found.
$product_id (int) The product id.
Fires in includes/blocks/class-wp-easycart-tabs-blocks.php · values_for()
wp_easycart_tabs_repeats_batch Tabs
Filters how many products one step of a Repeated tabs merge handles; the value is kept between 1 and 500.
Parameters
self::BATCH (int) Products per step, default 100.
Fires in includes/class-wp-easycart-tabs-repeats.php · batch_size()
wp_easycart_tabs_repeats_list_limit Tabs
Filters the most products a shared tab made by Repeated tabs can list as its chosen products; a version on more products than this must be shown on every product instead.
Parameters
self::LIST_MAX (int) Most products, default 5000 (the shared tab’s list column holds about 9,000 ids).
Fires in includes/class-wp-easycart-tabs-repeats.php · list_limit()
wp_easycart_tabs_repeats_scan_max Tabs
Filters the most copies of one tab name a Repeated tabs review reads to list its versions; past it the review says only the first copies were read, and a merge still covers every product.
Parameters
self::SCAN_MAX (int) Most rows read, default 50000.
Fires in includes/class-wp-easycart-tabs-repeats.php · scan_max()
wp_easycart_tabs_starters Tabs
Filters the starting points offered for a new shared tab in the Start from list under Extensions › Tabs, such as Shipping & returns, Size guide and FAQ; add, change or remove one by id.
Parameters
$list (array) Id => either title, icon, template, tab and optionally only (a tab of an industry template by template id and tab index, optionally limited to some block types), or title, icon, summary and blocks (its own blocks).
Fires in includes/class-wp-easycart-tabs-templates.php · starter_list()
wp_easycart_tabs_templates Tabs
Filters the industry templates offered by Start from a template in the tab designer, whose tabs are also starting points for shared tabs; add one with its own id, change one or unset one. Blank always stays last.
Parameters
self::files() (array) Id => id, name, icon, blurb, category, style and tabs; each tab has title, icon, summary, count and blocks, each block type and data. By default the fourteen industry templates and Blank.
Fires in includes/class-wp-easycart-tabs-templates.php · templates()
wp_easycart_unit_price_bases
Filters the bases a unit price can be shown per.
Parameters
$bases (array) Key => array( quantity, unit token ).
Fires in inc/classes/core/class-wp-easycart-unit-price.php · bases()
wp_easycart_unit_price_default_base
Filters the base a unit price is shown per when the product leaves it on automatic. An unknown base is treated as none.
Parameters
$base (string) The base key.
$unit (string) The unit token.
Fires in inc/classes/core/class-wp-easycart-unit-price.php · default_base()
wp_easycart_unit_price_text
Filters the unit price shown beside a product’s price, such as “€13.27 / kg”. An empty answer shows nothing.
Parameters
$text (string) The unit price text.
$product (object) The product.
$amount (float) The unit price.
$setup (array) measure, unit, base, quantity and base_unit.
Fires in inc/classes/core/class-wp-easycart-unit-price.php · note_html()
wp_easycart_unit_price_units
Filters the units a product’s contents can be given in.
Parameters
$units (array) Token => array( dimension, size in g, ml, cm, m² or item, label ).
Fires in inc/classes/core/class-wp-easycart-unit-price.php · units()
wp_easycart_unlisted_sql
Filters the SQL that store product lists, live search and the Elementor product listing widgets add to leave out products that sell another way: by default a WP EasyCart PRO plan group’s products, which sell from its pricing table while their own pages still work.
Parameters
$sql (string) AND alias.plan_tier_id = 0 by default; return SQL starting with AND, or an empty string to leave nothing out.
$alias (string) The ec_product table’s alias in the query.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · wp_easycart_unlisted_sql()
wp_easycart_update_stock_quantity PRO
Filters the stock quantity change applied to a product when its stock is updated or restocked.
Parameters
$quantity Quantity to apply.
$product_id (int) Product id.
Fires in inc/classes/core/ec_db.php · update_product_stock() +1 more place
wp_easycart_variant_matrix_limit PRO
Filters the maximum number of variants a single product may have.
Parameters
$limit (int) Default 20000.
Fires in inc/classes/core/class-wp-easycart-variants.php · limit() +1 more place
wp_easycart_variant_rebuild_limit
Filters how many products have their variants rebuilt per run after an option set changes.
Parameters
$limit (int) Default 200.
$option_ids (int[]) The option sets that changed.
Fires in inc/classes/core/class-wp-easycart-variants.php · rebuild_for_options()
wpeasycart_basic_optionitem
Filters an option item row loaded from the database before it is cached.
Parameters
$optionitem (object) Option item database row (ec_optionitem), or null if not found.
Fires in inc/classes/core/ec_options.php · get_optionitem()
wpeasycart_basic_optionitems
Filters the list of option item rows loaded for an option set before they are cached.
Parameters
$optionitems (array) Option item database rows for the option set, ordered by optionitem_order.
Fires in inc/classes/core/ec_options.php · get_optionitems() +1 more place
wpeasycart_db_get_all_advanced_optionitems_results
Filters the advanced option item rows loaded from the database before they are cached.
Parameters
$optionitems (array) Advanced option item database rows.
Fires in inc/classes/core/ec_db.php · get_all_advanced_optionitems() +1 more place
wpeasycart_description_content_initally_active
Filters whether the description tab panel starts hidden on the product details page; a value containing display:none hides it, an empty string shows it.
Parameters
$active (string) Empty string by default, which shows the description panel.
$product_id (int) Product id.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +1 more place
wpeasycart_description_initally_active
Filters the CSS class that marks the description tab active on the product details page.
Parameters
$class (string) Active class name; defaults to ‘ec_active’.
$product_id (int) Product id.
Fires in admin/elementor/modules/product-info/widgets/class-wp-easycart-elementor-product-info-tabs-widget.php · render() +2 more places
wpeasycart_search_terms
Filters the list of database columns searched by the store product search.
Parameters
$search_terms (array) Column names searched, such as product.title.
Fires in inc/classes/core/ec_product_filter.php · get_search_where() +1 more place

Categories, menus and manufacturers

Grouped by what they are about

5 filters

wp_easycart_category_ideas
Filters the smart category ideas offered for rule-based categories. The list is cut to the most it shows and kept for ten minutes.
Parameters
$ideas (array) Each: id, name, why, icon, rules, count, sample, needs and season.
Fires in admin/inc/wp_easycart_admin_category_ideas.php · ideas()
wp_easycart_category_ideas_gift_season
Filters whether the holiday gift guide category idea is in season.
Parameters
$season (bool) True from November 1 to December 24.
Fires in admin/inc/wp_easycart_admin_category_ideas.php · gift_season()
wp_easycart_smart_categories_enabled PRO
Filters whether smart categories are enabled.
Parameters
$enabled (bool) Default is whether the store is licensed for them.
Fires in inc/classes/core/ec_smart_categories.php · is_enabled()
wp_easycart_smart_categories_flush_cache PRO
Filters whether product and category caches are flushed after smart categories sync; return false to handle invalidation yourself.
Parameters
$flush (bool) Default true.
Fires in inc/classes/core/ec_smart_categories.php · flush_caches()
wp_easycart_smart_categories_licensed PRO
Filters whether the store’s license allows smart categories.
Parameters
$licensed (bool) Whether the license is active.
Fires in inc/classes/core/ec_smart_categories.php · licensed()

Orders

Grouped by what they are about

94 filters

wp_easycart_admin_duplicate_order_original
Filters the new order row before it is inserted when an admin duplicates an existing order; kept for backward compatibility.
Parameters
$new (array) Column values for the duplicate order row about to be inserted.
Fires in admin/inc/wp_easycart_admin_order_table.php · ecv2_order_duplicate_create()
wp_easycart_admin_order_address_editor
Filters the data the order screen’s address editor uses, before it is printed as JSON on the page.
Parameters
$data (array) layouts, nozip, regions (ISO code => list of [ code, name ]), region and postal words (by ISO code), and choose.
Fires in admin/template/orders/orders/order-edit-address.php
wp_easycart_admin_order_details_add_new_line_action
Filters the JavaScript function name called when the button to add a new line item is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_billing_edit_action
Filters the JavaScript function name called when the button to edit the billing address is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_delete_line_action
Filters the JavaScript function name called when the button to delete an order line item is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-item.php
wp_easycart_admin_order_details_edit_line_action
Filters the JavaScript function name called when the button to edit an order line item is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-item.php
wp_easycart_admin_order_details_order_bottom_edit_action
Filters the JavaScript function name called when the button to edit the order details section is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_order_date_edit_action
Filters the JavaScript function name called when the button to edit the order date is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_order_edit_action
Filters the JavaScript function name called when the button to edit the customer details is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_refund_action
Filters the JavaScript function name called when the refund button is clicked on the admin order details payment card; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_shipping_edit_action
Filters the JavaScript function name called when the button to edit the shipping address is clicked on the admin order details screen; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_details_totals_edit_action
Filters the JavaScript function name called when the button to edit order totals is clicked on the admin order details payment card; Pro replaces the default upgrade prompt.
Parameters
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_fields_card_always
Filters whether the custom checkout fields card is shown on the admin order screen even when the order has no field values.
Parameters
$show (bool) False by default; true shows the card when empty.
$order (object) Order row.
Fires in inc/classes/core/class-wp-easycart-order-fields.php · admin_card()
wp_easycart_admin_order_gift_editable
Filters whether the gift order card on the admin order screen shows an Edit button.
Parameters
$editable (bool) False by default; true shows the Edit button.
$order_id (int) ID of the order.
Fires in inc/classes/core/class-wp-easycart-order-gift.php · admin_card_html()
wp_easycart_admin_order_giftcard_refunds
Filters whether the order screen’s Refund button also shows for an order with no money left to refund but gift card balance that can still go back onto its card. WP EasyCart PRO returns true.
Parameters
false (bool) Offer refunds to the gift card, false by default.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_admin_order_history_entry PRO
Filters how a custom order history log entry is displayed on the admin order timeline; return an array to supply the entry, or null to leave it unhandled.
Parameters
$entry (array|null) Entry data supplied by an extension; null by default.
$order_log_key (string) Log key identifying the type of history entry.
$meta (array) Metadata saved with the history entry.
$item (object) The order log row.
Fires in admin/inc/wp_easycart_admin_orders_pro.php · extension_history_entry()
wp_easycart_admin_order_records_deposits
Filters whether the admin order screen can record a deposit or payment taken outside the store. WP EasyCart PRO answers true for its Record payment; otherwise the button shows locked.
Parameters
false (bool) Whether payments can be recorded.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_screen.php · records_part() +1 more place
wp_easycart_admin_order_timeline_labels PRO
Filters the labels used for order timeline events in the admin fulfillment cell.
Parameters
$labels (array) Order log key => label.
$order_id (int) ID of the order.
Fires in admin/inc/wp_easycart_admin_orders_pro_v2.php
wp_easycart_admin_orders_details_basic_fields_list
Filters the list of basic field definitions on the admin order details form.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and required.
Fires in admin/inc/wp_easycart_admin_details_orders.php · basic_fields()
wp_easycart_admin_orders_details_shipment_fields_list
Filters the list of shipment field definitions on the admin order details form.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and required.
Fires in admin/inc/wp_easycart_admin_details_orders.php · shipment_fields()
wp_easycart_business_details_lines
Filters the business details lines printed on receipts and invoices.
Parameters
$lines (array) The lines.
Fires in inc/classes/core/class-wp-easycart-business.php · lines()
wp_easycart_buyer_note_blocked_shortcodes
Filters the shortcodes that never run inside a product’s notes for buyers (store pages such as the account, cart and store; storefront shortcodes too in an email).
Parameters
$tags (string[]) Shortcode names.
$context (string) confirmation, email or account.
Fires in inc/classes/core/class-wp-easycart-buyer-notes.php · blocked()
wp_easycart_buyer_note_stand_in
Filters what a blocked shortcode shows inside a note for buyers, such as the link to My Account that stands in for [ec_account]. An empty string leaves it out.
Parameters
$html (string) The HTML.
$tag (string) The shortcode name.
$context (string) confirmation, email or account.
Fires in inc/classes/core/class-wp-easycart-buyer-notes.php · stand_in_html()
wp_easycart_cancel_restock
Filters whether a cancelled order’s stock goes back into inventory; return false to leave it out. Also asked with order id 0 to word the Cancel this order? confirmation.
Parameters
$on (bool) The Put stock back when an order is cancelled setting (Settings › Products › Inventory), on by default.
(int) $order_id (int) The order id, or 0 when asked for the store as a whole.
Fires in inc/classes/core/class-wp-easycart-order-returns.php · restock_on_cancel()
wp_easycart_document_builtins
Filters the built-in document profiles for a document type.
Parameters
$builtins (array) Built-in profile definitions.
$type (string) The document type.
Fires in inc/classes/core/class-wp-easycart-documents.php · builtins()
wp_easycart_document_fields
Filters the fields a document type can show or hide.
Parameters
$fields (array) Field key => settings such as group, label and default.
$type (string) The document type.
Fires in inc/classes/core/class-wp-easycart-documents.php · fields()
wp_easycart_document_order_profile
Filters which document profile is used for an order when none is specified; PRO uses it for rules and gift orders.
Parameters
$value (string) Profile id; empty by default.
$type (string) The document type.
$order_id (int) The order id.
Fires in inc/classes/core/class-wp-easycart-documents.php · resolve()
wp_easycart_document_profile
Filters the field settings of a document profile.
Parameters
$values (array) Field key => on/off value for the profile.
$type (string) The document type.
$id (string) The profile id.
Fires in inc/classes/core/class-wp-easycart-documents.php · profile()
wp_easycart_document_render_{type}
Filters the HTML rendered for a document type that renders through its own sender, such as the receipt and shipped emails. {type} is the document type.
Parameters
$value (string) Rendered HTML; empty by default.
$order_id (int) The order id.
$fields (array) The resolved document fields.
$args (array) Render arguments.
Fires in inc/classes/core/class-wp-easycart-documents.php · render()
wp_easycart_document_rule_match PRO
Filters the document rule matched for an order (PRO), letting code replace or clear the matched rule.
Parameters
$found (array|null) The matched rule, or null.
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_document_rules_pro.php · match()
wp_easycart_document_types
Filters the list of document types shown in Settings > Documents.
Parameters
$types (array) Document type => settings.
Fires in inc/classes/core/class-wp-easycart-documents.php · types()
wp_easycart_documents_pro
Filters whether the store gets more than one profile per document (WP EasyCart PRO, licensed).
Parameters
$value (bool) Whether PRO document profiles are enabled; false by default.
Fires in inc/classes/core/class-wp-easycart-documents.php · pro_enabled()
wp_easycart_documents_pro_licensed PRO
Filters whether the PRO documents feature is licensed.
Parameters
$licensed (bool) Whether the WP EasyCart license is valid.
Fires in inc/classes/core/wp_easycart_documents_pro.php · licensed()
wp_easycart_ecv2_create_label_action
Runs on the order details Fulfill panel with a placeholder value; the return value is not used, so it only gives listeners a hook point.
Parameters
$action (string) The string show_pro_required.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_ecv2_format_phone
Filters a phone number’s display text and tel: link on the order details screen.
Parameters
$phone (array) display (formatted text) and href (tel: link).
$raw (string) The phone number as stored.
$country (string) The country used to format it.
Fires in admin/inc/wp_easycart_admin_details_orders.php · wp_easycart_format_phone()
wp_easycart_ecv2_order_details_payment_fields_list
Filters the fields in the order details payment area (gift card and coupon used).
Parameters
$fields (array) List of field definitions with name, type, label, required, validation_type and value.
Fires in admin/inc/wp_easycart_admin_details_orders.php · payment_fields()
wp_easycart_ecv2_order_duplicate_payload
Filters the data sent to the Duplicate order dialog when an order is chosen for duplication.
Parameters
$payload (array) Order id, date, status, customer, ship to, items, currency sample, totals, shipping and customer notes flag.
$order (object) The original order.
Fires in admin/inc/wp_easycart_admin_order_table.php · ecv2_order_duplicate_get()
wp_easycart_ecv2_order_duplicate_row
Filters the new order row before a duplicated order is inserted into the database.
Parameters
$new (array) The new order row values.
$original (object) The original order.
$_POST (array) The submitted form data.
Fires in admin/inc/wp_easycart_admin_order_table.php · ecv2_order_duplicate_create()
wp_easycart_ecv2_order_filter_callback_where
Filters the SQL WHERE clause for a custom order list filter that WP EasyCart does not handle itself.
Parameters
$value (string) SQL condition; empty by default.
$filter_index (int) Index of the filter.
$value (string) The chosen filter value.
$this The order table object.
Fires in admin/inc/wp_easycart_admin_order_table.php · get_filter_callback_where()
wp_easycart_ecv2_order_flags
Filters the flags (warnings and notices) shown on an order’s details screen.
Parameters
$flags (array) Each flag with kind, title and text.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_screen.php · flags()
wp_easycart_ecv2_order_fulfillment_state
Filters the fulfillment state of an order shown on the order details screen.
Parameters
$state (string) The fulfillment state.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_screen.php · fulfillment()
wp_easycart_ecv2_order_health_filter_where
Filters the SQL WHERE clause for an order list health filter that WP EasyCart does not handle itself.
Parameters
$value (string) SQL condition; empty by default.
$filter_key (string) The health filter key.
$this The order table object.
Fires in admin/inc/wp_easycart_admin_order_table.php · get_health_filter_where()
wp_easycart_ecv2_order_health_stats
Filters the health stats tiles shown above the orders list.
Parameters
$health_stats (array) List of stats with label, value, filter_value, color and group.
$this->health_data (array) The counts the stats were built from.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_ecv2_order_insight_chips PRO
Filters the insight chips shown in the header of an order’s details screen (PRO).
Parameters
$insights (array) List of chips with icon and label.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · print_header_chips()
wp_easycart_ecv2_order_next_steps
Filters the possible next steps for an order; the step with the lowest priority number is shown as the next step.
Parameters
$steps (array) Each step with key, priority (10 review payment, 20 refund due, 30 send invoice, 40 collect a balance, 45 mark picked up, 50 fulfill), label, onclick and icon.
$order (object) The order row.
$context (array) fulfillment, payment, local_pickup, store_open and flags.
Fires in admin/inc/wp_easycart_admin_order_screen.php · next_step()
wp_easycart_ecv2_order_pdf_download_available PRO
Filters whether a PDF receipt or invoice can be downloaded for an order (PRO).
Parameters
$enabled (bool) Whether the PDF download is available.
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · pdf_download_available()
wp_easycart_ecv2_order_quick_edit_payload
Filters the data returned to the orders list quick edit form.
Parameters
$payload (array) Quick edit values such as carrier, tracking and edit_url.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_table.php · ecv2_order_quick_edit_get()
wp_easycart_ecv2_order_row_menu_actions
Filters the actions in each row’s menu in the orders list.
Parameters
$row_actions (array) List of actions with label, name, icon, href or action, and optional danger and confirm settings.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_ecv2_order_saved_views
Filters the saved views shown as filter pills above the orders list (PRO).
Parameters
$value (array) List of saved views, each with id, label and params; empty by default.
Fires in admin/inc/wp_easycart_admin_order_table.php · print_saved_views_bar()
wp_easycart_ecv2_order_spreadsheet_columns
Filters the columns of the orders list spreadsheet view (PRO).
Parameters
$value (array) Spreadsheet columns; empty in the free plugin.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_ecv2_order_steps
Filters the progress steps shown for an order on the order details screen.
Parameters
$steps (array) The order’s steps, each with key, label, sub and state.
$order (object) The order row.
$ctx (array) Context about the order’s payment, fulfillment and pickup.
Fires in admin/inc/wp_easycart_admin_order_screen.php · steps() +3 more places
wp_easycart_ecv2_order_view_modes
Filters the view modes available in the orders list; PRO adds spreadsheet.
Parameters
$modes (array) View mode slugs; table and card by default.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_order_details_discount_display
Filters whether the order discount total row is shown on the order confirmation page, the order’s page in My Account, the printed receipt and invoices.
Parameters
$show (bool) true by default
$order the order
Fires in design/layout/base-responsive-v3/ec_account_order_details.php +4 more places
wp_easycart_order_details_promo_code_display
Filters whether the promo code row is shown on the order confirmation page and the order’s page in My Account.
Parameters
$show (bool) true by default
$order the order
Fires in design/layout/base-responsive-v3/ec_account_order_details.php +1 more place
wp_easycart_order_details_show_discount_total
Filters whether the line total discount is shown for order lines on the printed receipt.
Parameters
$show (bool) true by default
Fires in design/layout/base-responsive-v3/ec_account_print_receipt.php +4 more places
wp_easycart_order_details_show_discount_unit
Filters whether the per-unit discount is shown for order lines on the printed receipt.
Parameters
$show (bool) true by default
Fires in design/layout/base-responsive-v3/ec_account_print_receipt.php +4 more places
wp_easycart_order_device
Filters the device type recorded on an order when it is inserted.
Parameters
$device (string) device
$order_id (int) the order ID
$kind (string) checkout, staff or renewal
Fires in inc/classes/core/class-wp-easycart-order-ledger.php · order_inserted()
wp_easycart_order_display_grand_total PRO
Filters the grand total shown on order invoices and order displays.
Parameters
$grand_total (float) the order grand total
$order the order
Fires in design/layout/base-responsive-v3/ec_invoice_email.php +4 more places
wp_easycart_order_display_sub_total PRO
Filters the sub total shown on order invoices and order displays, after discounts are subtracted per settings.
Parameters
$sub_total (float) the sub total to display
$order_sub_total (float) the order’s stored sub total
$order_items the order line items
Fires in design/layout/base-responsive-v3/ec_invoice_pdf.php +3 more places
wp_easycart_order_field_rows
Filters the rows of checkout field answers shown for an order.
Parameters
$rows (array[]) the field rows
$order_id (int) the order ID
$surface (string) where the rows are shown
$source (int|object) what was asked for
Fires in inc/classes/core/class-wp-easycart-order-fields.php · rows()
wp_easycart_order_fulfillment_state
Filters the fulfillment state calculated for an order, letting fulfillment extensions add their own part.
Parameters
$out (array) the fulfillment state
$order_id (int) the order ID
Fires in inc/classes/core/class-wp-easycart-fulfillment.php · state()
wp_easycart_order_line_fulfillment_data
Filters the fulfillment data stamped on an order line when it is inserted: variant ID, fulfillment provider and unit cost.
Parameters
$data (array) optionitemquantity_id, fulfillment_provider and unit_cost (float or null)
$line (object) the line as inserted
$hint (object|null) the cart line, when there is one
Fires in inc/classes/core/class-wp-easycart-fulfillment.php · stamp_line()
wp_easycart_order_package_actions
Filters the action buttons shown on a package row on the admin order screen.
Parameters
$actions (array) key => array with label, onclick or url or attrs, primary and target
$package (object) the package; shipment_id is 0 while the order’s packages are not saved yet
$order (object) the order row
Fires in admin/inc/wp_easycart_admin_packages.php · package_row_html()
wp_easycart_order_pay_links
Filters the list of extra payment links shown on the order pay page.
Parameters
$links (array) Links to show, empty by default.
$order (object) The order being paid.
Fires in design/layout/base-responsive-v3/ec_order_pay.php
wp_easycart_order_shipped_status
Filters the order status id the admin order screen applies when you fulfill an order (Mark as shipped).
Parameters
$status_id (int) Order status id, default 2.
Fires in admin/inc/wp_easycart_admin_order_screen.php · shipped_status_id()
wp_easycart_order_status_defaults
Filters the built-in order status names and their labels.
Parameters
$names (array) Status id => array( English name => label ).
Fires in inc/classes/core/class-wp-easycart-order-statuses.php · defaults()
wp_easycart_pdf_document_filename PRO
Filters the file name of a generated PDF document such as a packing slip or invoice.
Parameters
$name (string) File name, such as packing-slip-1042.pdf.
$type (string) Document type.
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · document_filename()
wp_easycart_pdf_document_html PRO
Filters the HTML of a PDF document before it is turned into a PDF.
Parameters
$html (string) Document HTML.
$type (string) Document type.
$order_id (int) The order id.
$args (array) Document arguments.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · render_document_html()
wp_easycart_pdf_receipt_available PRO
Filters whether the PDF receipt feature is available on this store.
Parameters
$available (bool) True when the store has a valid license.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · is_available()
wp_easycart_pdf_receipt_dompdf_options PRO
Filters the dompdf options used to render a PDF receipt.
Parameters
$settings (array) dompdf option setter method name => value.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · render_pdf()
wp_easycart_pdf_receipt_filename PRO
Filters the file name of the PDF receipt.
Parameters
$name (string) File name built from the pattern, with order id and date.
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · filename()
wp_easycart_pdf_receipt_header_html PRO
Filters the header HTML block (business details, order number and date) at the top of the PDF receipt or invoice.
Parameters
$head (string) Header HTML.
$order (object) The order.
Fires in design/layout/base-responsive-v3/ec_invoice_pdf.php +1 more place
wp_easycart_pdf_receipt_html PRO
Filters the full HTML of the PDF receipt before it is rendered to PDF.
Parameters
$html (string) Receipt HTML.
$order_id (int) The order id.
$order (object) The order.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · render_document_html() +1 more place
wp_easycart_pdf_receipt_image_src PRO
Filters the local file path or URL used for each image in the PDF receipt; return an empty string to drop the image.
Parameters
$resolved (string) The resolved image source.
$src (string) The original image src in the HTML.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · localize_images()
wp_easycart_pdf_receipt_min_memory PRO
Filters the minimum memory limit required before a PDF receipt is generated; return 0 to skip the check.
Parameters
$floor (int) Minimum memory in bytes, default MIN_MEMORY.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · memory_error()
wp_easycart_pdf_receipt_normalized_html PRO
Filters the PDF receipt HTML after its layout has been normalized for the PDF engine.
Parameters
$html (string) Normalized HTML.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · normalize_layout()
wp_easycart_pdf_receipt_paper PRO
Filters the paper size of the PDF receipt.
Parameters
$paper (string) letter or a4, chosen from the site locale by default.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · paper_size()
wp_easycart_pdf_receipt_template PRO
Filters the template file path used to build the PDF receipt.
Parameters
$path (string) Absolute path to the template file.
Fires in inc/classes/core/wp_easycart_pdf_receipt.php · template_path()
wp_easycart_pdf_receipt_title PRO
Filters the heading text (Receipt or Invoice) shown on the PDF receipt.
Parameters
$title (string) The heading text.
$order (object) The order.
Fires in design/layout/base-responsive-v3/ec_invoice_pdf.php +1 more place
wp_easycart_show_payment_pending_notice
Filters whether an order that is not approved yet says its payment is still being processed, on the receipt email, the order confirmation page and the order’s page in My Account.
Parameters
$show (bool) The Payment pending notice setting.
$order (object|null) The order.
Fires in wpeasycart.php · wp_easycart_show_payment_pending_notice()
wp_easycart_store_note
Filters a store-wide note for buyers as saved (Settings > Documents > Notes for buyers), before it is checked for content.
Parameters
$note (string) The note’s HTML.
$place (string) confirmation, email or account.
Fires in inc/classes/core/class-wp-easycart-store-notes.php · note()
wp_easycart_store_note_applies
Filters whether a store-wide note for buyers shows for an order, after its Show on choice is applied.
Parameters
$show (bool) Whether it shows.
$order_id (int) The order id.
$place (string) confirmation, email or account.
$when (string) all, downloads, members or ships.
Fires in inc/classes/core/class-wp-easycart-store-notes.php · applies()
wp_easycart_store_note_html
Filters the finished HTML of a store-wide note for buyers for one order.
Parameters
$html (string) The note.
$order_id (int) The order id.
$place (string) confirmation, email or account.
Fires in inc/classes/core/class-wp-easycart-store-notes.php · html()
wp_easycart_success_page_facts
Filters the order details listed on the order confirmation page, such as the date, payment, shipping method and email.
Parameters
$facts (array[]) Each: key (date, payment, shipping, email, coupon, giftcard, vat_number or notes), label and value as plain text.
$order (ec_orderdisplay) The order.
Fires in inc/classes/core/class-wp-easycart-order-confirmation.php · facts()
wp_easycart_success_page_lines
Filters the items listed on the order confirmation page.
Parameters
$lines (array[]) Each line: id, title, sku, options, quantity, total and image.
$order (ec_orderdisplay) The order.
Fires in inc/classes/core/class-wp-easycart-order-confirmation.php · lines()
wp_easycart_success_page_summary
Filters whether the order confirmation page shows the order’s items, totals, details and addresses under the thank-you card; the Elementor Order Confirmation widget returns false because it draws its own.
Parameters
true (bool) Show it, true by default.
$order (ec_orderdisplay) The order.
Fires in inc/classes/core/class-wp-easycart-order-confirmation.php · enabled()
wp_easycart_success_page_totals
Filters the totals rows on the order confirmation page, from Subtotal to Order Total.
Parameters
$rows (array[]) Each row: key (subtotal, tip, shipping, tax, offer, discount, duty, vat, gst, pst, hst, fee, refund or total), label and amount as plain text.
$order (ec_orderdisplay) The order.
Fires in inc/classes/core/class-wp-easycart-order-confirmation.php · totals()
wp_easycart_withdrawal_applies
Filters whether the EU withdrawal button applies to an order at all; whether its period is still open is then worked out line by line. Not asked while the button is off.
Parameters
$applies (bool) True unless the order is a draft, an unpaid or failed attempt, refunded or cancelled, a subscription renewal, or (with Offer it on set to Orders to the EU and the EEA) billed and shipped outside those countries. An order with no country gets it.
$order (object) The ec_order row.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · applies()
wp_easycart_withdrawal_countries
Filters the countries whose orders get the EU withdrawal button when Offer it on is Orders to the EU and the EEA. The same list decides whether the store itself is in the EU, which switches the button on when the setting is first created.
Parameters
$list (string[]) ISO country codes, by default the 27 EU countries (Greece as GR and EL) plus Iceland, Liechtenstein and Norway.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · eu_countries()
wp_easycart_withdrawal_enabled
Filters whether the EU withdrawal button is on. Asked only once the database update that adds withdrawal statements has run; before that the button is off.
Parameters
$on (bool) The Withdrawal button setting under Settings › Checkout › Withdrawal button (EU). Its first value is on for a store in the EU or the EEA and off for other stores.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · enabled()
wp_easycart_withdrawal_line_exempt
Filters whether an order line has no right of withdrawal (made to order, perishable, sealed hygiene goods and so on); return true to leave it out of the withdrawal form.
Parameters
$exempt (bool) The product’s No right of withdrawal switch in Product Behaviors, false by default.
$row (object) The order line: ec_orderdetail columns plus no_withdrawal.
$order (object) The ec_order row.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · window()
wp_easycart_withdrawal_order_dates
Filters when an order was placed, shipped and delivered, the dates its EU withdrawal period counts from.
Parameters
$dates (array) Keys ordered, shipped and delivered (Unix times, 0 when not known) and all_shipped (bool: every outgoing package has left).
$order (object) The ec_order row.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · order_dates()
wp_easycart_withdrawal_settings
Filters the EU withdrawal button’s settings. A days value below 14 is raised back to 14.
Parameters
$settings (array) Keys scope (eu or all), days (14 to 365), start (delivered, shipped or ordered: when the days start for items that ship), allowance (days allowed for delivery after shipping when no delivery is recorded, 0 to 60) and footer (bool: the button at the foot of every page).
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · settings()
wp_easycart_withdrawal_window
Filters an order’s EU withdrawal period line by line, which the withdrawal form, the buttons, the emails and each saved statement read.
Parameters
$window (array) Keys order_id, lines (each with id, product_id, title, options, quantity, available, withdrawn, ships, start, deadline, exempt and state: open, exempt, withdrawn, refunded or closed), open (any line open), deadline (the latest open line’s, 0 while one has not started), pending, withdrawn (a statement covers the whole order) and dates.
$order (object) The ec_order row.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · window()

Customers and accounts

Grouped by what they are about

112 filters

wp_easycart_account_activate_account_link
Filters the URL of the account page’s activate_account screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=activate_account query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_billing_information_link
Filters the URL of the account page’s billing_information screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=billing_information query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_dashboard_link
Filters the URL of the account page’s dashboard screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=dashboard query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_downloads_link
Filters the URL of the account page’s Downloads screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=downloads query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_forgot_password_link
Filters the URL of the account page’s forgot_password screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=forgot_password query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_link
Filters the base account page URL returned by the account links helper when no specific account screen is requested.
Parameters
$url (string) Account page URL.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_list_per_page
Filters how many items a page of a My Account list shows. Default 10; the result is kept between 1 and 100.
Parameters
$per_page (int) Items per page (10).
$name (string) The list: orders or downloads.
Fires in inc/classes/core/class-wp-easycart-account-lists.php · per_page()
wp_easycart_account_login_link
Filters the URL of the account page’s login screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=login query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_logout_link
Filters the URL of the account page’s logout screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=logout query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_logout_redirect_url
Filters the URL the shopper is redirected to after logging out of their account.
Parameters
$url (string) Redirect URL; defaults to the account login page.
Fires in inc/classes/account/ec_accountpage.php · process_logout()
wp_easycart_account_modern_layout
Filters whether the My Account pages use the current layout: one account menu beside every signed-in page, breadcrumbs and the orders as cards. Return false to keep the older markup.
Parameters
$modern (bool) True, except inside the Elementor account widgets.
$this (ec_accountpage) The account page.
Fires in admin/elementor/modules/account/includes/class-wp-easycart-elementor-account-page.php · account_modern() +1 more place
wp_easycart_account_order_details_link
Filters the URL of the account page’s order_details screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=order_details query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_order_tone
Filters the colour of an order’s status badge in My Account.
Parameters
$tone (string) waiting, paid, done, refunded or closed, worked out from the order status.
$this (ec_orderdisplay) The order.
Fires in inc/classes/account/ec_orderdisplay.php · account_tone()
wp_easycart_account_orders_link
Filters the URL of the account page’s orders screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=orders query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_page_id
Filters the ID of the page used as the account page, letting multilingual or custom setups substitute another page.
Parameters
$page_id Account page ID from the ec_option_accountpage setting.
Fires in wpeasycart.php · load_ec_pre() +31 more places
wp_easycart_account_page_url
Filters the account page URL used by the Elementor account widgets and other account templates.
Parameters
$account_page (string) Account page URL.
Fires in admin/elementor/wp-easycart-elementor-account-billing-widget.php +7 more places
wp_easycart_account_password_link
Filters the URL of the account page’s password screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=password query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_payment_methods_enabled
Filters whether My Account can have a Payment methods page. Default true when the store has Stripe subscriptions shown in My Account.
Parameters
$enabled (bool) Whether the page is available.
Fires in inc/classes/core/class-wp-easycart-payment-methods.php · enabled()
wp_easycart_account_payment_methods_link
Filters the URL of the account page’s payment_methods screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=payment_methods query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_payment_methods_listed
Filters whether My Account lists the Payment methods page for a customer. Default true when the store has Stripe subscriptions and this customer has one.
Parameters
$listed (bool) Whether the page is listed.
$user (ec_user) The customer.
Fires in inc/classes/core/class-wp-easycart-payment-methods.php · listed()
wp_easycart_account_payment_methods_view
Filters the data a customer’s Payment methods page is drawn from, before it is cached for the request.
Parameters
$view (array) The page data.
$user (ec_user) The customer.
Fires in inc/classes/core/class-wp-easycart-payment-methods.php · view()
wp_easycart_account_personal_information_link
Filters the URL of the account page’s personal_information screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=personal_information query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_print_receipt_link
Filters the URL of the account page’s print_receipt screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=print_receipt query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_register_link
Filters the URL of the account page’s register screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=register query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_reset_password_link
Filters the URL of the account page’s reset_password screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=reset_password query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_shipping_information_link
Filters the URL of the account page’s shipping_information screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=shipping_information query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_subscription_details_link
Filters the URL of the account page’s subscription_details screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=subscription_details query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_account_subscriptions_link
Filters the URL of the account page’s subscriptions screen returned by the account links helper.
Parameters
$url (string) Account page URL with the ec_page=subscriptions query argument appended.
Fires in inc/classes/core/wpeasycart_links.php · get_account_page()
wp_easycart_address_label_keys
Filters which address label phrases each country uses for its region and postcode fields.
Parameters
$keys (array) ISO country code => array( region key, postal key ).
Fires in inc/classes/core/class-wp-easycart-regions.php · label_keys()
wp_easycart_address_layouts
Filters the city, region and postcode layout of addresses by country, written with the tokens %C, %S, %Z and %n.
Parameters
$layouts (array) ISO country code => layout.
Fires in inc/classes/core/class-wp-easycart-address.php · layouts()
wp_easycart_address_lines
Filters the lines of a formatted address before they are returned.
Parameters
$lines (array) The address lines.
$parts (array) The address parts.
$args (array) The arguments the address was rendered with.
Fires in inc/classes/core/class-wp-easycart-address.php · render()
wp_easycart_address_no_postcode
Filters the countries that have no postcodes; address forms leave the postcode out for them.
Parameters
$none (array) ISO country codes.
Fires in inc/classes/core/class-wp-easycart-address.php · no_postcode()
wp_easycart_admin_role_remote_panels
Filters the list of remote admin panels that can be granted to a user role.
Parameters
$base (array) panel slug => translated panel label
Fires in admin/inc/wp_easycart_admin_user_role_table.php · panels()
wp_easycart_admin_subscriber_list_columns
Filters the columns shown in the admin subscriber list table.
Parameters
$columns (array) column definitions with name, label, format, select, orderby and responsive-hide keys
Fires in admin/inc/wp_easycart_admin_subscriber_table.php · setup()
wp_easycart_admin_user_activity_detail_bits PRO
Filters the list of detail snippets shown next to an entry in the admin customer activity timeline.
Parameters
$bits (array) escaped HTML detail strings
$row (object) the activity row
$meta (array) the activity’s metadata
Fires in admin/inc/wp_easycart_admin_user_activity_pro_v2.php · render_detail()
wp_easycart_admin_user_bulk_edit_data
Filters the data written to each customer when a bulk edit is applied in the admin user list.
Parameters
$data (array) column => value to update
$_POST (array) the submitted bulk edit request
Fires in admin/inc/wp_easycart_admin_user_table.php · ecv2_user_bulk_edit()
wp_easycart_admin_user_bulk_edit_handled
Lets an extension report the customer accounts it changed itself during a bulk edit on the Customers list, outside the ec_user columns (such as WP EasyCart PRO’s Add Tag). Those accounts count as updated and get wpeasycart_admin_user_updated, so an edit with only such changes is no longer refused with No changes selected.
Parameters
array() (int[]) Ids of the accounts you changed, empty by default; ids outside the selection are dropped.
$ids (int[]) The selected account ids.
$_POST (array) The bulk edit request.
Fires in admin/inc/wp_easycart_admin_user_table.php · ecv2_user_bulk_edit()
wp_easycart_admin_user_cell_content
Filters the HTML for a custom cell in the admin user list. Return a non-empty string to replace the default cell output.
Parameters
$html (string) custom cell HTML, empty by default
$result (object) the user row
$col (array) the column definition
$table (object) the user table instance
Fires in admin/inc/wp_easycart_admin_user_table.php · print_cell_content()
wp_easycart_admin_user_details_v2_delete_warning
Filters an extra warning shown before a customer is deleted on the version 2 customer details screen.
Parameters
$delete_warning (string) warning text, empty by default
$user (object) the customer being edited
Fires in admin/template/users/users/user-details-v2.php
wp_easycart_admin_user_details_v2_tab_groups
Filters the tab groups (Profile, Commerce, Insights and so on) on the version 2 customer details screen.
Parameters
$tab_groups (array) group slug => label
Fires in admin/template/users/users/user-details-v2.php
wp_easycart_admin_user_details_v2_tabs
Filters the tabs on the version 2 customer details screen, including each tab’s label, icon, group and description.
Parameters
$tabs (array) tab slug => array with label, icon, group, desc
$user (object) the customer being edited
Fires in admin/template/users/users/user-details-v2.php
wp_easycart_admin_user_filter_callback_where
Filters the SQL WHERE fragment for a callback-based filter in the admin user list, such as a spend range or last-order recency.
Parameters
$where (string) SQL fragment, empty by default
$callback_key (string) the filter’s callback key
$value (mixed) the selected filter value
$filter (array) the filter definition
Fires in admin/inc/wp_easycart_admin_user_table.php · get_filter_callback_where()
wp_easycart_admin_user_health_filter_where
Filters the SQL WHERE fragment for a health-strip filter in the admin user list, such as customers with orders or VIPs.
Parameters
$where (string) SQL fragment, empty by default
$filter_key (string) the selected health filter key
Fires in admin/inc/wp_easycart_admin_user_table.php · get_health_filter_where()
wp_easycart_admin_user_identity_flags
Filters the small identity flags (icons with titles) shown beside a customer in the admin user list.
Parameters
$flags (array) flags, each an array with icon, title and cls
$result (object) the user row
Fires in admin/inc/wp_easycart_admin_user_table.php · print_user_flags()
wp_easycart_admin_user_inline_fields
Filters the list of customer fields that can be edited inline in the admin user list.
Parameters
$allowed_fields (array) editable field names, first_name and last_name by default
Fires in admin/inc/wp_easycart_admin_user_table.php · ecv2_user_inline_update()
wp_easycart_admin_user_list_bulk_edit_fields
Filters the fields offered in the admin user list bulk edit panel.
Parameters
$fields (array) bulk edit field definitions with name, label, type and options
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_columns
Filters the columns of the admin user list table.
Parameters
$columns (array) column definitions
$pro_gate whether Pro features are available, as set by the user table
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_filters
Filters the filter controls available above the admin user list table.
Parameters
$filters (array) filter definitions
$pro_gate whether Pro features are available, as set by the user table
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_health_stats
Filters the health statistics strip shown above the admin user list.
Parameters
$health_stats (array) stat definitions with label, value, filter_value, color and group
$health_data (array) the computed health counts
$pro_gate whether Pro features are available, as set by the user table
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_row_menu
Filters the row action menu items in the admin user list.
Parameters
$actions (array) menu items with label, name, icon and action or href
$pro_gate whether Pro features are available, as set by the user table
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_search_columns
Filters the database columns searched by the admin user list search box.
Parameters
$columns (array) column names such as ec_user.email
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_list_spreadsheet_columns
Filters the columns of the spreadsheet view of the admin user list.
Parameters
$columns (array) column definitions with name, label, format and ss_editable
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_user_overview_carts PRO
Filters the abandoned carts data loaded for the customer overview on the admin customer details screen.
Parameters
$abandoned_carts the abandoned carts data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_carts_link PRO
Filters the admin link to the abandoned carts screen pre-filtered to a customer’s email.
Parameters
$url (string) relative admin URL with the ec_email query argument
$email (string) the customer’s email
Fires in admin/inc/wp_easycart_admin_user_pro.php · carts_link()
wp_easycart_admin_user_overview_download_nonce_action PRO
Filters the nonce action used when creating download links in the customer overview.
Parameters
$nonce_action (string) nonce action, default ‘wp-easycart-action-edit’
Fires in admin/inc/wp_easycart_admin_user_pro.php · download_link()
wp_easycart_admin_user_overview_downloads PRO
Filters the downloads data loaded for the customer overview on the admin customer details screen.
Parameters
$downloads the downloads data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_file
Filters the path of the template file used to print the admin customer overview.
Parameters
$file (string) path to user-overview.php
$details (object) the customer details screen object
Fires in admin/inc/wp_easycart_admin_details_user.php · print_customer_overview()
wp_easycart_admin_user_overview_giftcard_nonce_action PRO
Filters the nonce action used when creating gift card links in the customer overview.
Parameters
$nonce_action (string) nonce action, default ‘wp-easycart-action-edit’
Fires in admin/inc/wp_easycart_admin_user_pro.php · giftcard_link()
wp_easycart_admin_user_overview_giftcards PRO
Filters the gift cards data loaded for the customer overview on the admin customer details screen.
Parameters
$giftcards the gift cards data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_notes PRO
Filters the notes feed data loaded for the customer overview on the admin customer details screen.
Parameters
$notes_feed the notes feed data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_order_items PRO
Filters the order line items data loaded for the customer overview on the admin customer details screen.
Parameters
$order_items the order line items data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_orders PRO
Filters the orders data loaded for the customer overview on the admin customer details screen.
Parameters
$orders the orders data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_orders_per_page PRO
Filters how many orders are shown per page in the customer overview (default 20).
Parameters
$per_page (int) orders per page, default 20
$user (object|null) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · get_orders_per_page()
wp_easycart_admin_user_overview_stats PRO
Filters the order statistics data loaded for the customer overview on the admin customer details screen.
Parameters
$order_stats the order statistics data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_subscription_link PRO
Filters the admin link to a subscription from the customer overview.
Parameters
$url (string) relative admin URL for editing the subscription
$subscription_id (int) the subscription id
Fires in admin/inc/wp_easycart_admin_user_pro.php · subscription_link()
wp_easycart_admin_user_overview_subscriptions PRO
Filters the subscriptions data loaded for the customer overview on the admin customer details screen.
Parameters
$subscriptions the subscriptions data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_admin_user_overview_top_products PRO
Filters the top purchased products data loaded for the customer overview on the admin customer details screen.
Parameters
$top_products the top purchased products data, as loaded for the overview
$user (object) the customer
Fires in admin/inc/wp_easycart_admin_user_pro.php · load_customer_overview()
wp_easycart_elementor_account_menu_items
Filters the links shown in the Elementor account menu widget.
Parameters
$items (array) List of menu items, each with text and url.
$settings (array) The widget settings.
$views (array) The account views available.
Fires in admin/elementor/modules/account/widgets/class-wp-easycart-elementor-account-widget.php · menu_links()
wp_easycart_elementor_form_subscribe
Filters whether an Elementor Pro form submission also subscribes the visitor to the store’s email list; return false to skip.
Parameters
$subscribe (bool) Whether to subscribe; true by default.
$email (string) The submitted email address.
$record (object) Elementor Pro’s form record.
Fires in admin/elementor/modules/dynamic/pro/class-wp-easycart-elementor-dynamic-form-action.php · run()
wp_easycart_email_lookup_limits
Filters how many emails the storefront may say have an account or not, by session, IP address and site-wide surge.
Parameters
$limits (array) session_hour (6), ip_hour (12), ip_day (40), check_session (2), check_ip (3), surge_hour (150) and surge_ip_hour (3).
Fires in inc/classes/core/class-wp-easycart-email-lookups.php · limits()
wp_easycart_max_filesize_upload_limit
Filters the maximum size in bytes allowed for customer file uploads.
Parameters
$max (int) maximum upload size in bytes, capped by PHP’s upload limits
Fires in inc/classes/core/class-wp-easycart-customer-uploads.php · max_size()
wp_easycart_membership_product_ids
Filters which products’ purchase opens a membership for the products a [ec_membership] shortcode or a page’s Limit Access box names. WP EasyCart PRO adds a plan’s other billing period and, when its plan group allows, the higher tiers.
Parameters
$ids (int[]) The product ids asked for.
$user_id (int) The ec_user id.
Fires in inc/classes/core/class-wp-easycart-storefront-access.php · has_membership()
wp_easycart_minimum_password_length
Filters the minimum password length required when a shopper resets their password.
Parameters
$min_length (int) minimum length, default 6
Fires in inc/classes/account/ec_accountpage.php · process_reset_password() +2 more places
wp_easycart_order_lookup_view
Filters what the guest order lookup form shows, the form where a shopper without an account enters an order number and email to be sent the order’s link ([ec_order_lookup], the account page and the withdrawal page).
Parameters
$lookup (array) heading, embedded, values (order_ref, email), errors, sent, check and action (the form address).
Fires in inc/classes/core/class-wp-easycart-order-lookup.php · render()
wp_easycart_page_access_customer_pages
Filters the limited pages a customer can open, as listed in My Account.
Parameters
$out (array) Post id => title and url.
$user_id (int) The ec_user id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · pages_for()
wp_easycart_page_access_decision
Filters what a visitor gets on a limited post.
Parameters
$decision (array) allowed and state.
$post_id (int) The post id.
$rule (array) The post’s rule.
Fires in inc/classes/core/class-wp-easycart-page-access.php · decide()
wp_easycart_page_access_exempt
Filters whether a post can never be limited by Limit Access.
Parameters
$exempt (bool) Whether the post is exempt.
$post_id (int) The post id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · exempt()
wp_easycart_page_access_message_html
Filters the members-only view shown on the account page for a limited post.
Parameters
$out (string) The HTML.
$post_id (int) The limited post id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · message_html()
wp_easycart_page_access_post_types
Filters the post types that show WP EasyCart Limit Access.
Parameters
$types (string[]) Post types.
Fires in inc/classes/core/class-wp-easycart-page-access.php · post_types()
wp_easycart_page_access_rule
Filters a post’s Limit Access rule. The result is merged over the default rule.
Parameters
$rule (array) The rule.
$post_id (int) The post id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · rule()
wp_easycart_page_access_staff
Filters whether the current user counts as staff for a limited page; staff see it and are never sent away.
Parameters
$staff (bool) Whether the user is staff.
$post_id (int) The post id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · is_staff()
wp_easycart_password_reset_token_lifetime
Filters how long a customer’s password reset link stays valid, in seconds.
Parameters
$lifetime (int) Lifetime in seconds, default HOUR_IN_SECONDS.
Fires in wpeasycart.php · wp_easycart_generate_password_reset_token()
wp_easycart_recaptcha_ready
Filters whether reCAPTCHA is shown and checked; return false to leave it off. By default it needs the switch on, both keys saved and a passed key test, and on checkout forms the Also protect checkout switch too.
Parameters
(bool) $ready (bool) Whether reCAPTCHA can run, worked out as above.
(string) $place (string) cart for the checkout forms, or empty for the account and other storefront forms.
Fires in wpeasycart.php · wp_easycart_recaptcha_ready()
wp_easycart_region_required
Filters whether a country’s region must be chosen at checkout and in My Account.
Parameters
$required (bool) Whether the region is required.
$iso2 (string) The country code.
Fires in inc/classes/core/class-wp-easycart-regions.php · required()
wp_easycart_restrict_access_without_redirect
Lets a page’s WP EasyCart Limit Access box lock the page even when none of its redirect addresses is set; return true to apply the limits anyway (signed-out visitors go to the account sign-in page, visitors without access to the store page).
Parameters
false (bool) Apply the limits with no redirect address, false by default.
get_the_ID() (int) The page id.
Fires in inc/classes/core/class-wp-easycart-page-access.php · legacy()
wp_easycart_store_is_restricted
Filters whether the store is restricted for the current visitor because their customer role is not among the allowed roles.
Parameters
$restricted (bool) True when the visitor’s role is not among the chosen ones.
$level (string) The visitor’s EasyCart user level, empty when signed out.
Fires in wpeasycart.php · wp_easycart_store_is_restricted() +1 more place
wp_easycart_subscriber_ip
Filters the IP address recorded with a newsletter sign-up consent.
Parameters
$ip (string) IP address.
$source (string) Sign-up source slug.
$email (string) Email address being signed up.
Fires in inc/classes/core/class-wp-easycart-subscribers.php · consent()
wp_easycart_subscriber_source
Filters the source slug recorded for a newsletter sign-up, such as checkout, account, register, newsletter, admin or other.
Parameters
$source (string) Source slug.
Fires in inc/classes/core/class-wp-easycart-subscribers.php · source()
wp_easycart_subscriber_source_labels
Filters the display names for newsletter sign-up sources; an extension can add its own slug.
Parameters
$labels (array) Source slug => label.
Fires in inc/classes/core/class-wp-easycart-subscribers.php · source_labels()
wp_easycart_subscription_set_password_html
Filters the set a password card shown after a purchase created the account (a subscription, or an order that needs an account).
Parameters
$html (string) The markup.
$user_id (int) The account id.
Fires in inc/classes/core/class-wp-easycart-subscription-signup.php · card_html()
wp_easycart_sync_wordpress_users
Filters whether the older WordPress User Sync plugin copies accounts itself.
Parameters
$legacy (bool) Default false.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · legacy()
wp_easycart_use_wordpress_user
Filters whether the WordPress login decides who the store customer is.
Parameters
$use_wordpress_user (bool) Default false.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · wp_mode() +2 more places
wp_easycart_user_activity_enabled
Filters whether customer activity logging is enabled.
Parameters
$enabled (bool) Default from the user activity setting.
Fires in inc/classes/core/ec_user_activity.php · is_enabled()
wp_easycart_user_activity_retention_days
Filters how many days customer activity is kept before it is purged; 0 keeps it forever.
Parameters
$days (int) Retention days, default from the setting (365).
Fires in inc/classes/core/ec_user_activity.php · run_retention_purge()
wp_easycart_user_activity_should_log
Filters whether a customer activity entry is recorded.
Parameters
$should_log (bool) Default true.
$user_id (int) Customer user id.
$type (string) Activity type.
$args (array) Activity details.
Fires in inc/classes/core/ec_user_activity.php · log()
wp_easycart_user_activity_store_ip
Filters whether the visitor’s IP address is stored with customer activity; return false to store none.
Parameters
$store_ip (bool) Default true.
Fires in inc/classes/core/ec_user_activity.php · capture_ip()
wp_easycart_user_activity_types
Filters the known customer activity types, letting extensions register their own.
Parameters
$types (array) Activity type slug => array( label, icon ).
Fires in inc/classes/core/ec_user_activity.php · get_types()
wp_easycart_user_has_membership
Filters whether a store account holds a membership for any of the given products, the answer the [ec_membership] and [ec_membership_alt] shortcodes and the Limit Access page lock use. Asked only for a signed-in account and at least one product.
Parameters
$has_membership (bool) The store’s answer: a subscription in a member status or an installment plan paid in full, or, for any other product, a paid order holding it.
$user_id (int) The ec_user id.
$ids (int[]) The product ids, after wp_easycart_membership_product_ids.
Fires in inc/classes/core/class-wp-easycart-storefront-access.php · has_membership()
wp_easycart_wordpress_user_create_store_account
Filters whether a store account is created for a WordPress user who has none.
Parameters
$create (bool) Default true.
$wp_user (WP_User) The WordPress user.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · resolve_store_account()
wp_easycart_wordpress_user_store_account
Filters the existing store account matched by email to a WordPress user.
Parameters
$store_user_id (int) Store account id with the same email.
$wp_user (WP_User) The WordPress user.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · resolve_store_account()
wpeasycart_account_email_change_error
Filters the reason a customer may not change their account email; an empty string allows the change.
Parameters
$error (string) Empty or a short reason code.
$store_user_id (int) Store account id.
$new_email (string) New email.
$old_email (string) Current email.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · email_change_error()
wpeasycart_account_email_exists
Filters whether a store account already uses an email address.
Parameters
$exists (bool) True when a store account has the email.
$email (string) The email address.
Fires in inc/classes/core/class-wp-easycart-wordpress-users.php · email_taken()
wpeasycart_account_error
Filters the error message text shown on the account page for an account error code.
Parameters
$error_text (string) Error message text.
$error_code (string) The account_error code from the URL.
Fires in admin/elementor/wp-easycart-elementor-account-dashboard-messages-widget.php +2 more places
wpeasycart_account_success
Filters the success message text shown on the account page for an account success code.
Parameters
$success_text (string) Success message text.
$success_code (string) The account_success code.
Fires in admin/elementor/wp-easycart-elementor-account-dashboard-messages-widget.php +2 more places
wpeasycart_custom_verify_new_password
Lets a plugin reject a new account password (on reset and on change) by returning true.
Parameters
$is_invalid (bool) False by default; return true to reject the password.
$new_password (string) The new password as entered, unsanitized.
Fires in inc/classes/account/ec_accountpage.php · process_reset_password() +2 more places
wpeasycart_forgot_password_link
Filters the forgot password link HTML shown on the account login page.
Parameters
$link_html (string) HTML anchor to the forgot password page.
Fires in admin/elementor/wp-easycart-elementor-account-dashboard-messages-widget.php +2 more places
wpeasycart_password_hash Enable WP Users Zapier
Filters the password hash saved for a store customer.
Parameters
$hash (string) Hash created by wp_easycart_hash_password.
$password (string) The plain password the hash is made from.
Fires in wpeasycart.php · ec_ajax_subscription_create_account() +21 more places
wpeasycart_password_needs_rehash
Filters whether a stored password hash should be rehashed with the current algorithm.
Parameters
$needs (bool) Whether the hash needs a rehash.
$stored_hash (string) The stored hash.
Fires in wpeasycart.php · wp_easycart_password_needs_rehash()
wpeasycart_password_verify
Filters whether a password entered by a customer matches the stored hash.
Parameters
$verified (bool) Whether the password verified.
$raw_password (string) Password as entered.
$stored_hash (string) Stored hash.
$user (object) The customer record.
Fires in wpeasycart.php · wp_easycart_verify_password()
wpeasycart_register_js_function
Filters the JavaScript run when the shopper clicks the register button on the account registration form.
Parameters
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_account_register_button_click2( );’.
Fires in admin/elementor/wp-easycart-elementor-account-register-widget.php +1 more place
wpeasycart_show_account_page
Filters whether the account page is displayed.
Parameters
$show (bool) Whether to show the page; defaults to true.
Fires in inc/classes/account/ec_accountpage.php · display_account_page()
wpeasycart_update_password_js_function
Filters the JavaScript run when the customer clicks the save button on the change password form.
Parameters
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_account_password_button_click( );’.
Fires in admin/elementor/wp-easycart-elementor-account-password-widget.php +1 more place

Subscriptions

Grouped by what they are about

59 filters

wp_easycart_admin_customer_info_fields_list PRO
Filters the list of customer information fields shown on the admin subscription details screen.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and value.
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · customer_info_fields()
wp_easycart_admin_paypal_info_fields_list PRO
Filters the list of PayPal information fields shown on the admin subscription details screen.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and required.
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · paypal_info_fields()
wp_easycart_admin_product_details_subscription_fields_list
Filters the field definitions of the Subscription card in the product editor’s Type settings section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · subscription_fields()
wp_easycart_admin_product_info_fields_list PRO
Filters the field definitions in the product info section of the admin subscription details screen.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · product_info_fields()
wp_easycart_admin_stripe_info_fields_list PRO
Filters the field definitions in the Stripe info section of the admin subscription details screen.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · stripe_info_fields()
wp_easycart_admin_subscription_plans_details_basic_fields_list PRO
Filters the field definitions in the basic section of the admin subscription plan details screen.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
Fires in admin/inc/wp_easycart_admin_details_subscription_plans.php · basic_fields()
wp_easycart_admin_subscription_terms_fields_list PRO
Filters the field definitions in the terms section (payment interval and related) of the admin subscription details screen.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · subscription_terms_fields()
wp_easycart_admin_subscriptions_details_basic_fields_list PRO
Filters the field definitions in the basic section of the admin subscription details screen.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
Fires in admin/inc/wp_easycart_admin_details_subscriptions.php · basic_fields()
wp_easycart_plan_group_product_title PRO
Filters the title WP EasyCart PRO gives a plan group tier’s product for one billing period when the group is saved; it is the product title shown at checkout, on receipts and in My Account.
Parameters
$title (string) The tier name and Monthly or Yearly, joined by a dash, by default.
$tier_name (string) The tier’s name.
$interval (string) M1 (monthly) or Y1 (yearly).
Fires in inc/classes/core/wp_easycart_plan_groups_pro.php · product_title()
wp_easycart_plan_table PRO
Filters the finished HTML of a plan group’s pricing table drawn by WP EasyCart PRO, in either the cards or the compare-table layout.
Parameters
$out (string) The table HTML.
$group (object) The plan group: its plan row, settings and tiers, each with its products by billing period.
$atts (array) Keys id, interval, layout and head from the shortcode or widget.
Fires in inc/classes/core/wp_easycart_plan_groups_pro.php · table_html()
wp_easycart_plan_table_html
Filters the HTML of the [ec_plan_table] shortcode, which the Elementor Pricing Table widget also uses; WP EasyCart PRO draws the plan group’s pricing table here. Left empty, store managers see a note and visitors see nothing.
Parameters
$html (string) Empty by default; return the table HTML.
$atts (array) Keys id (the plan group), interval (m or y, the period the table opens on), layout (cards or table) and head (0 hides the group’s heading and intro).
Fires in wpeasycart.php · load_ec_plan_table()
wp_easycart_stripe_subscription_billing_cycle_anchor PRO
Filters the billing cycle anchor sent to Stripe when a subscription is created; a truthy value is used as the anchor.
Parameters
$billing_cycle_anchor (int|false) Anchor timestamp, default false.
$product (object) The subscription product.
$subscription_options (array) Chosen subscription options.
$user (object) The customer.
Fires in inc/classes/gateway/ec_stripe_connect.php · get_insert_subscription_data() +1 more place
wp_easycart_stripe_subscription_insert_data PRO
Filters the data sent to Stripe when a subscription is created.
Parameters
$gateway_data (array) Stripe subscription request data.
$product (object) The subscription product.
$user (object) The customer.
$subscription_options (array) Chosen subscription options.
Fires in inc/classes/gateway/ec_stripe_connect.php · get_insert_subscription_data() +1 more place
wp_easycart_stripe_subscription_local_status
Filters the store’s status for a Stripe subscription as the webhook records it.
Parameters
$local (string) Active, Failed, Canceled, canceling or paused.
$subscription (object) The Stripe subscription.
Fires in wpeasycart.php · wp_easycart_stripe_subscription_local_status()
wp_easycart_stripe_subscription_status_map
Filters the map from Stripe subscription statuses to WP EasyCart subscription statuses used when a Stripe webhook syncs a subscription.
Parameters
$status_map (array) Stripe status => WP EasyCart status, such as past_due => Failed.
Fires in wpeasycart.php · wp_easycart_stripe_subscription_local_status()
wp_easycart_stripe_subscription_trial_end PRO
Filters the trial end sent to Stripe when a subscription is created.
Parameters
$trial_end Trial end value for the new subscription.
$product (object) The subscription product.
$subscription_options (array) Chosen subscription options.
$user (object) The customer.
Fires in inc/classes/gateway/ec_stripe_connect.php · get_insert_subscription_data() +1 more place
wp_easycart_stripe_subscription_update_data PRO
Filters the data sent to Stripe when a subscription is updated.
Parameters
$gateway_data (array) Stripe subscription update data.
$product (object) The subscription product.
$user (object) The customer.
$subscription_item_id Stripe subscription item id.
Fires in inc/classes/gateway/ec_stripe_connect.php · get_update_subscription_data() +1 more place
wp_easycart_stripe_subscriptions_log PRO
Filters whether Stripe subscription API requests and errors are logged to the response log.
Parameters
$log (bool) Default true.
Fires in inc/classes/core/ec_stripe_subscriptions.php · log()
wp_easycart_stripe_subscriptions_request_args PRO
Filters the HTTP request arguments for Stripe subscription API calls.
Parameters
$args (array) wp_remote_request arguments, including headers, timeout and method.
$method (string) HTTP method.
$url (string) Request URL.
Fires in inc/classes/core/ec_stripe_subscriptions.php · request()
wp_easycart_subscription_card_label
Filters the name My Account gives a card brand or payment method.
Parameters
$label (string) The name.
$key (string) The brand key.
Fires in inc/classes/core/class-wp-easycart-subscription-cards.php · brand_label()
wp_easycart_subscription_change_gateway
Filters the Stripe gateway object that subscription plan changes and price moves send their Stripe requests through. Return an object with api() and get_subscription() methods, or false to turn the plan change engine off so a change applies at once through the older path.
Parameters
$stripe (object|false) The store’s ec_stripe (WP EasyCart PRO) or ec_stripe_connect gateway, or false when the store does not take payments through Stripe.
Fires in inc/classes/core/class-wp-easycart-subscription-changes.php · stripe()
wp_easycart_subscription_change_rule
Filters when a subscription plan change applies and what it charges; WP EasyCart PRO answers for plan groups. During a free trial a change still applies now and charges nothing, unless the rule sets trial to end.
Parameters
$rule (array) Keys when (now, renewal or none), charge (now, next or none), trial (keep or end), interval (same, longer or shorter) and direction (up, down or same). By default when is now, or none for a plan the plan list does not allow, and charge is now for another billing period, else next when the product prorates, else none.
$from (array) The subscription now: subscription_id, product_id, period, length, price, quantity and trial.
$to (array) The plan asked for: product_id, period, length, price, prorate and plan_id.
$allowed (bool) Whether the plan list allows the move (its price order and the Customers can also move to a lower-priced product setting).
Fires in inc/classes/core/class-wp-easycart-subscription-changes.php · rule()
wp_easycart_subscription_choices_in_summary
Filters whether the subscription page shows its choices (billing, the usage level) in the order summary; false shows them at the top of the page.
Parameters
$inside (bool) Whether the choices go in the summary.
Fires in inc/classes/core/class-wp-easycart-subscription-choices.php · in_summary()
wp_easycart_subscription_customer_can
Filters whether a customer may perform an action on a subscription, such as changing the plan.
Parameters
$allowed (bool) Whether the action is allowed.
$action (string) The action being checked.
$subscription (object) The subscription object.
Fires in inc/classes/core/ec_subscription.php · customer_can()
wp_easycart_subscription_grand_total_label
Filters the grand total label on the subscription cart page.
Parameters
$label (string) Label text, default the cart grand total text.
$product (object) The subscription product.
Fires in design/layout/base-responsive-v3/ec_cart_subscription.php +1 more place
wp_easycart_subscription_level_label
Filters a usage level as customers read it, such as “25,000 subscribers”.
Parameters
$text (string) The label.
$level (array|float) The level, or a number of units.
$levels (array) The product’s levels.
Fires in inc/classes/core/class-wp-easycart-subscription-levels.php · label()
wp_easycart_subscription_level_title
Filters a subscription’s title with its usage level. Default the title and the level joined by ” · “.
Parameters
$titled (string) The title with the level.
$title (string) The product’s title.
$label (string) The level.
Fires in inc/classes/core/class-wp-easycart-subscription-levels.php · title()
wp_easycart_subscription_levels
Filters a product’s usage levels. The result is cleaned and cached per product.
Parameters
$levels (array|null) The stored levels, or null for none.
$product_id (int) The product id.
Fires in inc/classes/core/class-wp-easycart-subscription-levels.php · of()
wp_easycart_subscription_member_statuses
Filters the subscription statuses that still count as holding the product, read by memberships, the already-subscribed check and the subscription page’s reminder of what a customer already has.
Parameters
$statuses (string[]) Active, trialing and canceling (cancelled at the end of the paid period) by default; an empty list falls back to Active.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · wp_easycart_subscription_member_statuses()
wp_easycart_subscription_modifiers_display_list
Filters the subscription advanced option rows displayed in the subscription cart totals.
Parameters
$options (array) Advanced options with labels.
$product (object) The subscription product.
Fires in design/layout/base-responsive-v3/ec_cart_subscription.php
wp_easycart_subscription_modifiers_pre_db_insert
Filters the subscription advanced options just before they are saved with the subscription order.
Parameters
$advanced_options (array) Selected advanced options from the cart data.
$product (object) The subscription product.
Fires in inc/classes/core/ec_db.php · insert_subscription_order()
wp_easycart_subscription_options_guard
Filters the result of checking the checkout session’s option choices for a subscription product, after choices that do not belong to it are taken out. A status of choose shows a notice linking to the product page instead of the subscription form, and stops the checkout.
Parameters
$answer (array) Keys status (ok or choose), changed (the session was changed), removed (what was taken out: other, basic, variant, advanced) and missing (option set ids still to choose).
$product (object) The subscription product.
Fires in inc/classes/core/class-wp-easycart-subscription-options.php · guard()
wp_easycart_subscription_page_existing
Lets an extension send a signed-in customer to change a subscription they already have instead of buying this product; return its subscription id to show a notice with a Change my plan link to My Account in place of the subscription form. WP EasyCart PRO answers for plan groups.
Parameters
$subscription_id (int) 0 by default (buy as usual).
$product (array|object) The product row.
$user_id (int) The ec_user id.
Fires in inc/classes/core/class-wp-easycart-subscription-changes.php · existing_for()
wp_easycart_subscription_page_owned
Filters the subscriptions a signed-in customer already has that the subscription page reminds them of above the form, when the product can be bought more than once; WP EasyCart PRO adds the plan group’s other plans.
Parameters
$rows (object[]) Each with subscription_id, product_id and title, newest first; by default the customer’s subscriptions to this product in a member status.
$product (array|object) The product row.
$user_id (int) The ec_user id.
Fires in inc/classes/core/class-wp-easycart-subscription-changes.php · owned_for()
wp_easycart_subscription_password_after_purchase
Filters whether a new customer goes straight to billing and payment, with the account made when they pay and the password chosen after (on the subscription page, and on a checkout that needs an account). Default from Settings > Checkout > Checkout form > New customers choose a password after paying.
Parameters
$after (bool) Whether the password is chosen after paying.
Fires in inc/classes/core/class-wp-easycart-subscription-signup.php · after_purchase()
wp_easycart_subscription_payments_per_page
Filters how many past payments a subscription’s page in My Account shows at a time before Load more. Default 10; never below 1.
Parameters
$per_page (int) Payments per page (10).
$subscription (object) The subscription shown (the account page’s subscription).
Fires in design/layout/base-responsive-v3/ec_account_subscription_details.php
wp_easycart_subscription_plan_choices
Filters the plans My Account’s Change plan panel offers a subscription, in the order shown; WP EasyCart PRO orders a plan group’s plans by tier, then monthly before yearly.
Parameters
$choices (array[]) Each with product_id, current, allowed, row (the plan’s product row), when (current, now or renewal) and note (plain text saying when it starts).
$this (ec_subscription) The subscription.
Fires in inc/classes/core/ec_subscription.php · get_plan_rows()
wp_easycart_subscription_price_formatting
Filters the recurring billing text appended to a subscription product’s price.
Parameters
$ret_string (string) Billing text, such as the interval and duration.
$model_number (string) Product model number.
$product_id (int) Product id.
Fires in inc/classes/core/ec_product.php · display_price() +3 more places
wp_easycart_subscription_price_notice_days
Filters the days of notice a subscriber gets before a price move takes them to the new price; the result is kept between 7 and 90.
Parameters
$days (int) The days asked for: 30 by default, or the Notice chosen on the Price changes card of WP EasyCart PRO’s plan group editor.
Fires in inc/classes/core/class-wp-easycart-subscription-changes.php · notice_days()
wp_easycart_subscription_prices_gateway
Filters the Stripe gateway class used for subscription prices and the store’s plan changes.
Parameters
$gateway (ec_stripe|ec_stripe_connect|false) The store’s Stripe class.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · gateway()
wp_easycart_subscription_purchase_details
Filters the purchase details gathered for a subscription, such as quantity, signup fee and options.
Parameters
$details (array) Purchase details.
$subscription_id Subscription id.
$current_product_id (int) Id of the product currently being viewed or managed.
Fires in inc/classes/core/ec_subscription.php · get_purchase_details_for()
wp_easycart_subscription_quantity_allowed
Filters whether a subscription product is sold by quantity.
Parameters
$allowed (bool) Whether it is sold by quantity.
$product (object|array|int) The product.
Fires in inc/classes/core/class-wp-easycart-subscription-levels.php · wp_easycart_subscription_quantity_allowed()
wp_easycart_subscription_renewal_consent
Filters whether the subscription page asks for a separate yes to automatic renewals (Settings > Checkout, A separate yes to subscription renewals).
Parameters
$on (bool) The setting’s answer.
$value (string) 1, 0 or auto.
Fires in inc/classes/core/class-wp-easycart-renewal-consent.php · enabled()
wp_easycart_subscription_renewal_consent_text
Filters the words of the renewal box on the subscription page, such as I agree that my plan renews automatically until I cancel.
Parameters
$text (string) The words.
$product (ec_product) The product.
$plan (array) The page’s figures.
Fires in inc/classes/core/class-wp-easycart-renewal-consent.php · text()
wp_easycart_subscription_renewal_note
Filters the note under the subscription page’s total that says the discount code stops before the subscription does and what it renews at; only asked when there is such a note. Return an empty string to hide it.
Parameters
$text (string) The note in plain text: the first-payment or first-months wording, with the renewal price filled in.
$product (object) The ec_product.
$plan['coupon'] (array) The code on the checkout: row, stripe, code, amount_off, duration (once, repeating or forever) and months.
$args (array) What the page passed: code, quantity, option_total, shipping_total and taxed.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · wp_easycart_subscription_renewal_note()
wp_easycart_subscription_shared_stripe_product
Lets a subscription product share a Stripe product with other products when it has no usable Stripe product of its own; return that Stripe product’s id and the product’s price is made under it. WP EasyCart PRO uses it so a plan group tier’s monthly and yearly products share one Stripe product.
Parameters
$stripe_product_id (string) Empty by default (the product gets its own); a Stripe product id for the Stripe mode in use.
$row (object) The product row.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · ensure()
wp_easycart_subscription_short_checkout
Filters whether the subscription page asks only for the name, country, state and postcode when the subscription ships nothing. Default from Settings > Checkout > Checkout form > Short subscription checkout.
Parameters
$enabled (bool) Whether the short checkout is on.
Fires in inc/classes/core/class-wp-easycart-subscription-short.php · enabled()
wp_easycart_subscription_short_checkout_applies
Filters whether a subscription’s page uses the short form. Default true when the setting is on, nothing ships and no tax service needs the full address.
Parameters
$applies (bool) Whether the short form applies.
$product (ec_product) The subscription product.
Fires in inc/classes/core/class-wp-easycart-subscription-short.php · applies()
wp_easycart_subscription_short_tax_service
Filters the tax service that keeps subscriptions on the full billing address because it needs the street. Return ” to use the short form with a service that rates by postcode.
Parameters
$id (string) taxcloud, taxjar, another service id, or ”.
Fires in inc/classes/core/class-wp-easycart-subscription-short.php · tax_service()
wp_easycart_subscription_stripe_product_name
Filters the name kept on a subscription product’s Stripe product when its Stripe price is synced after a save; WP EasyCart PRO uses the plan group tier’s name.
Parameters
$title (string) The product title.
$row (object) The product row.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · sync()
wp_easycart_subscription_stripe_sets_default
Filters whether a subscription product’s Stripe price becomes its Stripe product’s default price when the product is synced after a save; a Stripe product with no default price gets it anyway. WP EasyCart PRO returns false for a plan group tier’s yearly product, so the monthly price stays the default.
Parameters
$sets_default (bool) True by default.
$row (object) The product row.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · sync()
wp_easycart_subscription_summary_choices
Filters the choices listed under the item in the subscription page’s summary. Default an empty array; lines without options are dropped.
Parameters
$lines (array) The choice lines.
$product (ec_product) The subscription product.
Fires in inc/classes/core/class-wp-easycart-subscription-choices.php · lines()
wp_easycart_subscription_summary_title
Filters the subscription item’s title in the summary while its choices show under it. An empty answer keeps the original title.
Parameters
$title (string) The product’s title (with its level).
$product (ec_product) The subscription product.
Fires in inc/classes/core/class-wp-easycart-subscription-choices.php · title()
wp_easycart_subscription_tax_rates_pre_insert
Filters the tax rates applied to a subscription when it is created through Stripe at checkout.
Parameters
$tax_rates (array) Stripe tax rates.
$product (object) The subscription product.
$is_vat (bool) True when the product has a VAT rate.
$tax_ratio (float) Order tax total divided by the taxable product amount.
$sub_total Order sub total.
$shipping_total Shipping total.
Fires in inc/classes/cart/ec_cartpage.php · submit_stripe_quick_subscription()
wp_easycart_subscription_trial_text
Filters the free trial line on the subscription page, which says when the trial ends and what the first payment is then; only asked for a product with a free trial.
Parameters
$text (string) The line in plain text, by default Your free trial ends on [date]. Your first payment of [price] is taken then., with the date and price filled in.
$product (object) The ec_product.
$plan (array) How the code on the checkout applies: amount (the renewal), first (the first charge), charges, months, coupon and args.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · wp_easycart_subscription_trial_text()
wp_easycart_subscriptions_status
Filters the subscription gateway status; array values are merged over the status, letting an add-on report the gateway as ready.
Parameters
$status (array) Subscription gateway status.
Fires in inc/classes/core/class-wp-easycart-subscription-gateway.php · status()
wpeasycart_subscription_checkout_errors
Lets a plugin add checkout error codes for a subscription purchase.
Parameters
$codes (array) Error codes; empty by default. Add text through wpeasycart_cart_errors.
$product (ec_product) The subscription product.
$quantity (int) Quantity.
$cartpage (ec_cartpage) The checkout page object.
Fires in inc/classes/cart/ec_cartpage.php · subscription_errors()
wpeasycart_subscription_coupon
Lets a plugin supply its own coupon for a subscription product; return a coupon object to use it instead of the built-in coupon lookup.
Parameters
$coupon (object|false) False by default, or a legacy-shaped coupon object.
$promocode_id (string) The coupon code.
$product_id (int) The subscription product id.
Fires in inc/classes/core/ec_coupons.php · subscription_coupon()
wpeasycart_subscription_js_function
Filters the JavaScript run when the shopper clicks the submit button on the subscription checkout form.
Parameters
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_validate_submit_subscription();’.
Fires in design/layout/base-responsive-v3/ec_cart_subscription.php

Shipping

Grouped by what they are about

76 filters

ecv2_shipping_carrier_status
Filters the connection status shown for a shipping carrier in the admin shipping settings; Pro answers with its connection checks.
Parameters
$status (string) Status: connected, error, incomplete, disabled, or empty string for no answer.
$carrier (string) Carrier being checked.
Fires in admin/template/settings/shipping-settings.php · ecv2_shipping_carrier_status()
ecv2_shipping_carrier_status_detail
Filters the status and note shown for a shipping carrier in the admin shipping settings, optionally re-checking the connection.
Parameters
$detail (array) Array with a status key (connected, error, incomplete, disabled) and a note key.
$carrier (string) Carrier being checked.
$refresh (bool) True to re-probe the carrier connection, such as after saving.
Fires in admin/template/settings/shipping-settings.php · ecv2_shipping_carrier_status_detail()
wp_easycart_admin_product_details_shipping_fields_list
Filters the shipping field definitions of the product editor: Ships to the customer, Charges and Where it goes in the Shipping section, and the Backorders card in Inventory.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · shipping_fields()
wp_easycart_allow_shipping_method
Filters whether the shipping method step is shown. Return a falsy value to stop it displaying.
Parameters
$allow (int) 1 to allow, default 1
Fires in inc/classes/cart/ec_cartpage.php · display_shipping_method()
wp_easycart_carriers
Filters the shipping carriers the order screens offer (Ship form, Fulfill window, Ship popover, Quick edit and Add tracking) and the tracking page each one links a tracking number to. Add, change or remove a carrier by key; an entry without a name is dropped.
Parameters
$catalog (array) Key => name, aliases, countries (ISO codes it ships from, empty for worldwide), track (tracking page with %s for the number), label_url, label_sub, keywords (| separated, matched to the order’s shipping method), mark, bg and fg (the carrier tile).
Fires in inc/classes/core/class-wp-easycart-carriers.php · catalog()
wp_easycart_default_product_weight
Filters the weight a product without one counts as when packages are worked out.
Parameters
$weight (float) In the store’s weight unit; 0 counts nothing.
Fires in inc/classes/core/class-wp-easycart-packages.php · default_weight()
wp_easycart_ecv2_extensions_url
Filters the URL of the extensions page linked from the order Fulfill window when no label service is set up.
Parameters
$url (string) Extensions page URL.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_ecv2_label_carriers
Filters the carriers offered when making a shipping label from an order.
Parameters
$defs (array) Carrier key => label, sub, url, configured and keywords (| separated, matched against the order’s carrier and shipping method).
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_screen.php · label_carriers()
wp_easycart_ecv2_label_services
Filters label services an extension draws itself in the order Fulfill window; a row keyed shippo, stamps or shipstation replaces the built-in link.
Parameters
$value (array) Service slug => name, sub, logo, color, cta, onclick or url, and integrated; empty by default.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_order_screen.php · label_services()
wp_easycart_ecv2_order_carriers PRO
Filters the carrier names suggested when adding tracking to an order, in the orders list and fulfill popover.
Parameters
$carriers (array) Carrier names: the carriers of the store’s country and those on recent orders first.
Fires in admin/inc/wp_easycart_admin_order_table.php · ecv2_order_carrier_suggestions() +2 more places
wp_easycart_ecv2_shipstation_active
Filters whether ShipStation is treated as active on the order Fulfill window.
Parameters
$active (bool) True when the ShipStation extension class exists.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_ecv2_stamps_active
Filters whether Stamps.com is treated as active on the order Fulfill window.
Parameters
$active (bool) True when the Stamps.com extension class exists.
Fires in admin/template/orders/orders/order-details.php
wp_easycart_ecv2_tracking_url_map PRO
Filters the map of carrier names to tracking URL patterns used to link a tracking number; %s is replaced with the tracking number.
Parameters
$map (array) Lower case carrier name => tracking URL with %s placeholder.
Fires in inc/classes/core/class-wp-easycart-carriers.php · tracking_map() +2 more places
wp_easycart_elementor_free_shipping_threshold PRO
Filters the free shipping threshold shown by the Elementor checkout widget (PRO).
Parameters
$lowest (float) The lowest free shipping threshold found across the store’s shipping settings.
Fires in admin/elementor/checkout/wp_easycart_elementor_checkout_pro.php · store_threshold()
wp_easycart_express_shipping_price_display
Filters the express shipping price number shown next to the express shipping checkbox in the cart.
Parameters
$express_price (float) express shipping surcharge before currency formatting
Fires in inc/classes/core/ec_shipping.php · get_single_shipping_price_content()
wp_easycart_live_rate_pre
Filters HTML output before the list of live shipping rates on the cart shipping step.
Parameters
$html (string) HTML to print before the rates, empty by default
Fires in inc/classes/core/ec_shipping.php · get_live_based_shipping_options()
wp_easycart_live_shipping_free_rate
Filters the amount used when a live shipping service returns a free rate.
Parameters
$rate (float) rate used for a free live rate, 0 or the cart handling fee
Fires in inc/classes/core/ec_shipping.php · get_shipping_rate_data() +6 more places
wp_easycart_method_rate_pre
Filters HTML output before the list of method-based shipping rates on the cart shipping step.
Parameters
$html (string) HTML to print before the rates, empty by default
Fires in inc/classes/core/ec_shipping.php · get_method_based_shipping_options()
wp_easycart_optimalship_rate OptimalShip
Filters the shipping rate a shopper pays for an OptimalShip quote.
Parameters
$rate (float) what the shopper pays
$quote (array) the OptimalShip quote
$request (array) the cart data sent
Fires in includes/class-wp-easycart-optimalship-rates.php · rate()
wp_easycart_optimalship_request OptimalShip
Filters the query parameters sent to the OptimalShip API for a rate quote.
Parameters
$params (array) query parameters
$args (array) the quote arguments
Fires in includes/class-wp-easycart-optimalship-api.php · params()
wp_easycart_order_delivery_tracked
Filters whether an order has a tracked delivery, meaning a label extension or fulfillment partner recorded a package on its way.
Parameters
$tracked (bool) true when a package on its way was recorded
order id (int) the order ID
Fires in inc/classes/core/class-wp-easycart-shipments.php · delivery_tracked()
wp_easycart_order_signature
Filters the delivery signature requirement for an order’s shipment.
Parameters
$signature (string) Empty string, standard or adult.
$order_id (int) The order id.
Fires in inc/classes/core/class-wp-easycart-shipments.php · wp_easycart_order_signature()
wp_easycart_package_carrier_templates
Filters the carrier boxes a shipping label extension can buy labels for, offered under Settings, Shipping, Boxes.
Parameters
$templates (array) Box code => label, such as ‘USPS_MediumFlatRateBox1’ => ‘USPS Medium Flat Rate Box’.
Fires in inc/classes/core/class-wp-easycart-packages.php · carrier_templates()
wp_easycart_package_lines
Filters the order line rows used when packing an order into boxes.
Parameters
$out (array) Line rows.
$order_id (int) The order id.
Fires in inc/classes/core/class-wp-easycart-packages.php · lines()
wp_easycart_packed_packages
Filters the packages produced after order lines are packed into boxes.
Parameters
$packages (array) The packed packages.
$lines (array) The order lines that were packed.
Fires in inc/classes/core/class-wp-easycart-packages.php · pack()
wp_easycart_region_optional_countries
Filters the countries where choosing a region is optional while the store has not decided under Settings > Countries & Regions. Default GB, DE and NZ.
Parameters
$countries (array) ISO 3166-1 alpha-2 codes.
Fires in inc/classes/core/class-wp-easycart-regions.php · optional_by_default()
wp_easycart_royalmail_currency_ok PRO
Filters whether the store’s currency suits Royal Mail rates, which are priced in pounds; Royal Mail is not quoted while this is false. Return true for a store that converts its prices.
Parameters
$ok (bool) True when the store’s base currency is GBP.
$currency (string) The store’s base currency code.
Fires in inc/classes/shipping/ec_royalmail.php · currency_ok()
wp_easycart_royalmail_keys PRO
Filters the public keys that may sign the Royal Mail price file PRO fetches from WP EasyCart Connect; a file signed with a key not in the list, or whose signature does not verify, is not used.
Parameters
self::KEYS (array) Key id => base64 Ed25519 public key; rm1 by default.
Fires in inc/classes/shipping/ec_royalmail.php · open_envelope()
wp_easycart_royalmail_prices_url PRO
Filters the address PRO fetches the newest signed Royal Mail price data from, once a day while Royal Mail is on.
Parameters
self::FEED_URL (string) The feed address, https://connect.wpeasycart.com/rates/v1/royalmail.json by default.
Fires in inc/classes/shipping/ec_royalmail.php · refresh()
wp_easycart_royalmail_rate PRO
Filters one Royal Mail service’s price for the cart’s parcels before it is offered at checkout or shown by Try a parcel in the Royal Mail settings. VAT removal, the collection charge and the service’s own price settings (markup, fixed price, free over) are already applied.
Parameters
$price (float) The price, rounded to 2 decimals.
$service (string) The service key, such as tracked_48 or intl_standard.
$parcels (array) The parcels, each with g (grams), dims (cm, largest first; empty when not measured) and floor (smallest format allowed).
$request (array) The live rate request, with the destination country and the subtotal.
Fires in inc/classes/shipping/ec_royalmail.php · price_all()
wp_easycart_royalmail_today PRO
Filters today’s date in the UK, which picks the Royal Mail price version in effect and the next one waiting for its date.
Parameters
$today (string) Today as Y-m-d in Europe/London.
Fires in inc/classes/shipping/ec_royalmail.php · today()
wp_easycart_setup_shipping_paths
Filters the ways to ship the Shipping settings page offers for the store’s country.
Parameters
$ways (array) The ways.
$cc (string) The store’s country code.
Fires in admin/inc/setup/wp_easycart_admin_setup_shipping.php · ways()
wp_easycart_setup_shipping_steps
Filters the set-up steps on the Shipping settings page for the chosen way to ship.
Parameters
$steps (array) Each: key, state (done, todo, warn or optional), title, text and html (escaped).
$way (string) The way key.
Fires in admin/inc/setup/wp_easycart_admin_setup_shipping.php · steps()
wp_easycart_shipping_get_rate_data
Filters the shipping rates offered to the shopper, as a list of rate rows.
Parameters
$rates (array) Shipping rate rows, each with an id and amount.
Fires in inc/classes/core/ec_shipping.php · get_shipping_rate_data() +1 more place
wp_easycart_shipping_has_custom_shipping_options
Filters whether the store reports having shipping options when custom shipping options are being printed.
Parameters
$has_options (bool) Default true.
Fires in inc/classes/core/ec_shipping.php · has_shipping_option()
wp_easycart_shipping_is_live_based
Filters whether a shipping method row is treated as live-rate based (carrier rates fetched in real time).
Parameters
$is_live_based (bool) True when the row uses UPS, USPS, FedEx, Australia Post, DHL or Canada Post.
Fires in inc/classes/core/ec_shipping.php · is_live_based()
wp_easycart_shipping_live_type
Filters the live shipping carrier type slug for a shipping method row.
Parameters
$live_type (string) Carrier slug such as ups, dhl or canadapost, or none.
Fires in inc/classes/core/ec_shipping.php · get_live_type()
wp_easycart_shipping_method PRO
Filters the store’s shipping calculation method, such as price or weight.
Parameters
$shipping_method (string) The shipping method saved in the settings.
Fires in admin/inc/setup/wp_easycart_admin_setup_shipping.php · state() +7 more places
wp_easycart_shipping_price_display
Filters the price shown next to a shipping option on the cart shipping step.
Parameters
$price Shipping price (with handling for Fraktjakt options).
$method_id Id of the shipping option or method.
Fires in inc/classes/core/ec_shipping.php · get_fraktjakt_based_shipping_options() +17 more places
wp_easycart_shipping_rate_carriers
Filters the list of carriers offered on the admin shipping rates screen.
Parameters
$carriers (array) Carrier definitions with mark and colors.
Fires in admin/inc/wp_easycart_admin_shipping_rates_v2.php · carriers()
wp_easycart_shipping_receipt_max_bytes
Filters the largest shipping receipt photo accepted, in bytes. Default 5242880 (5 MB).
Parameters
$max (int) The size limit in bytes.
Fires in inc/classes/core/class-wp-easycart-shipping-receipts.php · save_photo()
wp_easycart_shipping_receipts_dir
Filters the private folder shipping receipt photos are kept in. Default the data folder’s receipts folder, else wp-content/uploads/wp-easycart-receipts.
Parameters
$dir (string) Absolute folder path.
Fires in inc/classes/core/class-wp-easycart-shipping-receipts.php · dir()
wp_easycart_shipping_should_print_custom_options
Filters whether custom shipping options are printed instead of the built-in shipping options.
Parameters
$should_print (bool) Default false; return true to use custom options.
Fires in inc/classes/core/ec_shipping.php · print_store_shipping_options() +1 more place
wp_easycart_shipping_tabs
Filters the tabs across the shipping settings pages (Shipping, Rates, Carriers & labels).
Parameters
$tabs (array) Key => array( label, url ).
Fires in admin/inc/setup/wp_easycart_admin_setup_shipping.php · tabs_html()
wp_easycart_shipping_zone_rule
Filters whether a shopper in one of your shipping zones sees only that zone’s prices or also the prices for everywhere else (Settings > Rates).
Parameters
$rule (string) only or both.
Fires in inc/classes/core/class-wp-easycart-shipping-test.php · zone_rule()
wp_easycart_shippo_oauth_available Shippo
Filters whether the Connect with Shippo button is offered.
Parameters
$available (bool) True when the WP_EASYCART_SHIPPO_OAUTH constant is set and true.
Fires in includes/class-wp-easycart-shippo-oauth.php · available()
wp_easycart_shippo_order_payload Shippo
Filters the order data sent to Shippo when an order is created there.
Parameters
$payload (array) Shippo order payload.
$order (object) The ec_order row.
$lines (array) ec_orderdetail rows the store ships, excluding fulfillment partner lines.
Fires in includes/class-wp-easycart-shippo-orders.php · payload()
wp_easycart_shippo_shipment_payload Shippo
Filters the shipment data sent to Shippo when rates or a label are requested.
Parameters
$payload (array) Shippo shipment payload.
$order (object) The order row.
$args (array) Package choices.
Fires in includes/class-wp-easycart-shippo-labels.php · shipment_payload()
wp_easycart_stamps_can_connect Stamps.com
Filters whether the Stamps.com connect button is available.
Parameters
$available (bool) Whether the connection service reports it is available for the current environment.
Fires in includes/class-wp-easycart-stamps-auth.php · can_connect()
wp_easycart_stamps_insurance Stamps.com
Filters who insures packages on Stamps.com labels: ParcelGuard when the Stamps.com account offers it, else the carrier’s own cover. While ParcelGuard’s terms are not accepted (terms false), an insured label cannot be bought.
Parameters
$state (array) Keys provider (parcel_guard, carrier or stamps_com) and terms (true, false, or null while unknown).
$account (array|null) The Stamps.com account, or null when it is not connected or not known.
Fires in includes/class-wp-easycart-stamps-labels.php · insurance_state()
wp_easycart_stamps_service_url Stamps.com
Filters the base URL of the WP EasyCart connection service for Stamps.com.
Parameters
$url (string) Base URL, default https://connect.wpeasycart.com/stamps/.
Fires in includes/class-wp-easycart-stamps-auth.php · service_url()
wp_easycart_stamps_shipment Stamps.com
Filters the shipment fields sent to Stamps.com when rates or a label are requested.
Parameters
$payload (array) Stamps.com SERA rate or label fields.
$order (object) The order row.
$args (array) Package choices.
Fires in includes/class-wp-easycart-stamps-labels.php · shipment()
wp_easycart_store_country
Filters the country the store ships from, which lists that country’s carriers first on the order screens and helps suggest a carrier from an order’s shipping method. It also decides whether the setup wizard leads with Royal Mail (GB) and whether the EU withdrawal button starts switched on.
Parameters
$country (string) Two-letter ISO code, or ”: the checkout’s default country, else the Stripe business country, else the region of the site language (en_GB gives GB).
Fires in inc/classes/core/class-wp-easycart-carriers.php · store_country()
wp_easycart_trigger_rate
Filters the price of a shipping rate as it is charged: a price, weight, quantity or percentage based tier, or a method or live rate; WP EasyCart PRO’s Offers take shipping discounts off here.
Parameters
$rate The rate’s price.
$type (string) The tier type (price, weight, quantity or percentage), or a method or live rate’s id.
Fires in inc/classes/core/ec_shipping.php · get_price_based_shipping_options() +8 more places
wp_easycart_ups_relay_url PRO
Filters the WP EasyCart Connect address PRO uses to link a UPS account (Link your UPS account) and renew its tokens, for both the /ups-v3/ relay and the older /ups/ one.
Parameters
self::BASE (string) https://connect.wpeasycart.com by default; a trailing slash is removed.
Fires in inc/classes/shipping/wp_easycart_ups_relay.php · base()
wp_easycart_usps_min_box PRO
Filters the minimum box size added as padding to USPS rate requests.
Parameters
$pad (array) Keys length, width and height, default 0 each.
Fires in inc/classes/shipping/ec_usps_v3.php · box_padding()
wp_easycart_weight_unit_extensions
Filters the label and rate extensions checked on the store details settings for versions too old to read ounces and grams. By default it lists Shippo, ShipStation, Stamps.com and OptimalShip, each with the first version that reads them.
Parameters
$needs (array) Version constant => array( name, minimum version ).
Fires in admin/template/settings/initial-setup.php · ecv2_store_details_weight_unit_extensions()
wpeasycart_dhl_destination_city PRO
Filters the destination city sent to DHL when requesting live shipping rates.
Parameters
$city (string) Destination city; falls back to the postcode when the city is empty.
$zip (string) Destination postcode.
$country (string) Destination country code.
Fires in inc/classes/shipping/ec_dhl.php · destination_city()
wpeasycart_dhl_rate_request PRO
Filters the request body sent to DHL when requesting a live shipping rate.
Parameters
$body (array) The DHL rates request body.
Fires in inc/classes/shipping/ec_dhl.php · rest_rate_body()
wpeasycart_fedex_cart_item_list PRO
Filters the list of cart items used to build a FedEx rate request.
Parameters
$cart (array) Cart item objects.
Fires in inc/classes/shipping/ec_fedex.php · get_rate_data() +2 more places
wpeasycart_live_based_codes PRO
Filters the live shipping rate rows that extensions add to the available shipping methods.
Parameters
$live_based (array) Live rate rows; empty by default in the label lookup.
Fires in inc/classes/core/ec_db.php · live_rate_label() +2 more places
wpeasycart_live_rate_cache_days PRO
Filters how many days saved live shipping rates are kept before they are purged.
Parameters
$days (int) Number of days; defaults to 18.
Fires in inc/classes/shipping/ec_live_shipping.php · purge_saved_rates()
wpeasycart_live_rate_providers PRO
Lets an extension register its own live shipping rate providers.
Parameters
$providers (array) Provider slug => array with ready flag and callable quote; empty by default.
Fires in inc/classes/shipping/ec_live_shipping.php · providers()
wpeasycart_live_shipping_carrier_ready PRO
Filters whether a live shipping carrier is treated as set up and ready to quote.
Parameters
$ready (bool) Whether the carrier is ready.
$carrier (string) Carrier key.
Fires in inc/classes/shipping/ec_live_shipping.php · carrier_is_set_up()
wpeasycart_live_shipping_carrier_units PRO
Filters the weight and size units a live rate carrier reads.
Parameters
$reads (array|null) weight (lb or kg) and dim (in or cm), or null for a carrier WP EasyCart does not know (it gets the store’s units).
$carrier (string) The carrier.
Fires in inc/classes/shipping/wp_easycart_carrier_units.php · reads()
wpeasycart_live_shipping_countries_without_postcode PRO
Filters the list of country codes that do not use postcodes for live shipping quotes.
Parameters
$countries (array) Two-letter country codes.
Fires in inc/classes/shipping/ec_live_shipping.php · countries_without_postcode()
wpeasycart_live_shipping_failure_pause PRO
Filters how many seconds a live shipping carrier is paused after a request failure.
Parameters
$seconds (int) Pause length; 0 or less disables the pause.
$carrier (string) Carrier key.
$reason (string) Reason logged with the gateway log.
Fires in inc/classes/shipping/ec_carrier_http.php · pause()
wpeasycart_live_shipping_parallel_requests PRO
Filters whether live shipping carrier requests may be sent in parallel.
Parameters
$parallel (bool) Whether parallel requests are allowed; defaults to true.
Fires in inc/classes/shipping/ec_carrier_http.php · run()
wpeasycart_live_shipping_rate_reuse_seconds PRO
Filters how long a saved live shipping quote may be reused for an identical cart and destination.
Parameters
$seconds (int) Seconds; defaults to 30 minutes.
Fires in inc/classes/shipping/ec_live_shipping.php · reuse_seconds()
wpeasycart_live_shipping_rate_signature PRO
Filters the data used to build the signature that tells whether saved live shipping rates are still valid for a cart.
Parameters
$signature_data (array) Data hashed for the signature: carriers, providers, rows and config.
$cart (array) Cart items.
Fires in inc/classes/shipping/ec_live_shipping.php · update_shipping_rates()
wpeasycart_live_shipping_rates PRO
Filters the live shipping rates so an extension can add or change rates for a package.
Parameters
$rates (array) Rates found so far.
$destination_zip (string) Destination postcode.
$destination_country (string) Destination country code.
$weight (float) Package weight.
$length (float) Package length.
$width (float) Package width.
$height (float) Package height.
$declared_value (float) Declared value.
$items (array) Cart items in the package.
Fires in inc/classes/shipping/ec_live_shipping.php · extension_rates()
wpeasycart_live_shipping_request PRO
Filters the HTTP request spec used for a live shipping carrier call before it is sent.
Parameters
$spec (array) Request spec such as url, body, timeout and options.
Fires in inc/classes/shipping/ec_carrier_http.php · normalize()
wpeasycart_live_shipping_unit_factors PRO
Filters what a weight and a size in the store’s units are multiplied by before they are sent to a live rate carrier. Default 1.0 each (sent as entered); a value that is not above zero falls back to 1.0.
Parameters
$factors (array) weight and dim.
$carrier (string) The carrier.
$store (array) The store’s units.
$reads (array|null) The units the carrier reads.
Fires in inc/classes/shipping/wp_easycart_carrier_units.php · factors()
wpeasycart_method_based_shipping
Filters the method-based shipping rate rows available at checkout.
Parameters
$method_based (array) Method-based shipping rate rows.
Fires in inc/classes/core/ec_shipping.php · __construct()
wpeasycart_shipping_class_keeps_extension_rate
Filters whether an extension’s live shipping rate is kept when shipping class rates apply.
Parameters
$keep (bool) True by default.
$live_based (array) The rate’s row.
$cart (array) Cart items.
Fires in inc/classes/core/ec_shipping.php · keeps_extension_rate()
wpeasycart_shipping_method_name
Filters the label of the shipping method the shopper chose.
Parameters
$name (string|null) The rate’s label, or null when none was found.
$ship_id (string) The chosen method’s id.
Fires in inc/classes/core/ec_db.php · get_shipping_method_name()

Taxes and fees

Grouped by what they are about

42 filters

wp_easycart_admin_fee_ideas PRO
Filters the ready-made ideas the New flex-fee window offers, such as a wholesale discount for a customer role (WP EasyCart PRO).
Parameters
$ideas (array) Each: key, label, text, set (the fee values it fills in) and focus.
Fires in admin/inc/wp_easycart_admin_fee_table.php · ideas()
wp_easycart_admin_fee_payment_types PRO
Filters the payment types a fee can be limited to in the admin fee settings.
Parameters
$types (array) Payment type value => label, for example card, affirm and klarna.
Fires in admin/inc/wp_easycart_admin_fee_table.php · payment_types()
wp_easycart_admin_product_details_tax_fields_list
Filters the field definitions of the Tax card in the product editor’s Pricing section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · tax_fields_list()
wp_easycart_alt_tax_calculate
Filters the alternative tax calculation results so a custom tax provider can supply its own totals.
Parameters
$alt_tax_list (object) tax results with tax_total, tax_rate, duty_total, taxable_subtotal, vatable_total and related values
$cart_subtotal (float) the cart subtotal
$cart (object) the cart
$shipping_total (float) the shipping total
$tax_settings (object) the store’s tax settings
Fires in inc/classes/core/ec_tax.php · calculate_alt_tax()
wp_easycart_avatax_address_lookups_per_hour AvaTax
Filters the store-wide limit of AvaTax address lookups allowed per hour (default 600).
Parameters
$limit (int) lookups per hour, default 600
Fires in includes/class-wp-easycart-avatax-address.php · within_limit()
wp_easycart_avatax_exemption_certificate AvaTax
Filters the certificate (Avalara’s CertificateModel) sent to Avalara for a checkout exemption claim, just before it is created there.
Parameters
$model (array) The certificate model.
$claim (object) The exemption claim.
Fires in includes/class-wp-easycart-avatax-exemptions.php · send_to_avalara()
wp_easycart_avatax_exemption_max_bytes AvaTax
Filters the largest exemption certificate file accepted, in bytes. Default 5242880 (5 MB); the result is never below 102400.
Parameters
$bytes (int) The size limit in bytes.
Fires in includes/class-wp-easycart-avatax-exemptions.php · max_bytes()
wp_easycart_avatax_exemption_reasons AvaTax
Filters the exemption reasons the checkout offers, in the store’s order.
Parameters
$out (array) Reason code => shopper-facing name.
Fires in includes/class-wp-easycart-avatax-exemptions.php · reasons()
wp_easycart_avatax_shipped_statuses AvaTax
Filters the order status ids that AvaTax treats as shipped.
Parameters
$list (array) status ids, 2 and 18 plus the delivered status when set
Fires in includes/class-wp-easycart-avatax-orders.php · shipped_statuses()
wp_easycart_canada_tax_label
Filters the label shown for a Canadian tax type such as GST or PST.
Parameters
$label (string) the tax label, from the language setting or a default
$type (string) the tax type
$state (string) the province or state
Fires in wpeasycart.php · wp_easycart_canada_tax_label()
wp_easycart_cart_taxfree AvaTax
Filters whether the cart is treated as tax free when the tax calculator is created.
Parameters
$taxfree (bool) Whether the cart is tax free.
Fires in inc/classes/core/ec_tax.php · __construct() +1 more place
wp_easycart_enable_alt_tax
Filters whether the alternate tax calculation method is used instead of the standard one when the tax object is built.
Parameters
$enabled (bool) false by default; return true to use calculate_alt_tax()
Fires in inc/classes/core/ec_tax.php · __construct()
wp_easycart_eu_vat_rates
Filters the EU standard VAT rates WP EasyCart fills in.
Parameters
$rates (array) ISO country code => percent.
Fires in inc/classes/core/class-wp-easycart-vat.php · eu()
wp_easycart_fee_payment_type
Filters the payment type used to decide whether a fee rule that is limited to payment types applies to the cart.
Parameters
$type (string) payment type
$method (string) the cart session’s payment method
Fires in inc/classes/core/ec_tax.php · fee_type_for()
wp_easycart_hmrc_relay_url
Filters the address of the HMRC relay used to check UK VAT numbers. Default https://connect.wpeasycart.com/hmrc-v1/api.php.
Parameters
$url (string) The relay address.
Fires in inc/classes/core/class-wp-easycart-vat.php · hmrc_check()
wp_easycart_is_duty_enabled
Filters whether duty is enabled for the current cart.
Parameters
$is_duty_enabled (bool) true when duty is enabled and the duty country matches
Fires in inc/classes/core/ec_tax.php · is_duty_enabled()
wp_easycart_is_tax_enabled
Filters whether tax is treated as enabled, which controls whether the Tax row shows.
Parameters
$is_tax_enabled (bool) true when any tax method (state, country, all, TaxCloud, TaxJar or a tax service) is on
Fires in inc/classes/core/ec_tax.php · is_tax_enabled()
wp_easycart_is_vat_enabled
Filters whether VAT is treated as enabled.
Parameters
$is_vat_enabled (bool) true when VAT is enabled in settings
Fires in inc/classes/core/ec_tax.php · is_vat_enabled()
wp_easycart_order_pay_fees
Filters the Flex-Fees an order’s pay link adds for a way to pay.
Parameters
$fees (array) The fees, each with label, rate and amount.
$order (object) The order.
$fee_type (string) The payment type (card, third_party, klarna and so on).
Fires in inc/classes/core/class-wp-easycart-order-pay.php · fees()
wp_easycart_product_details_price_no_vat_display
Filters the HTML for a product’s price display when prices are shown excluding VAT.
Parameters
$output (string) Price HTML.
$price The price without VAT.
$list_price The list price without VAT.
$tax_price The price with tax.
$tax_list_price The list price with tax.
Fires in inc/classes/core/ec_product.php · display_product_pricing_no_vat()
wp_easycart_product_details_price_vat_display
Filters the HTML for a product’s price display when prices are shown including VAT.
Parameters
$output (string) Price HTML.
$price The price.
$list_price The list price.
$tax_price The price with tax.
$tax_list_price The list price with tax.
Fires in inc/classes/core/ec_product.php · display_product_pricing_vat()
wp_easycart_product_details_vat_rate
Filters the VAT rate used to display prices on the product page.
Parameters
$vat_rate The VAT rate for the product.
$product (object) The product.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +1 more place
wp_easycart_quebec_compound_qst
Filters whether Quebec’s QST is compounded on top of GST for shipping to QC.
Parameters
$compound (bool) False by default.
Fires in inc/classes/core/ec_tax.php · quebec_compounds_qst()
wp_easycart_setup_tax_steps
Filters the set-up steps on the Taxes settings page for the chosen way to charge tax.
Parameters
$steps (array) Each: key, state (done, todo, warn or optional), title, text and html (escaped).
$way (string) The way key.
Fires in admin/inc/setup/wp_easycart_admin_setup_tax.php · steps()
wp_easycart_setup_tax_ways
Filters the ways to charge tax the Taxes settings page offers for the store’s country.
Parameters
$ways (array) The ways.
$cc (string) The store’s country code.
$system (string) us, canada, vat or ”.
Fires in admin/inc/setup/wp_easycart_admin_setup_tax.php · ways()
wp_easycart_tax_class_rate
Filters a tax class’s rate for a country. Null or ” means the standard rate.
Parameters
$rate (float|null) Percent, or null for the standard rate.
$class (string) The tax class.
$country (string) ISO country code.
Fires in inc/classes/core/class-wp-easycart-tax-classes.php · rate()
wp_easycart_tax_classes
Filters the tax classes besides the standard rate. A class with an ec_option_tax_class_<key>_rate option charges that rate.
Parameters
$classes (array) Key => label.
Fires in inc/classes/core/class-wp-easycart-tax-classes.php · classes()
wp_easycart_tax_providers
Filters the list of registered tax providers, letting an add-on register its own.
Parameters
$providers (array) Provider id => wp_easycart_tax_provider object, starts empty.
Fires in inc/classes/core/class-wp-easycart-tax-providers.php · all()
wp_easycart_tax_setup_changes
Filters what applying the recommended tax settings would change.
Parameters
$out (array) Changes, each with key, label, from, to and why.
$rec (array) The recommendation.
$now (array) The settings now.
Fires in inc/classes/core/class-wp-easycart-tax-setup.php · changes()
wp_easycart_tax_setup_recommendation
Filters the recommended tax settings for a store in a country.
Parameters
$rec (array) The recommendation (settings holds the values applying it writes).
$cc (string) ISO country code.
$choices (array) The store’s choices.
Fires in inc/classes/core/class-wp-easycart-tax-setup.php · recommend()
wp_easycart_tax_setup_us_states
Filters the US state rates and shipping rules the tax recommendation uses.
Parameters
$states (array) State code => array( rate, ship 1 or 0, check 1 or 0 ).
Fires in inc/classes/core/class-wp-easycart-tax-setup.php · us_states()
wp_easycart_tax_setup_vat_countries
Filters the VAT and GST countries the tax recommendation covers.
Parameters
$countries (array) Country code => array( rate, area, threshold ).
Fires in inc/classes/core/class-wp-easycart-tax-setup.php · vat_countries()
wp_easycart_tax_shipping_country
Filters the shipping country used to calculate taxes.
Parameters
$shipping_country (string) Uppercase shipping country code.
Fires in inc/classes/core/ec_tax.php · __construct()
wp_easycart_tax_shipping_state
Filters the shipping state used to calculate taxes.
Parameters
$shipping_state (string) Uppercase shipping state code.
Fires in inc/classes/core/ec_tax.php · __construct()
wp_easycart_tax_test_quote
Filters the quote a tax service gives for the sample cart for one of the tax test addresses on the Taxes settings page (also used by the AI assistant’s tax tools). Return a quote or WP_Error to answer for a service; null lets WP EasyCart ask it.
Parameters
null (wp_easycart_tax_quote|WP_Error|null) The quote, or null.
$service['id'] (string) The service id, such as taxcloud or taxjar.
$request (wp_easycart_tax_request) The sample sent to the address.
Fires in inc/classes/core/class-wp-easycart-tax-test.php · ask()
wp_easycart_tax_total
Filters the sales tax total calculated for the cart.
Parameters
$tax_total (float) State, country and all-region tax added together.
$taxable_subtotal Taxable subtotal.
$tax_context Tax calculation context.
$tax (object) The ec_tax object.
Fires in inc/classes/core/ec_tax.php · calculate_taxes()
wp_easycart_vat_business_rate
Filters whether the business VAT rate applies to a VAT number.
Parameters
$applies (bool) Whether it applies.
$number (string) The VAT number.
$country (string) The delivery country.
$billing_country (string) The billing country.
Fires in inc/classes/core/class-wp-easycart-vat.php · business_rate_applies()
wp_easycart_vat_name
Filters what the store’s value added tax is called. Any value other than VAT or GST falls back to VAT.
Parameters
$name (string) VAT or GST.
Fires in inc/classes/core/class-wp-easycart-vat.php · name()
wp_easycart_vat_number_status
Filters a VAT number check so it can be answered without asking VIES, for example from another service. Default null, which runs the normal check; return valid, invalid or unknown to answer it.
Parameters
$status (string|null) Null to run the normal check.
$number (string) The VAT number.
Fires in inc/classes/core/class-wp-easycart-vat.php · number_status()
wp_easycart_vat_reverse_charge
Filters whether an order’s documents say “Reverse charge”.
Parameters
$applies (bool) Whether it applies.
$order (object) The order.
Fires in inc/classes/core/class-wp-easycart-vat.php · reverse_charge_text()
wp_easycart_vat_unverified_business_rate
Filters whether a VAT number VIES could not check (it did not answer) still gets the business rate. Default false, so the business pays VAT and claims it back.
Parameters
$allow (bool) Whether to allow the business rate (false).
$number (string) The VAT number.
Fires in inc/classes/core/class-wp-easycart-vat.php · business_rate_applies()
wpeasycart_format_vat_rate
Filters the formatted VAT rate text shown at checkout.
Parameters
$formatted (string) Formatted rate in parentheses, such as (20%).
$vat_rate (float) The VAT rate.
Fires in inc/classes/cart/ec_cartpage.php · get_vat_rate_formatted()

Payments

Grouped by what they are about

79 filters

wp_easycart_admin_payment_file
Filters the path of the settings template file loaded for a payment gateway in the admin payment settings.
Parameters
$file (string) Path to the gateway settings template.
$key (string) Gateway key.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · form_file()
wp_easycart_admin_third_party_gateways
Filters the third-party payment gateways the admin recognizes, adding to the keys found in the gateway registry.
Parameters
$third_party_gateways (array) legacy third-party gateway list, keyed by gateway key
Fires in admin/inc/wp_easycart_admin_payments.php · known_third_party_keys()
wp_easycart_authorize_accept_js_allow_legacy_fallback PRO
Filters whether Authorize.net falls back to posting the raw card number when Accept.js did not run (default false).
Parameters
$allow (bool) false by default
Fires in inc/classes/gateway/ec_authorize.php · process_accept_js()
wp_easycart_authorize_accept_js_enabled PRO
Filters whether Authorize.net Accept.js tokenization is enabled.
Parameters
$enabled (bool) true when Pro is active, Authorize.net is the process method and the login id and client key are set
Fires in inc/classes/gateway/ec_authorize.php · accept_js_enabled()
wp_easycart_authorize_accept_js_load PRO
Filters whether the Authorize.net Accept.js script is loaded on the current page.
Parameters
$load (bool) true on the checkout payment step, or on account pages other than the account page itself
Fires in inc/classes/gateway/ec_authorize.php · wp_easycart_authorize_accept_js_enqueue()
wp_easycart_authorize_accept_js_transaction_request PRO
Filters the Authorize.net transaction request array sent with an Accept.js payment.
Parameters
$transaction (array) the transactionRequest data
$order_id (int) the order id
Fires in inc/classes/gateway/ec_authorize.php · get_accept_js_request()
wp_easycart_bank_details_lines
Filters the bank details lines a shopper sees.
Parameters
$lines (array) Lines, each array( label, value ).
$order_id (int|string) The order number, or ”.
$saved (array) The saved scheme and fields.
Fires in inc/classes/core/class-wp-easycart-bank-details.php · lines()
wp_easycart_card_payment_types
Filters the payment types that count as a card payment for flex fees.
Parameters
$types (array) payment types, default card, apple_pay, google_pay and link
Fires in inc/classes/core/ec_tax.php · card_payment_types()
wp_easycart_checkout_payment_method_allowed
Filters whether a payment method can pay this checkout; return false to take a method away for this cart. It decides the payment choices, the method the checkout starts on, and Bill later (Pay by bank transfer).
Parameters
true (bool) Allowed, true by default.
(string) $method (string) credit_card, manual_bill, third_party or affirm.
$this (ec_cartpage) The checkout.
Fires in inc/classes/cart/ec_cartpage.php · payment_method_allowed()
wp_easycart_checkout_tokenized_card
Filters the card a gateway tokenized in the browser for this payment. Default an empty array; an answer without a bin and last4 is ignored.
Parameters
$card (array) Empty, or bin, last4, exp_month, exp_year and brand.
$gateway (string) The gateway (ec_option_payment_process_method).
Fires in inc/classes/core/class-wp-easycart-checkout-guard.php · tokenized_card()
wp_easycart_ecv2_gateway_link PRO
Filters the link to a payment in the payment gateway’s own dashboard, shown on the order details payment panel.
Parameters
$deep_link (string) Gateway dashboard URL for the transaction.
$gateway (string) The order’s payment gateway.
$order (object) The order.
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · print_payment_panel()
wp_easycart_ecv2_order_is_test_payment PRO
Filters whether an order’s payment was made in the gateway’s test mode (PRO).
Parameters
$is_test (bool) Whether the payment looks like a test payment.
$order (object) The order row.
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · order_is_test_payment()
wp_easycart_gateway_webhook_log_size
Filters how many notifications a gateway’s webhook log keeps. The same list is checked to ignore an event that was already handled, and no more than 10 rejected requests are kept whatever the size.
Parameters
50 (int) Entries kept, default 50; at least 1 is always kept. For Square, wp_easycart_square_webhook_log_size runs on the result.
$gateway (string) Gateway key, square or paypal.
Fires in wpeasycart.php · wp_easycart_gateway_webhook_log()
wp_easycart_hook_url
Filters the address a payment gateway sends its notifications to (?wpeasycarthook=paypal-webhook, stripe-webhook and so on), as shown in the gateway settings and sent to the gateway. A site installed in a folder gets a slash before the query, because gateways do not follow the redirect.
Parameters
$url (string) The notification address: the site address, then ?wpeasycarthook= and the hook.
$hook (string) The hook: paypal-webhook, stripe-webhook, redsys-webhook or sagepay-webhook.
Fires in wpeasycart.php · wp_easycart_hook_url()
wp_easycart_intuit_service_url PRO
Filters the base URL of the WP EasyCart connection service for Intuit Payments.
Parameters
$url (string) The base URL, default https://connect.wpeasycart.com/intuit-v2/
Fires in inc/classes/gateway/wp_easycart_intuit_connection.php · service_url()
wp_easycart_is_stripe_sandbox PRO
Filters whether Stripe should run in sandbox mode, which decides whether sandbox or live Stripe product IDs are read and saved.
Parameters
$is_sandbox (bool) false by default
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · is_sandbox() +2 more places
wp_easycart_manual_payment_allowed
Filters whether the shopper can choose Bill later (Pay by bank transfer), after the store’s Bill later roles are checked.
Parameters
$allowed (bool) True when the shopper’s role is one Bill later is offered to.
$role (string) The shopper’s role, guest when not signed in or the account is pending.
array_values( $roles ) (array) The roles chosen in the setting; empty means everyone.
Fires in inc/classes/cart/ec_cartpage.php · use_manual_payment()
wp_easycart_nmi_allow_card_form_fallback PRO
Filters whether NMI may charge a typed card number when the secure card fields did not run (for example a blocked script or JavaScript off). Default false, so the payment fails instead.
Parameters
$allow (bool) Whether to fall back to the typed card (false).
Fires in inc/classes/gateway/ec_nmi.php · process_token()
wp_easycart_nmi_collect_js_enabled PRO
Filters whether NMI’s secure card fields (Collect.js) are used. Default true when NMI is the gateway and both the security key and the tokenization key are saved.
Parameters
$enabled (bool) Whether the secure fields are on.
Fires in inc/classes/gateway/ec_nmi.php · collect_js_enabled()
wp_easycart_nmi_field_css PRO
Filters the styles passed to NMI’s secure card fields on the checkout page.
Parameters
$css (array) field (font-size 16px, color #222222, line-height 42px, height 42px, padding 0 12px), invalid (color #b91c1c) and focus (color #111111).
Fires in inc/classes/gateway/ec_nmi.php · wp_easycart_nmi_enqueue()
wp_easycart_nmi_gateway_host PRO
Filters the NMI gateway’s host name. Default the saved gateway host, else secure.networkmerchants.com.
Parameters
$host (string) The host name.
Fires in inc/classes/gateway/ec_nmi.php · host()
wp_easycart_nmi_gateway_url PRO
Filters the NMI gateway’s base address. Default https:// followed by the gateway host.
Parameters
$url (string) The base address.
Fires in inc/classes/gateway/ec_nmi.php · base_url()
wp_easycart_nmi_load PRO
Filters whether NMI’s secure card field scripts load on the current storefront page. Default true on the checkout payment step; with the one-page checkout, true on any page except the account page.
Parameters
$load (bool) Whether to load the scripts.
Fires in inc/classes/gateway/ec_nmi.php · wp_easycart_nmi_enqueue()
wp_easycart_nmi_payer_auth_amount_units PRO
Filters the units the amount is passed in for NMI Payer Authentication (3-D Secure) in the checkout script. Default major.
Parameters
$units (string) The amount units (major).
Fires in inc/classes/gateway/ec_nmi.php · wp_easycart_nmi_enqueue()
wp_easycart_nmi_payer_auth_enabled PRO
Filters whether typed cards are checked with NMI Payer Authentication (3-D Secure) before they are charged. Default true when the secure fields are on, the Payer Authentication setting is on and a checkout key is saved.
Parameters
$enabled (bool) Whether Payer Authentication is on.
Fires in inc/classes/gateway/ec_nmi.php · payer_auth_enabled()
wp_easycart_nmi_sale_request PRO
Filters the fields of the NMI sale request for a tokenized card payment, just before it is sent.
Parameters
$data (array) The request fields.
$order_id (int) The order id.
$type (string) The card type posted with the token (for example inline).
Fires in inc/classes/gateway/ec_nmi.php · get_token_data()
wp_easycart_order_pay_methods
Filters the payment methods a customer can use on an order pay link.
Parameters
$out (array) Enabled method slugs, such as paypal and manual.
Fires in inc/classes/core/class-wp-easycart-order-pay.php · methods()
wp_easycart_payfast_itn_source_ok PRO
Filters whether a PayFast ITN came from PayFast’s servers. Default null, which makes WP EasyCart check the address against PayFast’s hosts by DNS.
Parameters
$from_payfast (bool|null) Null to run the check.
$remote (string) The address the ITN came from.
Fires in inc/classes/gateway/wp_easycart_third_party_notify_pro.php · payfast_itn()
wp_easycart_payment_gateway_catalog
Filters the catalog of payment gateways listed on the Payments settings screen.
Parameters
$catalog (array) Gateway key => gateway definition.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · catalog()
wp_easycart_payment_gateway_countries
Filters the countries each gateway takes payments for stores in. A gateway with no countries is available everywhere.
Parameters
$map (array) Gateway key => ISO country codes.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · gateway_countries()
wp_easycart_payment_gateway_form
Filters the settings drawer form definition for a payment gateway; return an array with sections and a save callback to supply one.
Parameters
$form (array|null) Form definition, null by default.
$key (string) Gateway key.
$gw (array) The gateway definition.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · form()
wp_easycart_payment_gateway_status
Filters the connection and readiness status calculated for a payment gateway on the Payments screen.
Parameters
$s (array) Status flags such as connected, live_ready, test_ready and locked.
$gw (array) The gateway definition.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · status()
wp_easycart_payment_local_gateways
Filters the gateways stores in a country choose most, after Stripe, Square, PayPal and Amazon Pay.
Parameters
$keys (array) Gateway keys.
$country (string) ISO country code or ”.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · local_favorites()
wp_easycart_payment_older_gateways
Filters the gateways listed under Older gateways in Add or change a gateway on the Payments screen, a group that stays closed until the merchant opens it or searches. Those gateways stay fully usable, and one already in use shows as usual.
Parameters
array(...) (string[]) Gateway keys, such as stripe, paypal_pro, sagepay, realex and custom.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · older()
wp_easycart_payment_partner_gateways
Filters the partner gateways recommended for a gateway role on the Payments screen.
Parameters
$list (array) Gateway key => benefit text.
$role (string) The gateway role, such as third_party.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · partners()
wp_easycart_payment_recommended_gateways
Filters the gateways tagged Recommended on the Payments screen and listed first, in this order, under Add or change a gateway; keys missing from the gateway catalog are dropped.
Parameters
array(...) (string[]) Gateway keys, default stripe_connect, square, paypal, amazonpay and authorize.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · recommended()
wp_easycart_payment_retired_gateways
Filters the gateways that no longer take payments.
Parameters
$retired (array) Gateway key => why it is retired.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · retired_gateways()
wp_easycart_payment_test_modes
Filters the names of payment methods running in test mode, shown in Diagnostics.
Parameters
$names (string[]) Gateway names.
Fires in admin/inc/wp_easycart_admin_store_status.php · ec_payment_test_modes() +1 more place
wp_easycart_paynow_za_vendor_key PRO
Filters the Netcash Pay Now software vendor key sent with a payment (m2). Default Netcash’s default key.
Parameters
$key (string) The vendor key.
Fires in inc/classes/gateway/ec_sagepay_paynow_za.php · fields()
wp_easycart_paypal_connect_url
Filters the base address of WP EasyCart Connect for PayPal, used for every relay call a store connected through the WP EasyCart PayPal app makes and for the Connect PayPal onboarding link.
Parameters
self::BASE (string) https://connect.wpeasycart.com by default; a trailing slash is removed.
Fires in inc/classes/gateway/class-wp-easycart-paypal-connect.php · base()
wp_easycart_paypal_connect_version
Filters which version of WP EasyCart Connect’s PayPal relay the store calls; return v2 to go back to the older /paypal-v2/ scripts, which are called unsigned.
Parameters
'v3' (string) v3 by default; any value other than v2 means v3.
Fires in inc/classes/gateway/class-wp-easycart-paypal-connect.php · version()
wp_easycart_paypal_ipn_verify_url
Filters where PayPal Standard IPNs are confirmed (cmd=_notify-validate). Default PayPal’s IPN check for the store’s live or sandbox mode.
Parameters
$url (string) The verification URL.
Fires in inc/classes/gateway/class-wp-easycart-paypal-ipn.php · verify()
wp_easycart_paytrace_enabled PRO
Filters whether the PayTrace gateway is treated as enabled.
Parameters
$enabled (bool) True when PRO is loaded, PayTrace is the live gateway and API credentials are saved.
Fires in inc/classes/gateway/ec_paytrace.php · enabled()
wp_easycart_paytrace_integrator_id PRO
Filters the PayTrace integrator ID sent with PayTrace requests.
Parameters
self::INTEGRATOR_ID (string) The built-in integrator ID.
Fires in inc/classes/gateway/ec_paytrace.php · integrator_id()
wp_easycart_paytrace_load PRO
Filters whether the PayTrace Protect.js script loads on the current page.
Parameters
$load (bool) True on the checkout payment step (and other pages except the account page).
Fires in inc/classes/gateway/ec_paytrace.php · wp_easycart_paytrace_enqueue()
wp_easycart_paytrace_sale_request PRO
Filters the request body sent to PayTrace to charge a sale.
Parameters
$body (array) The sale request data.
$order_id (int) The order id.
Fires in inc/classes/gateway/ec_paytrace.php · get_sale_request()
wp_easycart_paytrace_styles PRO
Filters the style settings passed to the PayTrace hosted card fields at checkout.
Parameters
$styles (array) Style settings keyed by field: cc, code, exp and body.
Fires in inc/classes/gateway/ec_paytrace.php · wp_easycart_paytrace_enqueue()
wp_easycart_refundable_gateways PRO
Filters the list of gateways WP EasyCart can refund through their API; other gateways use the record-only refund flow.
Parameters
$gateways (string[]) Gateway slugs, such as stripe, square and paytrace.
Fires in inc/classes/core/class-wp-easycart-order-refunds.php · refundable_gateways() +1 more place
wp_easycart_setup_payment_methods
Filters the ways to pay listed on the Payments settings page, one row each.
Parameters
$rows (array) Each: key, label, via, state (on, off, need, na, pro or setup) and control (escaped HTML).
Fires in admin/inc/setup/wp_easycart_admin_setup_payments.php · methods()
wp_easycart_setup_payment_steps
Filters the set-up steps on the Payments settings page for the chosen card processor.
Parameters
$steps (array) Each: key, state (done, todo, warn or optional), title, text and html (escaped).
$way (string) stripe, square or other.
Fires in admin/inc/setup/wp_easycart_admin_setup_payments.php · steps()
wp_easycart_setup_payment_ways
Filters the card processor choices on the Payments settings page.
Parameters
$ways (array) Key => title, desc, plan and gateway.
Fires in admin/inc/setup/wp_easycart_admin_setup_payments.php · ways()
wp_easycart_square_apple_pay_domain
Filters the domain Apple Pay is set up for on a Square store. Default the host of the site’s home address.
Parameters
$host (string) The domain.
Fires in inc/classes/gateway/class-wp-easycart-square-apple-pay.php · domain()
wp_easycart_square_apple_pay_file_url
Filters where Square’s Apple Pay domain association file is downloaded from. Default Square’s address.
Parameters
$url (string) The download URL.
Fires in inc/classes/gateway/class-wp-easycart-square-apple-pay.php · fetch()
wp_easycart_square_apple_pay_live
Filters whether the store takes live payments through Square; Apple Pay’s domain is set up only then.
Parameters
$live (bool) The store’s answer.
Fires in inc/classes/gateway/class-wp-easycart-square-apple-pay.php · live()
wp_easycart_square_apple_pay_status
Filters what the store owner is told about Apple Pay on a live Square store.
Parameters
$out (array) tone, title, text, manual, replace, check and short.
$state (array) The last check.
Fires in inc/classes/gateway/class-wp-easycart-square-apple-pay.php · status()
wp_easycart_square_apple_pay_web_root
Filters the folder whose .well-known folder Apple reads, where the domain association file is written.
Parameters
$root (string) The folder path, ” when unknown.
Fires in inc/classes/gateway/class-wp-easycart-square-apple-pay.php · web_root()
wp_easycart_square_order_modifier_name
Filters the name a cart line’s option is sent to Square with, as an order line modifier. A choice is its name; a typed value is “Label: value”. The result is cut to 255 characters.
Parameters
$name (string) The modifier name.
$advanced_option (object) The cart line’s option.
Fires in inc/classes/gateway/ec_square.php · order_modifier_name()
wp_easycart_square_relay_url
Filters the base address of WP EasyCart Connect for Square, used for every call a store connected through the WP EasyCart Square app makes and for its Connect Square links.
Parameters
self::BASE (string) https://connect.wpeasycart.com by default; a trailing slash is removed.
Fires in inc/classes/gateway/class-wp-easycart-square-relay.php · base()
wp_easycart_square_webhook_log_size
Filters how many Square webhook events are kept in the webhook log, after wp_easycart_gateway_webhook_log_size.
Parameters
$size (int) Maximum log entries, 50 by default.
Fires in wpeasycart.php · wp_easycart_gateway_webhook_log()
wp_easycart_stripe_amazon_pay_rules PRO
Filters where Stripe offers Amazon Pay: the store countries and the currencies each takes (WP EasyCart PRO).
Parameters
$rules (array) Country => currencies.
Fires in wp-easycart-admin-pro.php · wp_easycart_pro_stripe_amazon_pay_rules()
wp_easycart_stripe_ca_bundle PRO
Filters the path of the CA certificate bundle used for Stripe API requests.
Parameters
$ca_bundle (string) Path, default the WordPress certificates ca-bundle.crt.
Fires in inc/classes/gateway/ec_stripe.php · apply_stripe_ca_bundle()
wp_easycart_stripe_capture_method PRO
Filters the capture method used when a Stripe payment intent is created.
Parameters
$capture_method (string) Default automatic.
Fires in inc/classes/gateway/ec_stripe_connect.php · create_payment_intent() +1 more place
wp_easycart_stripe_connect_api_key PRO
Filters the Stripe Connect access token used for API requests.
Parameters
$api_key (string) Sandbox or production access token, depending on the sandbox setting.
Fires in inc/classes/core/class-wp-easycart-subscription-gateway.php · stripe_connected() +4 more places
wp_easycart_stripe_connect_fee_rate
Filters the WP EasyCart application fee percentage taken on payments through the Stripe Connect, PayPal and Square apps (Square on live USD payments only), including Stripe subscriptions; WP EasyCart PRO returns 0 on an active license. At 0 the Payments screen drops its fee note and the setup wizard’s badge reads No EasyCart fees.
Parameters
2 (int|float) Fee percentage, default 2.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · show_fee_note() +11 more places
wp_easycart_stripe_connect_publishable_key
Filters the Stripe Connect publishable key output on cart and account pages.
Parameters
$pkey (string) Publishable key for the current mode (sandbox or production).
Fires in design/layout/base-responsive-v3/ec_account_subscription_details.php +11 more places
wp_easycart_stripe_connect_relay_url
Filters the base address of WP EasyCart Connect for Stripe Connect, used for the Connect Stripe links and for collecting a new connection.
Parameters
self::BASE (string) https://connect.wpeasycart.com by default; a trailing slash is removed.
Fires in inc/classes/gateway/class-wp-easycart-stripe-connect-relay.php · base()
wp_easycart_stripe_customer_test_mode
Filters whether this storefront request pays in Stripe test mode for the signed-in customer while the store itself is in live mode; return false to keep the request live.
Parameters
$test (bool) True by default when the customer’s Stripe test-mode customer switch is on, the request comes from the storefront (not the admin, WP-Cron or WP-CLI) and the gateway has test credentials.
$GLOBALS['ec_user'] (object|null) The signed-in ec_user.
$gateway (string) stripe or stripe_connect.
Fires in inc/classes/core/class-wp-easycart-stripe-mode.php · customer_test()
wp_easycart_stripe_element_locale
Filters the locale forced on Stripe payment elements; an empty value uses the current site language.
Parameters
$locale (string) Locale code, default empty.
Fires in inc/classes/cart/ec_cartpage.php · get_stripe_element_locale_js()
wp_easycart_stripe_fallback_ca_bundle PRO
Filters the path of the bundled fallback CA certificate file used for Stripe requests.
Parameters
$fallback (string) Path to the bundled cacert.pem.
Fires in inc/classes/gateway/ec_stripe_connect.php · get_stripe_fallback_ca_bundle() +1 more place
wp_easycart_stripe_local_methods
Filters the Stripe payment methods shoppers in a country use most, as Payments settings rows.
Parameters
$rows (array) Row ids (such as stripe_use_ideal).
$country (string) ISO country code or ”.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · stripe_local_methods()
wp_easycart_stripe_payment_methods PRO
Filters the payment method types offered when a Stripe payment intent is created.
Parameters
$payment_methods (array) Stripe payment method types, default array( ‘card’ ).
Fires in inc/classes/gateway/ec_stripe_connect.php · get_create_payment_intent_data() +1 more place
wp_easycart_stripe_payment_methods_type_enabled
Filters whether the payment method types are reset to card only when Stripe rejects an intent request and it is retried.
Parameters
$enabled (bool) Default true.
Fires in inc/classes/gateway/ec_stripe_connect.php · create_payment_intent() +2 more places
wp_easycart_stripe_return_listed_requires_action
Filters whether the cart page shows the return screen for a Stripe payment that still requires action, such as a redirect.
Parameters
$show (bool) Default true.
Fires in inc/classes/cart/ec_cartpage.php · display_cart_page() +1 more place
wp_easycart_stripe_unavailable_text
Filters the words shown in place of the card form when Stripe cannot start a payment.
Parameters
$text (string) The message (plain text).
Fires in inc/classes/core/class-wp-easycart-stripe-unavailable.php · text()
wp_easycart_stripe_webhook_payment_intent_succeeded_send_email
Filters whether the receipt email and gift cards are sent when a Stripe payment_intent.succeeded webhook marks an order paid.
Parameters
$send_email (bool) Default true.
Fires in wpeasycart.php · wp_easycart_webhook_catch()
wp_easycart_subscription_payment_element
Filters whether the subscription checkout page takes the card in Stripe’s Payment Element, as the regular checkout does; return false to keep the older card field.
Parameters
$ready (bool) True by default when the store’s gateway is Stripe or Stripe Connect and its class has the api() and accepts_payment_methods() methods.
Fires in inc/classes/cart/ec_cartpage.php · subscription_payment_element_ready()
wp_easycart_third_party_retired
Filters the third-party gateways checkout no longer offers.
Parameters
$retired (array) Gateway key => name.
Fires in inc/classes/core/class-wp-easycart-third-party-payment.php · retired()
wp_easycart_third_party_return_post_bounce
Filters whether a third party’s cookie-less post back to the order confirmation is opened again as a plain visit. Default true.
Parameters
$bounce (bool) Whether to bounce the post (true).
Fires in inc/classes/core/class-wp-easycart-third-party-payment.php · return_post_target()
wpeasycart_payment_error_message
Filters the payment error text shown to the shopper when a gateway payment fails.
Parameters
$message (string) Gateway error text.
$gateway (string) Gateway name, such as square.
Fires in inc/classes/cart/ec_cartpage.php · submit_square_quick_payment_v2() +1 more place

Email and notifications

Grouped by what they are about

80 filters

wp_easycart_abandoned_cart_endpoint_base
Filters the base URL used to build abandoned cart email links such as unsubscribe and click-tracking endpoints.
Parameters
$url (string) Cart page URL, or the site home URL when no cart page is set.
Fires in inc/classes/core/ec_abandoned_carts.php · endpoint_base()
wp_easycart_abandoned_cart_first_send_at
Filters the date and time the first abandoned cart reminder becomes due when a cart snapshot is saved.
Parameters
$at (string) Database datetime of the first send; defaults to the abandoned_at time.
$row (array) Snapshot being written (session_id, stage, last_activity, abandoned_at and more).
Fires in inc/classes/core/ec_abandoned_carts.php · first_send_at()
wp_easycart_abandoned_cart_is_suppressed
Filters whether an email address is blocked from receiving abandoned cart reminders because it unsubscribed.
Parameters
$hit (bool) True when the address has an unsubscribed record.
$email (string) Email address being checked.
Fires in inc/classes/core/ec_abandoned_carts.php · is_suppressed()
wp_easycart_abandoned_cart_reminder_sender
Filters which system sends abandoned cart reminders, letting another plugin take over sending.
Parameters
$sender (string) Sender slug; defaults to easycart.
$cart (object) Abandoned cart row.
Fires in inc/classes/core/ec_abandoned_carts.php · reminder_sender()
wp_easycart_abandoned_cart_reminder_template PRO
Filters the path of the PHP template file used to render an abandoned cart reminder email.
Parameters
$template_path (string) Path to the default reminder template.
$cart (object) Abandoned cart row.
$step_n (int) Number of the reminder step being sent.
Fires in inc/classes/core/ec_abandoned_sequence.php · render()
wp_easycart_abandoned_cart_restore_url
Filters the URL in abandoned cart emails that restores the shopper’s cart, optionally applying a coupon.
Parameters
$url (string) Signed restore URL.
$cart (object) Abandoned cart row.
$coupon (string) Coupon code attached to the link, or empty.
$track (bool) Whether click tracking is enabled for the link.
$step (int) Reminder step number.
Fires in inc/classes/core/ec_abandoned_carts.php · restore_url()
wp_easycart_abandoned_cart_step_email PRO
Filters the finished HTML of an abandoned cart reminder email before it is sent.
Parameters
$html (string) Rendered email HTML.
$cart (object) Abandoned cart row.
$n (int) Reminder step number.
$view (array) Step text: subject, heading, intro and button.
$coupon Coupon attached to this step, if any.
Fires in inc/classes/core/ec_abandoned_sequence.php · send_step()
wp_easycart_abandoned_current_session
Filters the storefront session ID used to identify the shopper’s cart for abandoned cart tracking.
Parameters
$sid (string) Current cart session ID, or empty string when none.
Fires in inc/classes/core/ec_abandoned_carts.php · current_session_id()
wp_easycart_abandoned_email_selectors
Filters the CSS selectors of the checkout email fields watched to capture an email address for abandoned cart tracking.
Parameters
$selectors (string) Comma-separated CSS selectors; defaults to the contact email and returning-customer login email fields.
Fires in inc/classes/core/ec_abandoned_carts.php · enqueue_capture()
wp_easycart_checkout_fields_after_payment_notify PRO
Filters whether the store notification about checkout field answers is sent after payment; return false to skip it.
Parameters
$notify (bool) Whether to send the email; true by default.
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_checkout_fields_pro.php · notify_after_payment()
wp_easycart_ecv2_custom_email_template PRO
Filters the file path of the template used for a custom email sent from an order.
Parameters
$template (string) Absolute path to the custom email template.
$order (object) The order.
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · send_message()
wp_easycart_email_accent_color
Filters the accent color used in email designs.
Parameters
$accent (string) Hex color; must be valid or #222222 is used.
$args (array) Email design arguments.
Fires in inc/classes/core/class-wp-easycart-email-design.php · context()
wp_easycart_email_address_lines
Filters the address lines printed in an email for a billing or shipping address.
Parameters
$lines (array) Address lines.
$side (string) Which address is being printed.
$source The order or address data the lines come from.
Fires in inc/classes/core/class-wp-easycart-email-design.php · address() +1 more place
wp_easycart_email_checks
Filters the list of email delivery health checks shown in the email health screen.
Parameters
$out (array) Each check with key, status, title, detail and optional fix_label and fix_url.
Fires in inc/classes/core/ec_email.php · checks()
wp_easycart_email_design_context
Filters the design context (store name, logo, colors and layout values) used to build an email.
Parameters
$ctx (array) The email design context.
$args (array) Email design arguments.
Fires in inc/classes/core/class-wp-easycart-email-design.php · context()
wp_easycart_email_design_flat
Filters whether an email is drawn flat, without the outer page frame.
Parameters
$value (bool) Whether to use a flat layout; false by default.
$args (array) Email design arguments.
Fires in inc/classes/core/class-wp-easycart-email-design.php · get_open()
wp_easycart_email_dkim_selectors
Filters the DKIM selector names checked when testing the store’s email domain DNS records.
Parameters
$value (array) List of selector names such as default, google, selector1, k1 and mailgun.
Fires in inc/classes/core/ec_email.php · dns_checks()
wp_easycart_email_footer_html
Filters the footer HTML at the bottom of an email.
Parameters
$footer (string) Footer HTML.
$args (array) Email design arguments.
Fires in inc/classes/core/class-wp-easycart-email-design.php · get_close()
wp_easycart_email_help_links
Filters the help links shown in the email settings screen.
Parameters
$value (array) guide, docs and video URLs.
Fires in admin/inc/wp_easycart_admin_email_help.php · links()
wp_easycart_email_is_store_email
Filters whether an outgoing email is treated as one of the store’s own emails.
Parameters
$value (bool) Whether it is a store email; false unless the from address matches the store’s.
$atts (array) The email attributes, including headers.
Fires in inc/classes/core/ec_email.php · is_store_email()
wp_easycart_email_is_store_type
Filters whether an email log type goes to the store rather than to a customer, such as order copies and alerts. When a run of failed emails holds only store types, the Deliverability card says store emails are failing instead of warning that customers are not getting receipts.
Parameters
$store (bool) True for types ending in _store and for low_stock, out_of_stock, review_alert, checkout_protection, checkout_fields and reports_summary.
$type (string) The email log type.
Fires in inc/classes/core/ec_email.php · is_store_type()
wp_easycart_email_log_per_page
Filters how many entries appear per page in the email log; the value is kept between 5 and 200.
Parameters
$value (int) Entries per page.
Fires in admin/inc/wp_easycart_admin_email_health.php · print_log_page()
wp_easycart_email_log_retention_days
Filters how many days email log and sent queue rows are kept before they are deleted.
Parameters
$value (int) Retention in days.
Fires in inc/classes/core/ec_email.php · prune()
wp_easycart_email_mailer
Filters the mailer information detected for the site (the SMTP or mail plugin sending email).
Parameters
$mailer (array) Detected mailer details.
Fires in inc/classes/core/ec_email.php · detect_mailer()
wp_easycart_email_mailer_plugins
Filters the list of known SMTP and mail plugins used to detect how the site sends email.
Parameters
$list (array) Plugin slug => name, files, folders, settings, test, where, service and passive.
Fires in inc/classes/core/ec_email.php · mailer_plugins()
wp_easycart_email_queue_attachments
Filters the list of file paths attached to a queued email when the queue rebuilds its attachments for a retry.
Parameters
$files (array) file paths to attach
$recipe (array) the stored attachment recipe, with ‘specs’ and ‘files’ keys
$q (object) the email queue row being retried
Fires in inc/classes/core/ec_email.php · rebuild_attachments()
wp_easycart_email_queue_enabled
Filters whether the email queue, which retries failed sends, is enabled; defaults to on unless the queue option is turned off.
Parameters
$enabled (bool) true when the queue is enabled, from the ec_option_email_queue_enabled option (on when unset)
Fires in inc/classes/core/ec_email.php · queue_enabled()
wp_easycart_email_receipt_image_width
Filters the width in pixels of product images in receipt, invoice and abandoned cart emails.
Parameters
$width (int) image width in pixels, default 70
Fires in design/layout/base-responsive-v3/ec_abandoned_cart_email.php +4 more places
wp_easycart_email_sending_services
Filters the list of email sending services (name, SPF include and DKIM setup instructions) used by the email deliverability help screens.
Parameters
$services (array) service slug => array with ‘name’, ‘spf’ and ‘dkim’ keys; defaults include Google Workspace, Microsoft 365, SendGrid, Mailgun, Brevo, Amazon SES and others
Fires in inc/classes/core/ec_email.php · sending_services()
wp_easycart_email_smtp_plugins
Filters the names of the SMTP or mail plugins detected as active on the site.
Parameters
$found (array) display names of the detected mail plugins
$active the active plugins list used to detect them
Fires in inc/classes/core/ec_email.php · detect_smtp_plugins()
wp_easycart_gift_receipt_email_content PRO
Filters the HTML body of the gift receipt email before it is sent.
Parameters
$html (string) email HTML
order id (int) the order ID
$args (array) send arguments
Fires in inc/classes/core/wp_easycart_order_extras_pro.php · send_gift_receipt()
wp_easycart_gift_receipt_email_subject PRO
Filters the subject line of the gift receipt email.
Parameters
$subject (string) email subject
order id (int) the order ID
$from_name (string) the billing first name of the order
Fires in inc/classes/core/wp_easycart_order_extras_pro.php · send_gift_receipt()
wp_easycart_invoice_email_attachments PRO
Filters the file paths attached to the invoice email; extensions add generated files such as the invoice PDF.
Parameters
$files (array) file paths, empty by default
order id (int) the order ID
recipient (string) ‘customer’
$args (array) send arguments
Fires in inc/classes/core/wp_easycart_invoices_pro.php · send_invoice()
wp_easycart_invoice_email_content PRO
Filters the HTML body of the invoice email before it is sent.
Parameters
$html (string) invoice email HTML
order id (int) the order ID
Fires in inc/classes/core/wp_easycart_invoices_pro.php · render_email() +1 more place
wp_easycart_invoice_email_subject PRO
Filters the subject line of the invoice email.
Parameters
$subject (string) email subject, the invoice label plus the invoice number or order number
order id (int) the order ID
$record the invoice record, or false when none is issued
Fires in inc/classes/core/wp_easycart_invoices_pro.php · send_invoice()
wp_easycart_message_email_attachments PRO
Filters the files attached to a custom message email sent from the admin order screen.
Parameters
$attachments (array) file paths, empty by default
$order_id (int) the order ID
recipient (string) ‘customer’
$send_args (array) per-send choices
Fires in admin/inc/wp_easycart_admin_details_orders_pro_v2.php · ajax_send_custom_email()
wp_easycart_order_email_attachments
Filters the files attached to order emails such as receipts and invoices; returned paths are added to the built-in attachments.
Parameters
$attachments (array) file paths, empty by default
order id (int) the order ID
$recipient (string) ‘customer’ or ‘admin’
$context (array) email kind (receipt or invoice), the order display object and per-send args
Fires in inc/classes/account/ec_orderdisplay.php · get_email_attachments()
wp_easycart_order_email_log_meta
Filters extra key and text details saved in the order log entry when an order email is sent from the admin.
Parameters
$meta (array) key => text, empty by default
order id (int) the order ID
log key (string) order-receipt-email, order-shipping-email or order-packing-slip-email
$args (array) per-send choices
Fires in admin/inc/wp_easycart_admin_orders.php · log_email_extras()
wp_easycart_order_email_preview
Filters the preview HTML shown for an order email on the admin order screen, letting extensions supply previews for their own email kinds.
Parameters
$html (string) preview HTML so far, empty for an email kind WP EasyCart does not know
$email (string) the email kind
$order_id (int) the order ID
$args (array) per-send choices
Fires in admin/inc/wp_easycart_admin_orders.php · ecv2_order_email_preview()
wp_easycart_order_send_args
Filters the extra arguments used when an order email is sent or previewed from the admin order screen.
Parameters
$args (array) Send arguments, empty by default.
$order_id (int) The order id.
$email (string) Email type: receipt, shipped or packing_slip.
Fires in admin/inc/wp_easycart_admin_orders.php · ecv2_order_send_args()
wp_easycart_packing_slip_email_attachments PRO
Filters the files attached to a packing slip email.
Parameters
$files (array) Attachment file paths, empty by default.
$order_id (int) The order id.
$recipient (string) Recipient, always ‘customer’.
$args (array) Per-send choices.
Fires in inc/classes/core/wp_easycart_documents_pro.php · send_packing_slip_email()
wp_easycart_packing_slip_email_content PRO
Filters the HTML body of the packing slip email before it is sent.
Parameters
$html (string) The email HTML.
$order_id (int) The order id.
$args (array) Per-send choices.
Fires in inc/classes/core/wp_easycart_documents_pro.php · send_packing_slip_email()
wp_easycart_packing_slip_email_subject PRO
Filters the subject line of the packing slip email.
Parameters
$subject (string) The subject, including the order number.
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_documents_pro.php · send_packing_slip_email()
wp_easycart_pdf_receipt_emails PRO
Filters which emails may carry the PDF receipt or invoice attachment.
Parameters
$emails (array) Email types, default receipt and invoice.
Fires in inc/classes/core/wp_easycart_documents_pro.php · receipt_attachments() +1 more place
wp_easycart_setup_email_list
Filters the emails listed on the Email settings page, with when each is sent and its controls.
Parameters
$out (array) Key => label, when, types, control, plan, url and copies.
Fires in admin/inc/setup/wp_easycart_admin_setup_emails.php · emails()
wp_easycart_setup_email_state
Filters how the Email settings page rates the store’s email sending, from the last seven days of the email log.
Parameters
$state (string) new, failing or working.
$h (array|null) The email health; null without the email log.
Fires in admin/inc/setup/wp_easycart_admin_setup_emails.php · mail_state()
wp_easycart_setup_email_steps
Filters the set-up steps on the Email settings page.
Parameters
$steps (array) Each: key, state, title, text and html.
Fires in admin/inc/setup/wp_easycart_admin_setup_emails.php · steps()
wp_easycart_shipping_email_accent_color
Filters the accent color used in the shipping notification email.
Parameters
$accent (string) Accent color, defaults to the store’s main details color.
Fires in design/layout/base-responsive-v3/ec_shipping_email.php
wp_easycart_shipping_email_address_lines
Filters the address lines printed in the shipping email for the billing or shipping address.
Parameters
$lines (array) Formatted address lines.
$type (string) Address type, billing or shipping.
$order (object) The order row.
Fires in design/layout/base-responsive-v3/ec_shipping_email.php +1 more place
wp_easycart_shipping_email_attachments
Filters the list of file attachments added to the customer shipping email.
Parameters
$attachments (array) Attachments, starts empty.
$order_id (int) Order id.
$recipient Email recipient.
$args Options passed when sending the shipping email.
Fires in admin/inc/wp_easycart_admin_orders.php · shipping_attachments()
wp_easycart_shipping_email_content
Filters the rendered HTML body of the customer shipping email before it is sent.
Parameters
$message (string) Email HTML.
$order_id (int) Order id.
$args Options passed when sending the shipping email.
Fires in admin/inc/wp_easycart_admin_orders.php · send_customer_shipping_email()
wp_easycart_shipping_email_subject
Filters the subject line of the customer shipping email.
Parameters
$subject (string) Subject, the shipping email title followed by the order id.
$order_id (int) Order id.
Fires in admin/inc/wp_easycart_admin_orders.php · send_customer_shipping_email()
wp_easycart_shipping_email_track_button_text
Filters the text of the track-your-package button in the shipping email.
Parameters
$text (string) Button text, default Track your package.
$order (object) The order row.
Fires in design/layout/base-responsive-v3/ec_shipping_email.php
wp_easycart_shipping_email_tracking_url
Filters the carrier tracking link used by the shipping email button.
Parameters
$url (string) Tracking URL built from the carrier and tracking number.
$carrier (string) Carrier name.
$tracking (string) Tracking number.
$order (object) The order row.
Fires in design/layout/base-responsive-v3/ec_shipping_email.php
wp_easycart_stock_alert_recipients PRO
Filters the admin email addresses that receive low stock alerts and the low stock digest.
Parameters
$recipients (string) Comma-separated addresses, defaults to the store notification (BCC) addresses.
Fires in inc/classes/core/ec_notifications.php · alert_recipients() +1 more place
wp_easycart_stock_alert_skip_sources
Filters the stock change sources that do not trigger a low stock alert email.
Parameters
$skip_sources (array) Source slugs to skip, default import and square.
Fires in inc/classes/core/ec_notifications.php · check_stock_change()
wp_easycart_subscription_reminder_data
Filters the data a subscription reminder email is built from: the renewal reminder, the free trial ending reminder and the price change notice.
Parameters
$reminder (array) Keys kind (renewal, trial or price), subscription_id, title, first_name, date, at, amount, amount_text, period_text, price_text, old_price_text and link (the subscription in My Account).
$row (object) The subscription row.
Fires in inc/classes/core/class-wp-easycart-subscription-reminders.php · build()
wp_easycart_subscription_reminder_live
Lets an extension supply the live Stripe subscription a due reminder is checked against instead of asking Stripe; its status, dates, cancel settings and items decide whether the reminder goes, its date and its amount.
Parameters
$live (object|null) null by default (ask Stripe); return an object shaped like Stripe’s subscription.
$row (object) The ec_subscription row.
$kind (string) renewal or trial.
Fires in inc/classes/core/class-wp-easycart-subscription-reminders.php · confirm()
wp_easycart_subscription_reminder_settings
Filters the subscription reminder settings before the reminder job uses them to decide whether it runs and which reminders are due; the days are then kept between 1 and 90.
Parameters
$settings (array) Keys renewal and trial (on or off), renewal_days and trial_days, from the Subscription reminders email settings.
Fires in inc/classes/core/class-wp-easycart-subscription-reminders.php · settings()
wp_easycart_subscription_renewal_reminder_applies
Filters whether an Active subscription inside the reminder window gets a renewal reminder email; by default only subscriptions billed yearly or less often do.
Parameters
$applies (bool) True when it bills once a year or less often.
$row (object) The ec_subscription row.
Fires in inc/classes/core/class-wp-easycart-subscription-reminders.php · due_item()
wp_easycart_withdrawal_recipients
Filters who gets the store’s email notice when an EU withdrawal statement arrives.
Parameters
$list (string[]) Email addresses: the Send the store’s copy to setting, else the order notification addresses, else the site’s admin email.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · recipients()
wpeasycart_email_method PRO
Filters the email send method used for store emails, where 1 sends through wp_mail.
Parameters
$email_send_method (string) Value of the ec_option_use_wp_mail setting; ‘1’ uses wp_mail.
Fires in wpeasycart.php · wp_easycart_send_activation_email() +20 more places
wpeasycart_email_receipt_enable_view_order_button
Filters whether the order receipt email shows a View Order button instead of a plain link.
Parameters
$enable (bool) False by default; return true to show the button.
Fires in design/layout/base-responsive-v3/ec_cart_email_receipt.php
wpeasycart_inquiry_email_admin_content
Filters the HTML content of the product inquiry email sent to the store.
Parameters
$admin_message (string) Store copy of the inquiry email body.
$filter_options (array) Inquiry details passed to the filters.
Fires in inc/classes/cart/ec_cartpage.php · process_send_inquiry()
wpeasycart_inquiry_email_admin_subject
Filters the subject of the product inquiry email sent to the store.
Parameters
$admin_subject (string) Subject line.
Fires in inc/classes/cart/ec_cartpage.php · process_send_inquiry()
wpeasycart_inquiry_email_content
Filters the HTML content of the product inquiry email sent to the shopper.
Parameters
$message (string) Shopper copy of the inquiry email body.
$filter_options (array) Inquiry details passed to the filters.
Fires in inc/classes/cart/ec_cartpage.php · process_send_inquiry()
wpeasycart_inquiry_email_recipient
Filters the address or addresses that receive a product inquiry.
Parameters
$store_email (string) Recipient addresses.
$product (object) Product row the inquiry is about.
Fires in inc/classes/cart/ec_cartpage.php · process_send_inquiry()
wpeasycart_inquiry_email_subject
Filters the subject of the product inquiry email sent to the shopper.
Parameters
$subject (string) Subject line.
Fires in inc/classes/cart/ec_cartpage.php · process_send_inquiry()
wpeasycart_order_email_admin_content
Filters the HTML content of the order receipt email sent to the store.
Parameters
$admin_message (string) Store copy of the receipt email body.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt()
wpeasycart_order_email_admin_email
Filters the address or addresses that receive the store copy of an order receipt.
Parameters
$admin_email (string) Value of the ec_option_bcc_email_addresses setting.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt()
wpeasycart_order_email_admin_title
Filters the subject of the order receipt email sent to the store.
Parameters
$admin_title (string) Subject line.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt()
wpeasycart_order_email_attachments
Filters the list of file attachments added to an order receipt or invoice email.
Parameters
$attachments (array) Attachment file paths; empty by default.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt() +1 more place
wpeasycart_order_email_customer_content
Filters the HTML content of the order receipt email sent to the customer.
Parameters
$message (string) Customer receipt email body.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt()
wpeasycart_order_email_customer_title
Filters the subject of the order receipt email sent to the customer.
Parameters
$customer_title (string) Subject line.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_email_receipt()
wpeasycart_refund_email_admin_content
Filters the HTML content of the refund email sent to the store.
Parameters
$admin_message (string) Store copy of the refund email body.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()
wpeasycart_refund_email_admin_email
Filters the address or addresses that receive the store copy of a refund email.
Parameters
$admin_email (string) Value of the ec_option_bcc_email_addresses setting.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()
wpeasycart_refund_email_admin_title
Filters the subject of the refund email sent to the store.
Parameters
$admin_title (string) Subject line.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()
wpeasycart_refund_email_attachments
Filters the list of file attachments added to a refund email.
Parameters
$attachments (array) Attachment file paths; empty by default.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()
wpeasycart_refund_email_customer_content
Filters the HTML content of the refund email sent to the customer.
Parameters
$message (string) Customer refund email body.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()
wpeasycart_refund_email_customer_title
Filters the subject of the refund email sent to the customer.
Parameters
$customer_title (string) Subject line.
$order_id (int) Order id.
Fires in inc/classes/account/ec_orderdisplay.php · send_refund_email()

Offers and coupons

Grouped by what they are about

35 filters

wp_easycart_admin_coupon_details_stepfour_fields_list PRO
Filters the list of field definitions shown in step four of the admin promotion details form.
Parameters
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.
Fires in admin/inc/wp_easycart_admin_details_promotions.php · stepfour_fields()
wp_easycart_admin_coupon_details_stepone_fields_list PRO
Filters the list of field definitions shown in step one of the admin coupon or promotion details form.
Parameters
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.
Fires in admin/inc/wp_easycart_admin_details_coupons.php · stepone_fields() +1 more place
wp_easycart_admin_coupon_details_stepthree_fields_list PRO
Filters the list of field definitions shown in step three of the admin coupon details form.
Parameters
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.
Fires in admin/inc/wp_easycart_admin_details_coupons.php · stepthree_fields() +2 more places
wp_easycart_admin_coupon_details_steptwo_fields_list PRO
Filters the list of field definitions shown in step two of the admin coupon or promotion details form.
Parameters
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.
Fires in admin/inc/wp_easycart_admin_details_coupons.php · steptwo_fields() +1 more place
wp_easycart_admin_offer_list_filters PRO
Filters the filter controls shown above the admin offers list.
Parameters
$filters (array) Filter definitions, each with data, label, type and where clause.
Fires in admin/inc/wp_easycart_admin_offer_table.php · setup()
wp_easycart_admin_product_offer_test PRO
Filters the result of testing a typed offer code against a product in the product editor’s Offers section.
Parameters
$result (array) the test result built by the offer code test
$product (object) the product
$raw_code (string) the code as typed
Fires in admin/inc/wp_easycart_admin_products_pro_v2.php · wp_easycart_pro_v2_offer_code_test()
wp_easycart_admin_product_offers_group_cap PRO
Filters the maximum number of offers listed per group in the product editor’s Offers section (default 100).
Parameters
$cap (int) maximum number of offers per group, default 100
$product_id (int) the product id
Fires in admin/inc/wp_easycart_admin_products_pro_v2.php · ecv2_product_offers()
wp_easycart_cart_link_destination
Filters the URL a shopper is redirected to after a cart link is applied (the cart page, or checkout for links set to go to checkout).
Parameters
$destination (string) The cart or checkout page URL.
$link (object) The cart link record.
$added Result of adding the link’s items to the cart.
Fires in inc/classes/core/class-wp-easycart-cart-link.php · resolve()
wp_easycart_cart_link_url
Filters the public URL of a cart link, built from the store page and the link’s token.
Parameters
$url (string) The store page URL with the ec_cart_apply token added.
$token (string) The cart link token.
Fires in inc/classes/core/class-wp-easycart-cart-link.php · get_url()
wp_easycart_discount_display_label
Filters the words an applied offer is printed with on a customer-facing document.
Parameters
$text (string) The label, with ” (CODE)” when the code is shown.
$offer (array) The applied offer entry.
$show (bool) Whether the code is shown.
$context (string) Where it prints.
Fires in inc/classes/core/class-wp-easycart-order-discounts.php · display_label()
wp_easycart_ecv2_cart_link_get
Filters the cart link record returned to the admin editor when a cart link is loaded.
Parameters
$link (object) The cart link, including its public url.
Fires in admin/inc/wp_easycart_admin_cart_links.php · ajax_get()
wp_easycart_ecv2_cart_link_is_pro
Filters whether the PRO cart links features are active in the admin cart links screen.
Parameters
$pro (bool) True when PRO has hooked the cart link max items filter.
Fires in admin/inc/wp_easycart_admin_cart_links.php · is_pro()
wp_easycart_ecv2_cart_link_max_items
Filters the maximum number of products a saved cart link may hold; the free plugin allows 1 and PRO raises it.
Parameters
$value (int) Maximum items per cart link; 1 by default.
Fires in admin/inc/wp_easycart_admin_cart_links.php · ajax_save()
wp_easycart_ecv2_cart_link_product_data
Filters the product data returned to the cart link editor when a product is chosen, letting PRO add modifiers.
Parameters
$payload (array) Product data including sku, price, basic options and modifiers.
$product (object) The product row.
Fires in admin/inc/wp_easycart_admin_cart_links.php · ajax_product_data()
wp_easycart_ecv2_cart_link_save_data
Filters the data saved for a cart link, such as promo codes, expiry and max uses.
Parameters
$data (array) The cart link fields to save.
$_POST (array) The submitted form data.
Fires in admin/inc/wp_easycart_admin_cart_links.php · ajax_save()
wp_easycart_ecv2_cart_link_save_items
Filters the items saved for a cart link, letting PRO add modifier values.
Parameters
$items (array) The cart link items.
$_POST (array) The submitted form data.
Fires in admin/inc/wp_easycart_admin_cart_links.php · ajax_save()
wp_easycart_groupon_uses_per_code Groupon
Filters how many times each imported deal code can be used.
Parameters
$per_code (int) uses per code, default 1
$deal the deal the codes are imported into
Fires in includes/class-wp-easycart-groupon-codes.php · import()
wp_easycart_offer_badge_default_text PRO
Filters the words an offer’s badge shows when the store left the badge text empty.
Parameters
$text (string) The badge text (plain text).
$offer (ec_offer) The offer.
Fires in inc/classes/core/ec_offer_display.php · default_badge_text()
wp_easycart_offer_callout_icon
Filters the icon printed before an offer’s callout on a product; return markup, or an empty string for no icon.
Parameters
'<span class="dashicons dashicons-megaphone ..."></span>' (string) The icon markup, a megaphone by default.
$callout (array) The callout, with its text and countdown.
$callout_product_id (int) The product id.
Fires in design/layout/base-responsive-v3/ec_offer_product_callout.php
wp_easycart_offer_compare_at_sales PRO
Filters the products the cart’s offer lines count as on sale because of their compare-at price. Return an empty array to count only classic promotions.
Parameters
$sales (bool[]) product_id => true.
$cart_items (array) The cart items.
Fires in inc/classes/core/ec_offer_engine.php · compare_at_sales()
wp_easycart_offer_completed_order_join PRO
Filters the SQL join that limits offer purchase history checks to completed orders; by default only orders with an approved status count.
Parameters
$join (string) SQL INNER JOIN clause on ec_orderstatus where is_approved = 1
Fires in inc/classes/core/ec_offer_engine.php · completed_order_join()
wp_easycart_offer_context PRO
Filters the context array (cart session, customer, roles and coupon code) the offer engine evaluates against.
Parameters
$context (array) context with session_id, user_id, email, roles, logged_in and legacy_coupon_code
Fires in inc/classes/core/ec_offer_integration.php · get_context()
wp_easycart_offer_custom_action PRO
Lets an extension build the application for a custom offer action type; return an array to apply it, or false to skip.
Parameters
$application (array|false) offer application, false by default
$offer the offer being applied
$lines the cart lines
$buy_indexes indexes of the lines that qualify
$context the offer context
Fires in inc/classes/core/ec_offer_engine.php · build_application()
wp_easycart_offer_custom_condition PRO
Lets an extension evaluate a custom offer condition type; return true when the condition passes.
Parameters
$passes (bool) result, false by default
$condition the condition being evaluated
$offer the offer
$lines the cart lines
$eligible_indexes indexes of the eligible lines
$context the offer context
Fires in inc/classes/core/ec_offer_engine.php · condition_passes()
wp_easycart_offer_eligible_lines PRO
Filters the cart lines an offer is eligible to apply to.
Parameters
$eligible (array) indexes of the eligible cart lines
$offer the offer
$lines the cart lines
$side which side of the offer is being checked
Fires in inc/classes/core/ec_offer_engine.php · get_eligible_lines()
wp_easycart_offer_evaluation_result PRO
Filters the final result of evaluating all offers against a cart.
Parameters
$result (object) the evaluation result, including the lines
$cart_items the cart items evaluated
$context the offer context
Fires in inc/classes/core/ec_offer_engine.php · evaluate()
wp_easycart_offer_line_savings
Filters the savings figures (code, automatic and shown) calculated for an order line from its offer discounts.
Parameters
$savings (array) code, automatic and shown amounts for the whole line, in base currency
$offer_discounts (array|string) the line’s offer discounts
Fires in wpeasycart.php · wp_easycart_offer_line_savings()
wp_easycart_offer_product_scope_match PRO
Filters the result of checking whether an offer applies to a product.
Parameters
$result (array) the scope match result, including applies, coverage and blocker
$offer the offer
$product the product checked
Fires in inc/classes/core/ec_offer_engine.php · product_scope_match() +2 more places
wp_easycart_offer_reversal_statuses
Filters the order status IDs that reverse offer usage when an order moves to that status.
Parameters
$statuses (array) order status IDs, default 16 and 19
Fires in wpeasycart.php · wp_easycart_offers_status_listener()
wp_easycart_offers_available PRO
Filters whether the offers engine is available, optionally for a minimum version.
Parameters
$available (bool) true by default
$min_version (string) minimum offers version required, or empty
Fires in inc/classes/core/ec_offer_bootstrap.php · wp_easycart_offers_available()
wp_easycart_offers_licensed PRO
Filters whether the offers feature is licensed.
Parameters
$licensed (bool) whether the WP EasyCart license is valid
Fires in inc/classes/core/ec_offer_bootstrap.php · wp_easycart_offers_licensed()
wp_easycart_offers_listing_price
Filters the price a store product card shows, asked only where a card can show an offer’s price.
Parameters
$answer (array) offer, price and strike.
$product (ec_product) The product.
Fires in wpeasycart.php · wp_easycart_offers_listing_price()
wp_easycart_product_offers_candidate_limit PRO
Filters how many candidate offers the product editor’s offers panel loads for a product.
Parameters
$limit (int) Candidate limit, default 100.
$product_id (int) The product id.
Fires in admin/inc/wp_easycart_admin_products_pro_v2.php · ecv2_product_offers()
wp_easycart_product_offers_candidate_limit_max PRO
Filters the maximum number of candidate offers the product editor’s offers panel can load when checking more offers.
Parameters
$limit (int) Maximum limit, default 500.
$product_id (int) The product id.
Fires in admin/inc/wp_easycart_admin_products_pro_v2.php · ecv2_product_offers()
wp_easycart_show_discount_codes
Filters whether a customer-facing document prints discount codes. Default the store’s setting.
Parameters
$show (bool) The setting.
$context (string) Where it prints.
Fires in inc/classes/core/class-wp-easycart-order-discounts.php · show_codes()

Reviews

Grouped by what they are about

7 filters

wp_easycart_review_email_text
Filters a text string used in the review request and review reply emails.
Parameters
$fallback (string) The default text.
$key (string) Identifier of the text, such as greeting.
Fires in design/layout/base-responsive-v3/ec_review_reply_email.php +1 more place
wp_easycart_review_reply_label
Filters the label above the store’s reply to a review.
Parameters
$label (string) sprintf format with one %s for the responder, default ‘Response from %s’.
Fires in inc/classes/core/ec_review.php · display_reply()
wp_easycart_review_reply_subject
Filters the subject of the email sent to a customer when the store replies to their review.
Parameters
$subject (string) The subject line.
$vars (array) Template variables for the email, including store_name.
Fires in inc/classes/core/ec_reviews.php · send_reply_email()
wp_easycart_review_request_subject
Filters the subject of the review request and review reminder emails.
Parameters
$subject (string) The subject line, with {store} and {first_name} already replaced.
$vars (array) Template variables for the email.
Fires in inc/classes/core/ec_reviews.php · send_request_email()
wp_easycart_review_verified_label
Filters the Verified buyer badge text shown on a review.
Parameters
$label (string) Badge text, default ‘Verified buyer’.
Fires in inc/classes/core/ec_review.php · display_verified_badge()
wp_easycart_reviews_pagnation_perpage
Filters how many reviews are shown per page in the product reviews list.
Parameters
$perpage (int) Reviews per page, default 6.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +2 more places
wp_easycart_reviews_pro_enabled
Filters whether the PRO review features are treated as enabled.
Parameters
$pro (bool) True when PRO is active and licensed.
Fires in inc/classes/core/ec_reviews.php · is_pro()

Reports and analytics

Grouped by what they are about

43 filters

wp_easycart_export_report_list
Filters the download links produced when a report export job finishes.
Parameters
$reports (object) report keys (report1, report2, reporttax) => file URL
$start_date report start date from the job
$end_date report end date from the job
product id (int) product filter from the job
country shipping country filter from the job
billing country billing country filter from the job
Fires in admin/inc/wp_easycart_admin.php · report_job_step()
wp_easycart_google_ads_conversion
Filters the Google Ads conversion a purchase is sent to. Return an empty string to send none.
Parameters
$send_to (string) AW-ID/label.
Fires in inc/classes/core/class-wp-easycart-google-ads.php · wp_easycart_google_ads_conversion()
wp_easycart_meta_advanced_matching
Filters the customer matching data (hashed email and external ID) sent with Meta Pixel events.
Parameters
$matching (array) advanced matching values: em and external_id
$user_id (int) account ID, 0 for a guest
$email (string) the email, when known
Fires in inc/classes/core/class-wp-easycart-meta.php · advanced_matching()
wp_easycart_meta_capi_calling_code PRO
Filters the phone calling code for a country used in Meta Conversions API customer data.
Parameters
$code (string) calling code for the country
$country (string) lowercased country code
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · calling_code()
wp_easycart_meta_capi_enabled PRO
Filters whether the Meta Conversions API (server-side events) is enabled.
Parameters
$enabled (bool) true when the setting, license, pixel ID and access token are all present
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · is_enabled()
wp_easycart_meta_capi_event PRO
Filters a Meta Conversions API event before it is queued; return a non-array to skip it.
Parameters
$event (array) the finalized event payload
$event_name (string) the event name
$context the event context
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · on_meta_event()
wp_easycart_meta_capi_purchase_event PRO
Filters the Meta Conversions API Purchase event built for an order.
Parameters
$event (array) the finalized purchase event
$order (object) the order
$context the event context
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · purchase_event()
wp_easycart_meta_capi_send_renewals PRO
Filters whether subscription renewal orders are sent to Meta as Purchase events.
Parameters
$send (bool) true by default
order id (int) the order ID
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · purchase_event()
wp_easycart_meta_capi_token PRO
Filters the access token used for the Meta Conversions API.
Parameters
$token (string) access token, from the connected extension or the saved setting
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · token()
wp_easycart_meta_currency
Filters the currency code sent with Meta events.
Parameters
$currency (string) ISO 4217 code of the store currency
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_meta_currency()
wp_easycart_meta_external_id
Filters the hashed external ID sent to Meta for a customer.
Parameters
$hashed (string) SHA-256 hex hash, or an empty string
$user_id (int) account ID
$email (string) lowercased email
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_meta_external_id()
wp_easycart_meta_is_storefront_request
Filters whether the current request is a storefront request that may announce Meta events.
Parameters
$storefront (bool) the answer so far
Fires in inc/classes/core/class-wp-easycart-meta.php · is_storefront()
wp_easycart_meta_parse_content_id
Filters the result of splitting a Meta content ID into product and variant parts.
Parameters
$parsed (array|false) parsed content ID, or false when it cannot be parsed
$content_id (string) the content ID
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_meta_parse_content_id()
wp_easycart_meta_pixel_id
Filters the Meta Pixel ID the storefront uses; non-digits are removed from the result.
Parameters
$pixel_id (string) pixel ID digits, or an empty string
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_meta_pixel_id()
wp_easycart_order_source
Filters the traffic source data saved on an order before it is written to the database.
Parameters
$row (array) source_type, source_name, last_source_type, last_source_name and source_data.
$order_id (int) The order id.
$kind (string) How the order was created: checkout, staff or renewal.
$data (array|null) The visitor’s recorded visits, checkout orders only.
Fires in inc/classes/core/class-wp-easycart-order-source.php · stamp()
wp_easycart_order_source_lists
Filters the referrer host lists (including the ignore list) used to classify where an order came from.
Parameters
$lists (array) Host lists used by order source tracking, including the ignore list.
Fires in inc/classes/core/class-wp-easycart-order-source.php · lists()
wp_easycart_order_sources_consent_category
Filters the cookie consent category order source tracking waits for before capturing visits.
Parameters
$category (string) marketing or statistics.
Fires in inc/classes/core/class-wp-easycart-order-source.php · consent_category()
wp_easycart_order_sources_pro
Filters whether order sources are shown in full, which WP EasyCart PRO turns on when licensed.
Parameters
$pro (bool) True when PRO shows sources in full, false by default.
Fires in inc/classes/core/class-wp-easycart-order-source.php · pro()
wp_easycart_order_sources_pro_licensed PRO
Filters whether PRO’s order sources feature treats the store as licensed.
Parameters
$licensed (bool) True when a valid license is active.
Fires in inc/classes/core/wp_easycart_order_sources_pro.php · licensed()
wp_easycart_order_sources_script
Filters whether the order source capture script is loaded on storefront pages.
Parameters
$load (bool) True to enqueue the script, default true.
Fires in inc/classes/core/class-wp-easycart-order-source.php · enqueue()
wp_easycart_pro_analytics_bot_signatures PRO
Filters the list of user agent fragments PRO analytics treats as bots and ignores.
Parameters
$signatures (array) Lowercase user agent fragments, such as googlebot and bingbot.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · is_bot()
wp_easycart_pro_analytics_capture_order PRO
Filters whether PRO analytics captures the shopper’s context at order time for server-side ad and analytics events.
Parameters
$wanted (bool) True when Facebook CAPI or direct GA4 tracking is turned on.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · capture_wanted()
wp_easycart_pro_analytics_client_ip PRO
Filters the shopper’s IP address as detected by PRO analytics; a non-public address is discarded.
Parameters
$ip (string) The detected client IP.
$remote The connecting remote address the detection started from.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · client_ip()
wp_easycart_pro_analytics_is_shopper_request PRO
Filters whether the current request is treated as coming from a shopper for PRO analytics.
Parameters
$shopper (bool) True when the request looks like a shopper’s.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · is_shopper_request()
wp_easycart_pro_analytics_private_query_args PRO
Filters the query string arguments removed from a source URL before PRO analytics stores it.
Parameters
$secret (array) Query argument names to strip, such as key, token and email.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · source_url()
wp_easycart_pro_analytics_unknown_consent PRO
Filters whether PRO analytics sends an order’s event when the shopper’s consent is unknown.
Parameters
$send (bool) True unless consent management is on.
$order_id (int) The order id.
$category (string) Consent category: marketing or statistics.
Fires in inc/classes/analytics/wp_easycart_analytics_pro.php · unknown_consent()
wp_easycart_product_tracking_payload
Filters what the Elementor Product Tracking widget sends with a product page’s view events.
Parameters
$data (array) The payload.
$product (ec_product) The product.
$settings (array) The widget’s settings.
Fires in admin/elementor/modules/product-info/includes/class-wp-easycart-product-tracking.php · payload()
wp_easycart_reports_insights
Filters the insight messages shown on the Reports overview.
Parameters
$out (array) Insights, each with a tone and text.
$cur (array) Numbers for the selected range.
$prev (array|null) Numbers for the compare range.
$args (array) Report arguments.
Fires in inc/classes/core/class-wp-easycart-reports.php · insights()
wp_easycart_reports_order_where
Filters extra SQL conditions appended to the order queries behind reports.
Parameters
$sql (string) Extra SQL, empty by default.
$args (array) Report arguments.
$alias (string) The ec_order table alias.
Fires in inc/classes/core/class-wp-easycart-reports.php · filter_sql()
wp_easycart_reports_pro_licensed PRO
Filters whether the Pro Reports are open, meaning the store has a valid license.
Parameters
$licensed (bool) True for a valid license.
Fires in inc/classes/core/wp_easycart_reports_pro.php · licensed()
wp_easycart_reports_pro_tabs
Filters the ids of the Pro Reports tabs that WP EasyCart PRO serves.
Parameters
$tabs (string[]) Tab ids, empty by default.
Fires in inc/classes/core/class-wp-easycart-reports.php · pro_tabs()
wp_easycart_reports_research_export
Filters the research export settings on the Reports page; returns null while locked.
Parameters
$research (array|null) Array with the AJAX action and nonce, or null.
Fires in inc/classes/core/class-wp-easycart-reports.php · page_config()
wp_easycart_reports_saved_views
Filters the saved report views for the current person; returns null while locked.
Parameters
$views (array|null) Saved views with id, name and state, or null.
Fires in inc/classes/core/class-wp-easycart-reports.php · page_config()
wp_easycart_reports_summary_frequencies
Filters the frequencies available for the report summary email.
Parameters
$frequencies (array) Frequency key => label, weekly by default.
Fires in inc/classes/core/class-wp-easycart-reports.php · frequencies()
wp_easycart_reports_summary_section_choices
Filters the optional sections a store can choose to include in the report summary email.
Parameters
$choices (array) Section key => label, empty by default.
Fires in inc/classes/core/class-wp-easycart-reports.php · summary_section_choices()
wp_easycart_reports_summary_sections
Filters the extra sections added to the report summary email when it is sent.
Parameters
$sections (array) Sections to add, each with a title, empty by default.
$args (array) The reporting period, including start2 and end2.
$frequency (string) daily, weekly or monthly.
$chosen (array) Section keys the store picked.
Fires in inc/classes/core/class-wp-easycart-reports.php · send_summary()
wp_easycart_reports_tab_data
Filters the data for a Reports tab; return an array to supply the tab’s data.
Parameters
$data (array|null) Tab data, null by default.
$tab (string) The tab id.
$args (array) Report arguments.
Fires in inc/classes/core/class-wp-easycart-reports.php · payload()
wp_easycart_reports_tabs
Filters the tabs on the Reports page.
Parameters
$tabs (array) Tab id => details such as label, plan, feature and description.
Fires in inc/classes/core/class-wp-easycart-reports.php · tabs()
wp_easycart_reports_totals
Filters the headline order totals calculated for a report date range.
Parameters
$out (array) Total figures.
$start (string) Range start, Y-m-d.
$end (string) Range end, Y-m-d.
$args (array) Report arguments.
Fires in inc/classes/core/class-wp-easycart-reports.php · totals()
wp_easycart_store_activity_countable
Filters whether a storefront request counts toward store activity (product views, searches, visits, add-to-carts and checkout steps); return false to leave it out. Not asked while store activity is off or for a signed-in administrator.
Parameters
$browser (bool) True when the user agent is a browser and not a crawler.
$agent (string) The visitor’s user agent.
Fires in inc/classes/core/class-wp-easycart-store-activity.php · why_not()
wp_easycart_subscription_mrr_statuses
Filters the subscription statuses that count toward monthly recurring revenue in WP EasyCart PRO’s Reports, Subscriptions list and Plans list.
Parameters
$statuses (string[]) Active, canceling, Failed and past_due by default, compared without case; an empty list falls back to Active.
Fires in inc/classes/core/class-wp-easycart-subscription-prices.php · wp_easycart_subscription_mrr_statuses()
wpeasycart_allow_pixel_code
Filters whether the Facebook pixel base code is printed in the page head on pages that contain a WP EasyCart shortcode.
Parameters
$allow (bool) Whether the pixel code may be printed; defaults to true.
Fires in wpeasycart.php · wp_easycart_check_for_shortcode() +2 more places
wpeasycart_marketing_consent
Filters whether the shopper has given marketing consent for a WP Consent API category.
Parameters
$has (bool) The answer so far.
$category (string) WP Consent API category.
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_has_marketing_consent()

Admin screens and settings

Grouped by what they are about

120 filters

wp_easycart_admin_ai_assistants
Filters the AI assistants listed on the AI assistants settings page. Default Claude, ChatGPT and Gemini.
Parameters
$assistants (array) Key => label, keys and help (the maker’s set-up guide).
Fires in admin/inc/wp_easycart_admin_ai_assistants.php · assistants()
wp_easycart_admin_bulk_category_options
Filters the bulk actions available in the admin categories list.
Parameters
$bulk_actions (array) List of actions, each an array with name and label.
Fires in admin/inc/wp_easycart_admin_category_table.php · setup()
wp_easycart_admin_bulk_offer_options PRO
Filters the bulk actions available in the admin offers list.
Parameters
$bulk_actions (array) List of actions, each an array with name and label.
Fires in admin/inc/wp_easycart_admin_offer_table.php · setup()
wp_easycart_admin_bulk_option_options
Filters the bulk actions available in the admin product options list.
Parameters
$bulk_actions (array) List of actions, each an array with name and label.
Fires in admin/inc/wp_easycart_admin_option_table.php · setup()
wp_easycart_admin_bulk_order_options
Filters the bulk actions available in the admin orders list.
Parameters
$bulk_actions (array) List of actions, each an array with name, label and optionally an alt array for a sub-selector such as order status.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_admin_bulk_product_options
Filters the bulk actions available in the admin products list.
Parameters
$bulk_actions (array) List of actions, each an array with name and label.
Fires in admin/inc/wp_easycart_admin_product_table.php · setup()
wp_easycart_admin_bulk_user_options
Filters the bulk actions available in the admin customer accounts list.
Parameters
$bulk_actions (array) List of actions, each an array with name and label.
Fires in admin/inc/wp_easycart_admin_user_table.php · setup()
wp_easycart_admin_capability PRO
Filters the WordPress capability a user needs to use WP EasyCart admin actions, such as offer management.
Parameters
$capability (string) Capability name; defaults to manage_options.
Fires in admin/inc/wp_easycart_admin_offer_table.php · ecv2_offer_redemptions_panel() +3 more places
wp_easycart_admin_category_list_filters
Filters the filter controls shown above the admin categories list.
Parameters
$filters (array) List of filter definitions, each with data, label, type and where clause.
Fires in admin/inc/wp_easycart_admin_category_table.php · setup()
wp_easycart_admin_claude_plugin
Filters the Claude plugin the AI assistants settings page tells you to install.
Parameters
array() (array) marketplace, plugin and url; empty values keep the defaults.
Fires in admin/inc/wp_easycart_admin_ai_assistants.php · claude_plugin()
wp_easycart_admin_compat_locked
Filters whether the WP EasyCart admin is locked because a required plugin version is missing or too old.
Parameters
$locked (bool) True when at least one requirement is unmet.
$conflicts (array) The unmet requirements.
Fires in admin/inc/wp_easycart_admin_compat_lock.php · is_locked()
wp_easycart_admin_compat_requirements
Filters the plugin versions this release needs before its admin can load.
Parameters
$requirements (array) Required plugin versions that the compatibility check tests.
Fires in admin/inc/wp_easycart_admin_compat_lock.php · requirements()
wp_easycart_admin_currency_symbol
Filters the currency symbol shown beside currency fields in the admin product editor.
Parameters
$symbol (string) Currency symbol for the store’s currency.
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · print_field_v2()
wp_easycart_admin_date_format
Filters the PHP date format an admin date style prints with.
Parameters
$format (string) The date format.
$style (string) The date style.
$order (string) The day, month and year order: dmy, mdy or ymd.
Fires in inc/classes/core/class-wp-easycart-dates.php · format()
wp_easycart_admin_date_order
Filters the order admin dates follow, worked out from a date format. Any value other than dmy, mdy or ymd falls back to mdy.
Parameters
$order (string) dmy, mdy or ymd.
$format (string) The date format read.
Fires in inc/classes/core/class-wp-easycart-dates.php · order()
wp_easycart_admin_datetime_format_oldest
Filters how a date and time is displayed in admin list tables when it falls in a previous year.
Parameters
$formatted (string) Formatted date using the site’s date and time formats.
$date_timestamp (int) Unix timestamp of the date being displayed.
Fires in admin/inc/wp_easycart_admin_table.php · format_relative_date()
wp_easycart_admin_datetime_format_same_week
Filters how a date and time is displayed in admin list tables when it falls earlier in the past week (not today or yesterday).
Parameters
$formatted (string) Formatted weekday name and time.
$date_timestamp (int) Unix timestamp of the date being displayed.
Fires in admin/inc/wp_easycart_admin_table.php · format_relative_date()
wp_easycart_admin_datetime_format_same_year
Filters how a date and time is displayed in admin list tables when it falls earlier in the current year but more than a week ago.
Parameters
$formatted (string) Formatted short month, day and time.
$date_timestamp (int) Unix timestamp of the date being displayed.
Fires in admin/inc/wp_easycart_admin_table.php · format_relative_date()
wp_easycart_admin_datetime_format_today
Filters how a date and time is displayed in admin list tables when it falls today.
Parameters
$formatted (string) Text made of the word Today followed by the time.
$date_timestamp (int) Unix timestamp of the date being displayed.
Fires in admin/inc/wp_easycart_admin_table.php · format_relative_date()
wp_easycart_admin_datetime_format_yesterday
Filters how a date and time is displayed in admin list tables when it falls yesterday.
Parameters
$formatted (string) Text made of the word Yesterday followed by the time.
$date_timestamp (int) Unix timestamp of the date being displayed.
Fires in admin/inc/wp_easycart_admin_table.php · format_relative_date()
wp_easycart_admin_deferred_checks
Filters the admin checks that run after the page shows.
Parameters
$checks (array) Key => array( caps, ready, render ).
Fires in admin/inc/wp_easycart_admin_deferred_checks.php · checks()
wp_easycart_admin_ecv2_advanced_pricing_enabled
Filters whether advanced pricing (B2B tiers and role pricing) is enabled, controlling badges and menus in the admin product price cell.
Parameters
$enabled (bool) False by default; Pro turns it on.
Fires in admin/inc/wp_easycart_admin_product_table.php · print_price_cell_badges() +2 more places
wp_easycart_admin_ecv2_option_set_search_types
Filters which option set types can be found when searching for an option set in the admin product editor.
Parameters
$types (array) Option set type slugs; defaults to basic-combo and basic-swatch.
Fires in admin/inc/wp_easycart_admin_catalog_v2.php · ecv2_option_set_search()
wp_easycart_admin_ecv2_price_cell_badges
Filters the badges shown in a product’s price cell in the admin products list.
Parameters
$badges (array) Badge definitions (each with keys such as class and action).
$result (object) Product row being displayed.
Fires in admin/inc/wp_easycart_admin_product_table.php · print_price_cell_badges()
wp_easycart_admin_ecv2_save_price_response
Filters the JSON response sent back after prices are saved from the admin products list, letting Pro add data to refresh the interface.
Parameters
$response (array) Response data for the price counts and related values.
$product_id (int) ID of the product whose prices were saved.
Fires in admin/inc/wp_easycart_admin_product_table.php · ecv2_product_save_prices()
wp_easycart_admin_edition_state
Filters the license state the admin wording is based on, such as free, trial, pro or premium.
Parameters
$state (array) Array with tier (free, trial, pro or premium), lapsed (bool) and end (timestamp).
Fires in admin/inc/wp_easycart_admin_edition.php · state()
wp_easycart_admin_error_messages
Filters the error messages shown as notices at the top of WP EasyCart admin screens.
Parameters
$messages (array) Messages to display as error notices; empty by default.
Fires in admin/inc/wp_easycart_admin.php · print_admin_message()
wp_easycart_admin_extensions_nav
Filters the entries in the left navigation under Extensions in the admin.
Parameters
$items (array) Rows with label, url and current (bool) keys.
Fires in admin/inc/wp_easycart_admin_extensions.php · nav_items()
wp_easycart_admin_fee_details_basic_fields_list PRO
Filters the list of basic field definitions shown on the admin fee details form.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and value.
Fires in admin/inc/wp_easycart_admin_details_fee.php · basic_fields()
wp_easycart_admin_fold_wp_menu
Filters whether WordPress’s admin menu is folded to icons on a WP EasyCart screen. Default true unless the person opened the menu on an EasyCart screen (their wpecmfold user setting is o).
Parameters
$folded (bool) Whether the menu is folded.
Fires in admin/inc/wp_easycart_admin.php · wp_menu_folded()
wp_easycart_admin_frame_fold
Lets an admin screen fold the EasyCart menu to icons to make room for its content, as the product editor does. Return false, or an array with folded (how the menu starts), action (the AJAX action the fold button posts to) and nonce.
Parameters
false (array|false) False: the menu does not fold on this screen.
Fires in admin/template/admin-frame.php
wp_easycart_admin_inventory_columns
Filters the columns shown in the admin inventory table.
Parameters
$columns (array) Column definitions, each with name, label and optional responsive hide keys.
$pro_enabled (bool) Whether Pro is active.
Fires in admin/inc/wp_easycart_admin_inventory_table.php · __construct()
wp_easycart_admin_inventory_health_stats
Filters the health stat tiles shown above the admin inventory table.
Parameters
$stats (array) Stat tiles, each with label, value, filter_value, color and group.
$pro_enabled (bool) Whether Pro is active.
$threshold (int) Low stock threshold.
Fires in admin/inc/wp_easycart_admin_inventory_table.php · build_health_stats()
wp_easycart_admin_inventory_health_where
Filters the SQL WHERE fragment for an inventory health filter, letting extensions handle filter keys the core does not know.
Parameters
$where (string) WHERE fragment for the selected filter.
$filter_key (string) Health filter key being applied.
$context (array) Array with threshold (low stock threshold) and pro_enabled (bool).
Fires in admin/inc/wp_easycart_admin_inventory_table.php · get_health_filter_where()
wp_easycart_admin_inventory_qty_reason
Filters the reason key recorded when an admin changes an inventory quantity.
Parameters
$reason (string) Default reason key: manual-set, manual-add, manual-remove or tracking-started.
$requested (string) Reason key posted by the quantity popover; may be empty.
$mode (string) Change mode: set, add or remove.
Fires in admin/inc/wp_easycart_admin_inventory.php · ajax_set_qty()
wp_easycart_admin_inventory_qty_reason_error
Filters whether an inventory quantity change is refused for lacking a valid reason; return a non-empty message to block the save.
Parameters
$message (string) Refusal message; empty allows the change.
$requested (string) Reason key posted by the popover.
$mode (string) Change mode: set, add or remove.
$context (array) Array with tracked, has_mode, product_id and oiq_id.
Fires in admin/inc/wp_easycart_admin_inventory.php · ajax_set_qty()
wp_easycart_admin_inventory_select
Filters extra SELECT SQL that Pro adds to each branch of the admin inventory query.
Parameters
$extra (array) Array with basic and variant keys holding SQL fragments, each starting with a comma.
$pro_enabled (bool) Whether Pro is active.
Fires in admin/inc/wp_easycart_admin_inventory_table.php · get_extra_select()
wp_easycart_admin_js_text
Filters the translated words a group of admin scripts receives, before they are printed as window.wpEasyCartText.
Parameters
$data (array) The strings (s) and plural forms (p).
$group (string) The script group.
Fires in admin/inc/wp_easycart_admin_js_text.php · attach()
wp_easycart_admin_lock_icon
Filters the lock icon marker shown on Pro-only features in the admin; an empty string means Pro features are unlocked.
Parameters
'locked' (string) In the free edition ‘locked’ or the lock icon markup; empty when PRO features are available.
Fires in admin/inc/wp_easycart_admin.php · load_scripts() +28 more places
wp_easycart_admin_money_format
Filters the store’s amount format as admin scripts receive it.
Parameters
$format (array) symbol, before, left, negBefore, decimals, dec, group, thou, code and space.
Fires in admin/inc/wp_easycart_admin.php · wp_easycart_admin_money_format()
wp_easycart_admin_offers_trial
Filters whether the Free plan’s locked PRO features lead with the free trial.
Parameters
$offer (bool) Whether the trial is offered.
Fires in admin/inc/wp_easycart_admin_edition.php · offers_trial()
wp_easycart_admin_option_list_filters
Filters the filter controls shown above the admin option sets list.
Parameters
$filters (array) Filter definitions, each with data, label, type and where clause.
Fires in admin/inc/wp_easycart_admin_option_table.php · setup()
wp_easycart_admin_order_list_columns
Filters the columns loaded for the admin orders list table.
Parameters
$columns (array) Column definitions, each with select, name, format and label keys.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_admin_order_list_filters
Filters the filter controls shown above the admin orders list.
Parameters
$filters (array) Filter definitions, each with data, label, type and where clause.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_admin_order_list_search_columns
Filters the database columns searched by the admin orders list search box.
Parameters
$columns (array) Column names such as ec_order.order_id and ec_order.user_email, searched with LIKE.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_admin_order_new_js
Filters the JavaScript run when the Add New button is clicked in the admin orders list.
Parameters
$new_order_js (string) JavaScript for the button’s click handler; may show a Pro upgrade prompt.
Fires in admin/inc/wp_easycart_admin_order_table.php · setup()
wp_easycart_admin_payment_flash
Filters the message the Payments page shows when a gateway’s connection link returns to it. Return an empty text to show nothing.
Parameters
$flash (array) text (” for none), tone (success, warning, error or info), actions and detail.
Fires in admin/inc/wp_easycart_admin_payment_v2.php · render_flash()
wp_easycart_admin_premium_offer
Filters the Premium upgrade offer (button and message) shown in the admin, based on the license.
Parameters
$offer (array) Offer with mode, url, cta, title and desc keys.
$tier (string) License tier: free, trial, pro or premium.
$lapsed (bool) True when the license is past its end date.
Fires in admin/inc/wp_easycart_admin_edition.php · premium_offer()
wp_easycart_admin_registration_quiet_notices
Filters which wp_easycart_admin_messages callbacks are taken off the Registration & activation page, which explains the license itself; add a class => method pair to keep a license notice off that page.
Parameters
array(...) (array) Class name => method name; by default WP EasyCart Premium’s license_notice, Groupon’s notice and WP EasyCart PRO’s license-server outage note (wp_easycart_dev_sites print_shell_notes).
Fires in admin/inc/wp_easycart_admin.php · quiet_license_notices()
wp_easycart_admin_renew_url
Filters where a paid license is renewed. Default the WP EasyCart account page, https://www.wpeasycart.com/my-account/.
Parameters
$url (string) The renewal URL.
$autopay (bool) Whether the license renews itself (AutoPay).
Fires in admin/inc/wp_easycart_admin_edition.php · renew_url()
wp_easycart_admin_search_actions
Filters the quick actions in the admin search (index items of type action).
Parameters
$out (array) The action items.
Fires in admin/inc/wp_easycart_admin_search.php · actions()
wp_easycart_admin_search_index
Filters the admin search’s index for the current user before it is cached for 12 hours.
Parameters
$items (array) The index items.
Fires in admin/inc/wp_easycart_admin_search.php · index()
wp_easycart_admin_search_providers
Filters the record types the admin search looks through. Each provider has a label, a capability (or callable), a callback returning rows, an optional more callback and an order; providers are sorted by order (default 100).
Parameters
$providers (array) Key => provider.
Fires in admin/inc/wp_easycart_admin_search.php · providers()
wp_easycart_admin_search_version_parts
Filters the parts the admin search index’s version is built from. Add a part for anything an extension puts in the index that can change, so the cached index is rebuilt when it does.
Parameters
$parts (array) Strings hashed into the version.
Fires in admin/inc/wp_easycart_admin_search.php · version()
wp_easycart_admin_success_messages
Filters the success notices shown at the top of the admin screens. Each message is a string or an array with text, tone, detail and actions.
Parameters
$messages (array) success messages, empty by default
Fires in admin/inc/wp_easycart_admin.php · print_admin_message()
wp_easycart_admin_trial_upgrade_url
Filters where a PRO trial becomes a paid plan. Default the plans and pricing page, https://www.wpeasycart.com/wordpress-shopping-cart-pricing/.
Parameters
$url (string) The upgrade URL.
$plan (string) pro or premium.
$key (string) The trial’s license key (” when none is saved).
Fires in admin/inc/wp_easycart_admin_edition.php · trial_url()
wp_easycart_admin_undo_capabilities
Filters the capability required to undo each kind of admin deletion.
Parameters
$caps (array) kind => capability, with order, product, account and subscriber by default
Fires in admin/inc/wp_easycart_admin_undo.php · ecv2_undo_restore()
wp_easycart_admin_undo_restore_{entry}
Filters the result of restoring an undone deletion. A callback for the deleted item’s kind restores it and returns a non-null result. {entry} is the kind of item deleted, such as order or product.
Parameters
$result (mixed) null by default; callbacks return the restore result or a WP_Error
$snapshot (array) the saved snapshot of the deleted item
Fires in admin/inc/wp_easycart_admin_undo.php · ecv2_undo_restore()
wp_easycart_admin_undo_ttl
Filters how long, in seconds, a deletion can be undone after it happens (default 15 minutes).
Parameters
$ttl (int) time in seconds, default 15 * MINUTE_IN_SECONDS
Fires in admin/inc/wp_easycart_admin_undo.php · ttl()
wp_easycart_admin_upgrade_file
Filters the path of the template file included for the admin upgrade screen.
Parameters
$file (string) full path to upgrade-screen.php
Fires in admin/inc/wp_easycart_admin.php · show_upgrade()
wp_easycart_admin_upgrade_url
Filters the upgrade URL used by locked admin features that link to the pricing page, such as abandoned carts and smart categories.
Parameters
$url (string) upgrade URL on wpeasycart.com, including an upsell query argument
Fires in admin/inc/wp_easycart_admin_abandoned_cart_status.php · wp_easycart_admin_abandoned_cart_status_card() +5 more places
wp_easycart_admin_v2_gate_description
Filters the description text shown on a locked (Pro or Premium) field in the product editor.
Parameters
$description (string) default text, ‘Unlock this feature with’ plus the plan name
$name (string) name of the locked field
Fires in admin/inc/wp_easycart_admin_details_products_v2.php · print_field_v2()
wp_easycart_admin_warning_messages
Filters the warning notices shown at the top of the admin screens. Each message is a string or an array with text, tone, detail and actions.
Parameters
$messages (array) warning messages, empty by default
Fires in admin/inc/wp_easycart_admin.php · print_admin_message()
wp_easycart_cart_importer_suggest
Filters whether the setup wizard suggests importing from another cart (default true).
Parameters
$suggest (bool) true by default
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · get_cart_importer_suggestion()
wp_easycart_cart_importer_suggest_max_products
Filters the maximum number of products a store can have before the setup wizard stops suggesting a cart import (default 3).
Parameters
$max_products (int) product count, default 3
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · get_cart_importer_suggestion()
wp_easycart_dashboard_widget
Filters whether the WordPress Dashboard shows the WP EasyCart widget. Default true.
Parameters
$show (bool) Whether to show the widget (true).
Fires in admin/inc/wp_easycart_admin_dashboard_widget.php · register()
wp_easycart_detected_caching_plugin
Filters the name of the caching plugin detected by the setup wizard; return a name to report a caching plugin WP EasyCart does not detect itself.
Parameters
$plugin (string|null) The detected caching plugin name, null when none is found.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · detect_caching_plugin()
wp_easycart_docs_index_api
Filters the docs site’s REST API address the docs index is fetched from. Default https://docs.wpeasycart.com/wp-json/wp/v2/.
Parameters
$api (string) The REST API address.
Fires in inc/classes/core/class-wp-easycart-docs-index.php · refresh()
wp_easycart_document_attachment_grid
Filters the rows (emails) and columns (PDF documents) of the document attachments grid in Settings > Documents.
Parameters
$grid (array) emails => key => label and desc; documents => key => label.
Fires in admin/inc/wp_easycart_admin_documents.php · attachment_grid()
wp_easycart_document_options
Filters the choices a document profile makes that are not on/off switches, such as the Invoice PDF heading.
Parameters
$options (array) Option key => label, description and choices.
$type (string) The document type.
Fires in inc/classes/core/class-wp-easycart-documents.php · options()
wp_easycart_document_preview_{type}
Filters the HTML of a document preview in Settings > Documents for a type without a built-in preview. {type} is the document type.
Parameters
$value (string) Preview HTML; empty by default.
$order_id (int) The sample order id.
$fields (array) The document field settings being previewed.
Fires in admin/inc/wp_easycart_admin_documents.php · render_preview()
wp_easycart_document_wording_keys
Filters the language phrase keys a document type uses in the language editor.
Parameters
$keys (array) Phrase keys grouped by language section.
$type (string) The document type.
Fires in admin/inc/wp_easycart_admin_documents.php · wording_keys()
wp_easycart_elementor_upgrade_url
Filters the upgrade (pricing) URL shown for a PRO Elementor feature.
Parameters
$url (string) The pricing page URL.
$feature (string) The feature key.
Fires in admin/elementor/wp-easycart-elementor-functions.php · wp_easycart_elementor_upgrade_url()
wp_easycart_extension_card
Filters one extension card on the admin Extensions page.
Parameters
$card (array) card data: state, chip HTML, status HTML and actions
$ext (array) the extension’s catalog entry
$context (array) premium state (active, lapsed or none), basename, active flag and version
Fires in admin/inc/wp_easycart_admin_extensions.php · card()
wp_easycart_extension_slot
Lets an extension replace the HTML shown in a named slot (tax services, order labels, product tabs or integrations) on an admin screen.
Parameters
$html (string|null) replacement HTML; null keeps the default
$slot (string) slot name: tax_services, order_labels, product_tabs or integrations
$slug (string) extension slug
$context (array) premium state, active flag and the screen’s own data
Fires in admin/inc/wp_easycart_admin_extensions.php · slot_override()
wp_easycart_extensions_catalog
Filters the catalog of extensions listed on the admin Extensions page.
Parameters
$catalog (array) extension slug => catalog entry
Fires in admin/inc/wp_easycart_admin_extensions.php · catalog()
wp_easycart_extensions_page_actions
Filters the header buttons HTML on the admin Extensions page, such as Check for updates and Update all.
Parameters
$html (string) buttons HTML, empty by default
Fires in admin/template/extensions/extensions-v2.php
wp_easycart_extensions_page_banner
Filters the banner HTML shown at the top of the admin Extensions page about the WP EasyCart Premium plugin.
Parameters
$html (string) banner HTML
$prem (string) Premium state: active, lapsed or none
$plugin (array) Premium plugin details: installed, active and version
Fires in admin/inc/wp_easycart_admin_extensions.php · banner_html()
wp_easycart_policy_draft
Filters the content of a policy page draft WP EasyCart writes from the store’s answers.
Parameters
$html (string) The draft (block editor paragraphs and headings).
$type (string) terms, privacy or returns.
$f (array) The store’s answers.
Fires in admin/inc/wp_easycart_admin_policy_drafts.php · draft()
wp_easycart_policy_draft_facts
Filters the store facts the policy page drafts are built from.
Parameters
$facts (array) The store’s answers.
Fires in admin/inc/wp_easycart_admin_policy_drafts.php · facts()
wp_easycart_pro_dev_site_kind PRO
Filters what kind of development address WP EasyCart PRO takes the site to be: local, staging, subdomain, or empty for a live store. It decides how the license is checked and whether Activate license adds the site to the key’s development sites; WP EasyCart Connect checks the address again and refuses one it does not count as development.
Parameters
$kind (string) local, staging, subdomain or empty, from the built-in address rules; any other value counts as empty.
$host (string) The site’s host, without www.
Fires in license/wp_easycart_dev_sites.php · kind()
wp_easycart_pro_dev_sites_url PRO
Filters the base address of WP EasyCart Connect’s development sites service, which WP EasyCart PRO calls to activate, check and remove development copies of a license.
Parameters
self::URL (string) https://connect.wpeasycart.com/pro/v1/dev/ by default; the action (activate, check or remove) is appended to it.
Fires in license/wp_easycart_dev_sites.php · request()
wp_easycart_pro_license_recover_url PRO
Filters the address WP EasyCart PRO posts to when it asks WP EasyCart Connect for the license key of a store licensed by its site address with no key saved.
Parameters
self::URL (string) https://connect.wpeasycart.com/pro/v1/recover by default.
Fires in license/wp_easycart_license_recovery.php · run()
wp_easycart_pro_update_url PRO
Filters the address WP EasyCart PRO’s update checker asks for new PRO versions; the license key, or the licensed site address, is added after it as a query string. The older download script is still asked when this address does not answer.
Parameters
$url (string) https://connect.wpeasycart.com/pro/v1/update by default.
Fires in wp-easycart-admin-pro.php · load_update_checker()
wp_easycart_recommended_settings_status
Filters the recommended settings status rows shown in the setup wizard.
Parameters
$rows (array) Status rows, each with an overridden flag.
$env The environment details the rows were evaluated against.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · get_recommended_status()
wp_easycart_settings_field_locked
Filters whether a settings field or section is locked for the current license.
Parameters
$locked (bool) True when locked.
$field_or_section The field or section being checked.
Fires in admin/inc/wp_easycart_admin_settings_registry.php · is_locked()
wp_easycart_settings_groups
Filters the settings groups in display order.
Parameters
$groups (array) Group slug => label and hint.
Fires in admin/inc/wp_easycart_admin_settings_registry.php · groups()
wp_easycart_settings_history_undo_{row}
Filters the Undo of a settings history row that is not a plain setting. {row} is the row’s kind. Return true when it is undone, or a WP_Error to say why not.
Parameters
new WP_Error( 'kind', ... ) (true|WP_Error) The result. Default: this kind of change cannot be undone here.
$row (object) The history row.
Fires in admin/inc/wp_easycart_settings_history.php · undo()
wp_easycart_settings_home_catalog
Filters the catalog of settings pages shown on the Settings home.
Parameters
$pages (array) Page slug => group, order, icon, title, description and plan.
Fires in admin/inc/wp_easycart_admin_settings_home.php · catalog()
wp_easycart_settings_navigation
Filters the settings pages grouped for the Settings home and sidebar navigation.
Parameters
$out (array) Group slug => label, hint and pages.
Fires in admin/inc/wp_easycart_admin_settings_home.php · build_navigation()
wp_easycart_settings_page_{slug}
Filters a settings page declaration as it loads from its declaration file; {slug} is the settings page slug.
Parameters
$decl (array) The settings page declaration before it is normalized.
Fires in admin/inc/wp_easycart_admin_settings_registry.php · pages()
wp_easycart_settings_pages
Filters the full list of registered settings pages, letting a plugin add, change or remove pages.
Parameters
$pages (array) Settings pages keyed by page slug.
Fires in admin/inc/wp_easycart_admin_settings_registry.php · pages()
wp_easycart_settings_save_reply
Filters the reply sent back to the browser after a settings page is saved by AJAX.
Parameters
$reply (array) Response with saved, errors, warnings and message.
$slug (string) Settings page slug.
$saved_keys (array) Keys of the settings that were saved.
Fires in admin/inc/wp_easycart_admin_settings_page_v2.php · ajax_save()
wp_easycart_settings_search_items
Filters extra searchable items for the settings search, for things inside custom page markup such as gateways and carriers.
Parameters
$items (array) Search items, starts empty. Each item needs label and url, and can set desc, keywords, page_title, section_title, value_text and locked.
Fires in admin/inc/wp_easycart_admin_search.php · settings() +1 more place
wp_easycart_setup_areas
Filters the setup areas behind the Settings home and the rebuilt settings pages. An extension may add an area or replace a built-in one.
Parameters
$areas (array) Slug => wp_easycart_admin_setup_area object.
Fires in admin/inc/wp_easycart_admin_setup.php · areas()
wp_easycart_setup_checklist
Filters the items shown in the store launch checklist.
Parameters
$items (array) Checklist items keyed by item key, each with its dismissed state.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · get_checklist()
wp_easycart_setup_grow_items
Filters the Grow recommendations on the Settings home (things worth a look).
Parameters
$items (array) Id => group, title, text, done, plan, label, url, upsell and locked.
Fires in admin/inc/setup/wp_easycart_admin_setup_grow.php · items()
wp_easycart_setup_parts
Filters the parts (cards) a setup area’s page, or the Settings home, prints.
Parameters
$parts (array) Part => HTML.
$slug (string) The area, or ” for the Settings home.
Fires in admin/inc/wp_easycart_admin_setup.php · parts()
wp_easycart_setup_wizard_assets_needed
Filters whether the setup wizard styles and scripts load on the current admin screen; return true to load them on a page that embeds the checklist.
Parameters
$needed (bool) Default false.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · enqueue_assets()
wp_easycart_setup_wizard_country_currency
Filters the currency the setup wizard offers a store in a country.
Parameters
$code (string) ISO 4217 currency code.
$cc (string) ISO country code.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · currency_for()
wp_easycart_setup_wizard_country_facts
Filters what the setup wizard saves for a store in a country.
Parameters
$facts (array) currency, before, space, dec, thou, decimals, weight (lbs or kgs) and metric.
$cc (string) ISO country code.
Fires in admin/inc/wp_easycart_admin_setup_wizard.php · facts()
wp_easycart_shell_breadcrumb
Filters the breadcrumb shown in the admin shell header.
Parameters
$crumb (array) The breadcrumb parts.
$page (string) Current admin page slug.
$subpage (string) Current subpage slug.
Fires in admin/inc/wp_easycart_admin_frame_theme.php · wp_easycart_shell_breadcrumb()
wp_easycart_shell_help_videos
Filters the list of help videos offered in the admin header help menu.
Parameters
$videos (array) YouTube video id => video title.
Fires in admin/template/head_nav.php
wp_easycart_shell_search_index
Filters the entries in the admin shell search index.
Parameters
$items (array) Search entries, each with label, url, group and keywords.
Fires in admin/inc/wp_easycart_admin_frame_theme.php · wp_easycart_shell_search_index() +1 more place
wp_easycart_shell_theme_recipe
Filters the recipe that derives the admin brand color shades from the main brand color.
Parameters
$recipe (array) CSS variable name => array( method, amount ), where method is black or white and amount is a mix ratio.
Fires in admin/inc/wp_easycart_admin_frame_theme.php · wp_easycart_shell_theme_recipe()
wp_easycart_show_review_prompt
Filters whether the admin review prompt is shown.
Parameters
$show (bool) True when the store has not reviewed the plugin and the prompt has been earned.
Fires in admin/inc/wp_easycart_admin.php · wp_easycart_admin_print_review_prompt()
wp_easycart_store_clock_suggested
Filters the time zone WP EasyCart suggests for the store from its country and state. A zone PHP does not know is ignored.
Parameters
$zone (string) The zone, or ”.
$cc (string) The country code.
$state (string) The state or province.
Fires in inc/classes/core/class-wp-easycart-store-clock.php · suggested()
wp_easycart_table_cell_data_default
Filters a cell value printed in an admin table for columns with no special format.
Parameters
$value The column value from the row.
$result (object) The full table row.
$column_name (string) Column name.
Fires in admin/inc/wp_easycart_admin_table.php · print_table_column_data_format()
wp_easycart_table_cell_data_int
Filters an integer cell value printed in an admin table, prefixed with # for id columns.
Parameters
$value (string) The integer value, prefixed with # when the column is an id.
$result (object) The full table row.
$column_name (string) Column name.
Fires in admin/inc/wp_easycart_admin_table.php · print_table_column_int()
wp_easycart_tracking_checkin_fields
Filters the fields of the weekly anonymous usage check-in, sent only by stores that turned on Anonymous usage data; WP EasyCart PRO adds its own. Keep to keys, flags and bands: personal fields are removed and the receiver keeps only fields it knows.
Parameters
$data (array) Field => value: how the store is set up (gateways, shipping, taxes, carriers, features on), store size and health as bands, and getting-started milestones.
Fires in admin/inc/wp_easycart_admin_tracking.php · snapshot()
wp_easycart_tracking_event
Filters one anonymous usage-data event before it is queued or sent; return false to drop it. Fields named for a person, a login or the site are removed afterwards.
Parameters
$data (array) Key event (the event name) plus the event’s own fields.
$event (string) The event name, such as setting_changed or upsell_open.
Fires in admin/inc/wp_easycart_admin_tracking.php · event()
wp_easycart_tracking_settings
Filters the settings whose changes are sent as an anonymous setting_changed usage event, with the setting’s short name and its new value; a change is sent only when the new value is a short plain key, such as on/off or a mode, so text never leaves the store.
Parameters
array(...) (array) Option name => short name; by default ten settings such as ec_option_onepage_checkout => onepage and ec_option_marketing_consent => consent.
Fires in admin/inc/wp_easycart_admin_tracking.php · setting_changed()
wp_easycart_tracking_url
Filters the address anonymous usage data is posted to; return ” to send nothing and empty the waiting queue.
Parameters
self::URL (string) The receiver, https://connect.wpeasycart.com/logging/logging.php by default.
Fires in admin/inc/wp_easycart_admin_tracking.php · post()
wp_easycart_trial_signup_url
Filters the trial signup address used by the admin. Default https://connect.wpeasycart.com/trial_signup/; anything not starting with https:// switches the trial signup off.
Parameters
$endpoint (string) The signup address.
Fires in admin/inc/wp_easycart_admin.php · trial_signup_endpoint()
wp_easycart_trial_start_content
Filters the trial and upgrade content in the admin; return an empty string to hide the trial offer.
Parameters
$content (string) Default ‘true’.
Fires in admin/inc/wp_easycart_admin_edition.php · offers_trial() +1 more place
wp_easycart_upgrade_premium_url
Filters the URL of the Premium upgrade link in admin upsell messages.
Parameters
$url (string) Premium upgrade URL.
Fires in admin/inc/wp_easycart_admin_upsell.php · plan_url()
wp_easycart_upgrade_pro_url PRO
Filters the URL of the Pro upgrade link shown in admin notices.
Parameters
$url (string) Pro upgrade URL, default the pricing page.
Fires in wp-easycart-admin-pro.php · show_upgrade_message() +1 more place
wp_easycart_upsell_catalog
Filters the catalog of upsell contexts and features used by admin upgrade messages.
Parameters
$catalog (array) Upsell catalog.
Fires in admin/inc/wp_easycart_admin_upsell.php · catalog()
wp_easycart_upsell_context
Filters the upsell context chosen for the current admin screen.
Parameters
$context (string) Upsell context key.
Fires in admin/inc/wp_easycart_admin_upsell.php · resolve_context()
wp_easycart_upsell_stats
Filters the store statistics used in admin upsell messages, such as average order value and low stock count.
Parameters
$stats (array) Store statistics.
Fires in admin/inc/wp_easycart_admin_upsell.php · stats() +1 more place

Storefront templates and design

Grouped by what they are about

46 filters

wp_easycart_cart_fit
Filters whether the cart and checkout are laid out for the space the theme gives them. Default from the Cart & checkout look setting under Settings > Design.
Parameters
$enabled (bool) Whether the layout is fitted.
Fires in inc/classes/core/class-wp-easycart-cart-fit.php · enabled()
wp_easycart_cart_fit_new_store
Filters whether a new store starts with its cart fitted to the theme’s content area. Default true; read once when an empty store’s base data is installed.
Parameters
$on (bool) On (true).
Fires in inc/classes/core/class-wp-easycart-cart-fit.php · seed_new_store()
wp_easycart_cart_icon_html
Filters the HTML of the cart icon output by the cart icon shortcode.
Parameters
$cart_icon_html (string) default icon markup, an i element with the icon class
$cart_icon (string) the icon class from the shortcode
$atts (array) the shortcode attributes
Fires in wpeasycart.php · load_ec_cart_icon()
wp_easycart_cart_page_look
Filters the classic checkout’s cart page look. Any value other than classic gives modern.
Parameters
$look (string) modern or classic.
Fires in inc/classes/cart/ec_cartpage.php · cart_page_look()
wp_easycart_classic_match_theme
Filters whether the Classic store takes the theme’s colours and fonts (Settings > Design > Match my theme).
Parameters
$on (bool) The setting.
Fires in inc/classes/core/class-wp-easycart-classic-theme.php · enabled()
wp_easycart_elementor_add_to_cart_link_allowed
Filters whether an Elementor add to cart link is allowed for a product.
Parameters
$can (bool) Whether a link can add the product.
$product (ec_product) The product.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic-add-to-cart.php · can_add()
wp_easycart_elementor_add_to_cart_link_automated
Filters how an add to cart link request is classified as automated: prefetch (answered 503), bot (sent to the product page) or an empty string for a shopper.
Parameters
$reason (string) prefetch, bot or an empty string.
$agent (string) The request’s user agent, lower case.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic-add-to-cart.php · automated_request()
wp_easycart_elementor_add_to_cart_link_max_quantity
Filters the maximum quantity an Elementor add to cart link can add; the result is kept between 1 and the built-in maximum.
Parameters
$value (int) The default link quantity limit.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic-add-to-cart.php · max_quantity()
wp_easycart_elementor_best_seller_ids
Filters the product ids used for best sellers in Elementor shop widgets.
Parameters
$ids (int[]) Product ids.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-query.php · best_seller_ids()
wp_easycart_elementor_display_conditions_supported
Filters whether the installed Elementor Pro version is supported for WP EasyCart display conditions.
Parameters
$version (string) The version being checked; the filtered value is whether it is supported (within 3.19 up to, not including, 5.0).
$elementor_pro_version (string) The Elementor Pro version.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic.php · conditions_supported()
wp_easycart_elementor_dynamic_tags
Filters the Elementor dynamic tags WP EasyCart registers.
Parameters
$tags (array) Slug => class name.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic.php · tag_classes()
wp_easycart_elementor_help_url
Filters the Need help? address of a WP EasyCart Elementor widget or screen.
Parameters
$url (string) The docs URL.
$name (string) A widget’s name, the Site Settings tab id, or the help topic.
Fires in admin/elementor/class-wp-easycart-elementor.php · help_url() +1 more place
wp_easycart_elementor_loop_limit
Filters the maximum number of products an Elementor loop query looks up.
Parameters
$value (int) Maximum products; 5000 by default.
$query_id (string) The loop query id.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic-loop.php · post_ids()
wp_easycart_elementor_loop_post_ids
Filters the ec_store post ids used by an Elementor loop query.
Parameters
$post_ids (int[]) ec_store post ids.
$query_id (string) The loop query id.
Fires in admin/elementor/modules/dynamic/class-wp-easycart-elementor-dynamic-loop.php · filter_query()
wp_easycart_elementor_preview_category_id
Filters the sample category id used to preview category templates in the Elementor editor.
Parameters
$value (int) Category id; 0 to use the first active category.
Fires in admin/elementor/base/class-wp-easycart-elementor-context.php · category() +1 more place
wp_easycart_elementor_preview_product_id
Filters the sample product id used to preview product templates in the Elementor editor.
Parameters
$value (int) Product id; 0 to use a sample product.
Fires in admin/elementor/base/class-wp-easycart-elementor-context.php · sample_product_id()
wp_easycart_elementor_product_buy_template
Filters the template file path used by the Elementor product buy widgets.
Parameters
$path (string) Absolute path to the template.
$file (string) Template file name.
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy.php · template()
wp_easycart_elementor_quick_view_allowed
Filters whether quick view can open on this device in the Elementor shop widget.
Parameters
$value (bool) Whether quick view is allowed; true by default.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-card.php · quick_view_allowed()
wp_easycart_elementor_related_product_ids
Filters the related product ids shown for a product in Elementor shop widgets.
Parameters
$ids (int[]) Related product ids.
$product_id (int) The product.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-query.php · related_ids()
wp_easycart_elementor_retired_widgets
Filters the list of retired Elementor widgets and the widgets that replace them.
Parameters
$value (array) Widget name => settings including the replacement name; empty by default.
Fires in admin/elementor/wp-easycart-elementor-functions.php · wp_easycart_elementor_retired_widgets() +1 more place
wp_easycart_elementor_role_content
Filters whether the store’s product lists differ per customer role, which keeps the page out of page caches.
Parameters
$role_content (bool) Whether product content depends on the customer’s role.
Fires in admin/elementor/modules/shop/includes/class-wp-easycart-elementor-shop-query.php · role_content()
wp_easycart_elementor_shop_scope
Filters the category and manufacturer scope of an Elementor shop archive widget.
Parameters
$scope (array) array( category id, manufacturer id ); array( 0, 0 ) by default.
$settings (array) The widget settings.
Fires in admin/elementor/modules/shop/widgets/class-wp-easycart-elementor-shop-archive-widget.php · ec_scope()
wp_easycart_elementor_starter_template
Filters the starter Elementor template content created for a product or category template.
Parameters
$content (array) The template’s elements.
$type (string) product or category.
Fires in admin/elementor/modules/templates/class-wp-easycart-elementor-templates.php · starter_content()
wp_easycart_elementor_template_for
Filters which Elementor template is used to draw a product or category page.
Parameters
$store (int) The store’s template for the type; 0 means the standard layout.
$type (string) product or category.
$object_id (int) The product_id or category_id.
Fires in admin/elementor/modules/templates/class-wp-easycart-elementor-templates.php · template_for()
wp_easycart_elementor_template_hand_off
Filters whether the [ec_store] shortcode may hand off to an Elementor template.
Parameters
$value (bool) Whether hand off is allowed; true by default.
$atts (array) The [ec_store] shortcode arguments.
Fires in admin/elementor/modules/templates/class-wp-easycart-elementor-templates.php · can_hand_off()
wp_easycart_elementor_widget_classes
Filters the Elementor widget classes WP EasyCart registers, letting PRO add or replace widgets.
Parameters
$value (array) Class name => file path; empty by default.
Fires in admin/elementor/class-wp-easycart-elementor.php · register_elementor_widgets()
wp_easycart_enable_elementor_account_elements
Filters whether the Elementor account widgets (account forms and account dashboard) are registered and their pages get account-style headers.
Parameters
$enabled (bool) false by default
Fires in wpeasycart.php · wp_easycart_elementor_account_page_headers() +1 more place
wp_easycart_language_text
Filters one phrase of the store’s language wording as templates print it (HTML, with [terms] and [privacy] already turned into links). The Elementor cart, checkout and account widgets use it to apply their own Texts settings while they draw.
Parameters
$text (string|null) The phrase, or null when the language file has none.
$lang_section (string) The language section, such as ec_errors.
$lang_var (string) The phrase key within the section.
Fires in inc/classes/core/ec_language.php · get_text()
wp_easycart_load_css_scripts
Filters whether WP EasyCart loads its front-end CSS (and dashicons).
Parameters
$load (bool) true by default; return false to skip loading
Fires in wpeasycart.php · ec_css_loader_v3() +1 more place
wp_easycart_load_js_scripts
Filters whether WP EasyCart loads its front-end JavaScript.
Parameters
$load (bool) true by default; return false to skip loading
Fires in wpeasycart.php · ec_js_loader_v3()
wp_easycart_prod_details_video_controls
Filters the attributes on the product page video tag.
Parameters
$controls (string) Attribute string for the video element, default ‘controls’.
Fires in design/layout/base-responsive-v3/ec_product_details_page.php +3 more places
wp_easycart_product_brand_logo
Filters the brand logo the Elementor Product Meta widget shows for a product.
Parameters
$logo (int|string) An attachment id or an image URL; by default the featured image of the manufacturer’s page, or 0 for none.
$product (ec_product) The product.
Fires in admin/elementor/modules/product-info/includes/class-wp-easycart-product-info.php · brand_logo()
wp_easycart_store_item_as_page
Filters whether a store item (product, category or manufacturer) is presented as a page; return false to keep it a store item, as Elementor Pro Theme Builder needs.
Parameters
$as_page (bool) Default true.
Fires in wpeasycart.php · ec_force_page_type() +1 more place
wp_easycart_store_policies_schema
Filters the store policies part of the store’s structured data (schema.org).
Parameters
$out (array) Policy schema properties, such as shipping services and return policy.
Fires in inc/classes/core/class-wp-easycart-store-schema.php · policies()
wp_easycart_store_return_policy_schema
Filters the merchant return policy structured data (schema.org).
Parameters
$out (array) Return policy schema.
Fires in inc/classes/core/class-wp-easycart-store-schema.php · return_policy()
wp_easycart_store_schema
Filters the complete OnlineStore structured data (schema.org) built for the store.
Parameters
$schema (array) Store schema merged with its policies.
Fires in inc/classes/core/class-wp-easycart-store-schema.php · build()
wp_easycart_storefront_contrast_pairs
Filters the colour pairs the design’s contrast guard checks: a colour token, what it sits on, and the WCAG ratio it must reach.
Parameters
$pairs (array) Token => array( panel or another token, the ratio: 4.5 for text, 3 for the focus ring ).
Fires in inc/storefront/class-wp-easycart-tokens.php · contrast_pairs()
wp_easycart_storefront_theme_match
Filters what Match my theme found out about the active theme’s colours and fonts.
Parameters
$found (array) Token => array( value, source ).
$template (string) The parent theme’s folder, lower case.
Fires in inc/storefront/class-wp-easycart-tokens.php · theme()
wp_easycart_storefront_tokens
Filters the list of the store’s design tokens (the –wpec-* CSS variables).
Parameters
$catalog (array) The tokens.
Fires in inc/storefront/class-wp-easycart-tokens.php · catalog()
wp_easycart_tabs_icons Tabs
Filters the line icon set that tabs and blocks can use, in the tab designer and on the product page; add an icon by name or replace one.
Parameters
$icons (array) Icon name => SVG inner markup on a 24px grid, drawn as a stroke in currentColor; the 100 icons that ship with Tabs by default. Tab icon names keep only letters and digits.
Fires in includes/blocks/class-wp-easycart-tabs-blocks.php · icons()
wp_easycart_tabs_load_assets Tabs
Filters whether the Tabs stylesheets are queued in the page head on this request so the tabs never show unstyled; when false they print with the first tab area instead.
Parameters
$is (bool) True when the request shows a product: a product page, or a page with [ec_product_details], [ec_product_details_tabs], or [ec_store] with a model_number in the address.
Fires in includes/class-wp-easycart-tabs-storefront.php · product_page()
wp_easycart_tabs_takeover Tabs
Lets a product keep WP EasyCart’s classic tabs while the store uses a Tabs style; return false to leave this tab list to the classic tabs. It runs only when the chosen style is not classic.
Parameters
true (bool) Draw the tabs in the store’s tab style, true by default.
(int) $product_id (int) The product id.
$rand (int|string) The tab list’s id on the page.
Fires in includes/class-wp-easycart-tabs-storefront.php · takes_over()
wp_easycart_vacation_mode_text
Filters the vacation mode message shown in place of the add-to-cart button when the store displays as a catalog.
Parameters
$text (string) The vacation mode button text.
$product_id (int) Product id.
Fires in admin/elementor/modules/product-buy/includes/class-wp-easycart-product-buy-area.php · render() +2 more places
wp_easycart_withdrawal_footer_button
Filters whether the withdrawal button prints at the foot of the current storefront page; return false to hide it there. Asked only while the button and Show the button at the foot of every page are on, and never on the withdrawal page itself.
Parameters
true (bool) Show the button, true by default.
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · footer_button()
wp_easycart_withdrawal_view
Filters what the withdrawal page shows ([ec_withdrawal], or the account page’s withdrawal view) before the ec_withdrawal.php template draws it.
Parameters
$data (array) Keys view (start, form, review, received, closed, already, lookup or off), heading, errors, values, order, summary, record, check, action, page_url, lookup, ajax_url, language and next (the What happens next text).
Fires in inc/classes/core/class-wp-easycart-withdrawals.php · view_data()
wpeasycart_product_details_tabs_takeover
Lets an extension draw the product page’s tab area itself; return true and print it on wpeasycart_product_details_tabs_area. Asked only when something is hooked to that action.
Parameters
false (bool) False: the classic tab list.
$product (ec_product) The product.
$rand (int|string) The tab list’s id on this page.
$atts (array) Shortcode attributes, such as show_description, show_specifications and show_customer_reviews.
Fires in wpeasycart.php · wp_easycart_product_tabs_takeover()

Pickup and scheduling

Grouped by what they are about

17 filters

wp_easycart_admin_schedule_details_basic_fields_list PRO
Filters the field definitions in the basic section of the admin schedule details screen.
Parameters
$fields (array) field definitions for the schedule basics
Fires in admin/inc/wp_easycart_admin_details_schedule.php · basic_fields()
wp_easycart_local_pickup_labels
Filters the shipping method texts that identify an order as local pickup.
Parameters
$texts (array) shipping method label strings treated as local pickup
Fires in admin/inc/wp_easycart_admin_orders.php · wp_easycart_local_pickup_labels()
wp_easycart_location_address
Filters the formatted address string shown for a pickup location.
Parameters
$location_address_format (string) formatted address line
$location (object) the location row
Fires in wpeasycart.php · wp_easycart_get_locations_response() +2 more places
wp_easycart_location_distance
Filters the distance text shown for a pickup location in the location picker, in miles or kilometers.
Parameters
$distance_text (string) formatted distance text
$location (object) the location row
Fires in wpeasycart.php · wp_easycart_get_locations_response() +1 more place
wp_easycart_order_is_local_pickup
Filters whether an order counts as a local pickup order.
Parameters
$is_pick (bool) true when the shipping method matches a local pickup label
$order the order (array)
Fires in admin/inc/wp_easycart_admin_orders.php · wp_easycart_order_is_local_pickup()
wp_easycart_order_pickup_kind
Filters how a customer collects an order. A pickup order gets Mark picked up on the order screen and the orders list instead of the shipping flow; any value other than restaurant, preorder or local counts as shipped.
Parameters
$kind (string) restaurant, preorder, local (local pickup) or empty when the order ships.
$order (object|array) The ec_order row.
Fires in admin/inc/wp_easycart_admin_orders.php · wp_easycart_order_pickup_kind()
wp_easycart_pickup_date_jquery_format
Filters the jQuery UI date format used by the pickup date picker on the cart payment step and the admin order screen.
Parameters
$format (string) jQuery UI dateFormat string, default ‘MM d, yy’.
Fires in admin/template/orders/orders/order-details.php +1 more place
wp_easycart_pickup_date_placeholder_format PRO
Filters the PHP date format used to display a pickup date on order screens, receipts and account pages.
Parameters
$format (string) PHP date format, such as ‘F d, Y’.
Fires in admin/template/orders/orders/order-details.php +9 more places
wp_easycart_pickup_day_label
Filters the words for a pickup day in the pickup day list shoppers choose from.
Parameters
$label (string) The words, such as the weekday and date.
$day (string) The day, Y-m-d.
Fires in inc/classes/core/class-wp-easycart-pickup.php · day_label()
wp_easycart_pickup_error
Filters what stops a cart’s pickup at checkout.
Parameters
$error (string) preorder_pickup, restaurant_closed or ”.
$cart (ec_cart) The cart.
Fires in inc/classes/core/class-wp-easycart-pickup.php · error()
wp_easycart_pickup_hours
Filters the pickup hours a schedule day offers.
Parameters
$out (string[]) The start of each hour, HH:MM.
$row (object) The schedule row.
Fires in inc/classes/core/class-wp-easycart-pickup.php · hours()
wp_easycart_pickup_now
Filters the moment the pickup days are worked out from (useful for tests). Return a DateTimeImmutable.
Parameters
$now (DateTimeImmutable) Now, in the store’s time zone.
Fires in inc/classes/core/class-wp-easycart-pickup.php · now()
wp_easycart_pickup_preorder_days
Filters the days, and the hours each day, a shopper may pick up preorder items.
Parameters
$out (array) Y-m-d => the hours offered (HH:MM).
$location (int) The pickup location whose schedule applies; 0 for the store’s.
Fires in inc/classes/core/class-wp-easycart-pickup.php · preorder_days()
wp_easycart_pickup_time_close_placeholder_format
Filters the PHP time format used to display the end of a pickup window on order pages and receipts.
Parameters
$format (string) PHP date format, default ‘g:i A’.
Fires in design/layout/base-responsive-v3/ec_account_order_details.php +5 more places
wp_easycart_pickup_time_placeholder_format
Filters the PHP date format used to display a pickup time (restaurant orders) on order pages and receipts.
Parameters
$format (string) PHP date format, default ‘g:i A F d, Y’.
Fires in design/layout/base-responsive-v3/ec_account_order_details.php +5 more places
wp_easycart_restaurant_order_ahead
Filters whether restaurant orders are taken while the restaurant is closed, for pickup when it next opens (Settings > Checkout, Take restaurant orders while you’re closed).
Parameters
$on (bool) The ec_option_restaurant_order_ahead setting.
Fires in inc/classes/core/class-wp-easycart-pickup.php · order_ahead()
wp_easycart_store_hours_html
Filters the HTML of the [ec_store_hours] shortcode.
Parameters
$html (string) The HTML.
$card (string) The schedule card shown.
$atts (array) The shortcode attributes.
Fires in inc/classes/core/class-wp-easycart-store-hours.php · shortcode()

Downloads and gift cards

Grouped by what they are about

24 filters

wp_easycart_account_downloads_listed
Filters whether My Account lists the Downloads page. Default true when the store sells downloads or the customer has bought one.
Parameters
$listed (bool) Whether the page is listed.
$page (ec_accountpage) The account page.
Fires in inc/classes/account/ec_accountpage.php · downloads_listed()
wp_easycart_admin_downloads_details_basic_fields_list PRO
Filters the list of basic field definitions shown on the admin download details form.
Parameters
$fields (array) Field definitions, each an array with keys such as name, type, label and required.
Fires in admin/inc/wp_easycart_admin_details_downloads.php · basic_fields()
wp_easycart_admin_product_details_downloads_fields_list
Filters the field definitions of the Digital Download card in the product editor’s Type settings section.
Parameters
$fields (array) field definitions, each an array with name, type, label and related keys
$product (object) the product being edited
Fires in admin/inc/wp_easycart_admin_details_products.php · downloads_fields()
wp_easycart_cancel_return_giftcard
Filters whether the gift card amount a cancelled order used goes back onto its card; return false to leave it spent. Also asked with order id 0 to word the Cancel this order? confirmation.
Parameters
$on (bool) The Give gift card balances back when an order is cancelled setting (Settings › Checkout), on by default.
(int) $order_id (int) The order id, or 0 when asked for the store as a whole.
Fires in inc/classes/core/class-wp-easycart-order-returns.php · giftcard_on_cancel()
wp_easycart_customer_download
Filters whether a customer may download a given order document (receipt, invoice, packing slip or gift receipt) from the storefront.
Parameters
$on (bool) The store’s Customer downloads switch.
$key (string) Document: print_receipt, success_print_receipt, receipt_pdf, invoice_pdf, packing_slip or gift_receipt.
$order_id (int) The order id.
Fires in inc/classes/core/class-wp-easycart-documents.php · customer_download()
wp_easycart_customer_upload_denied_extensions
Filters extra file extensions to block from customer uploads; extensions returned are added to the built-in denied list and cannot remove from it.
Parameters
$extra (array) Additional file extensions to deny; empty by default.
Fires in inc/classes/core/class-wp-easycart-customer-uploads.php · denied_extensions()
wp_easycart_customer_upload_file_types
Filters the file types shoppers may upload; denied extensions are removed from the result afterwards.
Parameters
$types (array) Type key => array with extensions and mimes.
Fires in inc/classes/core/class-wp-easycart-customer-uploads.php · file_types()
wp_easycart_document_attachment_cell PRO
Filters how a PDF document is attached to an order email (off, attach or link, plus profile).
Parameters
$cell (array) Attachment setting: mode (off | attach | link) and profile.
$email (string) The email (grid row).
$doc (string) The document (grid column).
$order_id (int) The order id.
Fires in inc/classes/core/wp_easycart_documents_pro.php · cell_for_order()
wp_easycart_download_allowed
Filters whether a customer may download from an order line, both when a download link is opened and when My Account lists downloads; return false to refuse. A refused link sends the customer back to the order with a note.
Parameters
$allowed (bool) True when the order’s status counts as paid and none of the line’s options switches the download off.
$orderdetail_row (object) The order line (ec_orderdetail row).
Fires in inc/classes/core/class-wp-easycart-records.php · downloads() +2 more places
wp_easycart_download_file_address
Filters the address the store downloads a product’s download file from when it is given a web address. Google Drive and Dropbox share links are turned into their download links first.
Parameters
$fetch (string) The address to download.
$url (string) The address given.
Fires in inc/classes/core/class-wp-easycart-product-writer.php · store_download()
wp_easycart_download_file_limit
Filters the largest download file the store copies from a web address.
Parameters
512 * MB_IN_BYTES (int) Bytes. Default 512 MB; 0 means no limit.
Fires in inc/classes/core/class-wp-easycart-product-writer.php · store_download()
wp_easycart_gift_card_issuer
Lets an outside system issue the gift cards an order sells. Return a non-empty issuer and WP EasyCart creates no gift card code or email for the line, leaving that issuer to make the card once the order is paid (WP EasyCart PRO returns square when Gift cards you sell are Square gift cards is on).
Parameters
'' (string) The issuer, empty by default (WP EasyCart issues the card).
$cart_item (ec_cartitem) The gift card line.
$this->order_id (int) The order id.
$payment_type (string) The payment type, such as manual_bill or third_party, or the card brand for a card payment.
Fires in inc/classes/core/ec_order.php · insert_details_helper()
wp_easycart_gift_card_used
Filters whether a gift card number WP EasyCart does not hold exists but has nothing left. Return true and the gift card box says the card is used up and takes it off the cart, instead of calling it an invalid number.
Parameters
false (bool) Used up, false by default.
(string) $code (string) The number the shopper typed.
Fires in wpeasycart.php · wp_easycart_gift_card_used()
wp_easycart_gift_card_value
Filters what a sold gift card that WP EasyCart does not hold is worth, for the gift card email and its print page. Return null to use the order line’s value.
Parameters
null (float|null) The card’s value, null by default.
$code (string) The gift card number saved on the order line.
Fires in wpeasycart.php · wp_easycart_gift_card_value()
wp_easycart_giftcard_label
Filters the name shown for a gift card an order used on receipts, My Account, the order screen and the order timeline. WP EasyCart PRO shows a Square gift card by its last four digits.
Parameters
$code (string) The label, the gift card code by default.
$code (string) The gift card code as saved on the order.
Fires in wpeasycart.php · wp_easycart_giftcard_label()
wp_easycart_giftcard_share
Filters how much of the order a gift card pays once the grand total is known. A filter can lower the share but never raise it.
Parameters
$most (float) The most the card can pay: its balance in whole cents, capped at what the order still owes less any gift cards bought in the same order (products only when Gift cards cover the grand total is off).
$owed (float) The grand total before the gift card.
$this (ec_discount) The order’s discount object.
Fires in inc/classes/core/ec_discount.php · settle_giftcard()
wp_easycart_giftcard_source PRO
Filters who holds the balance of the gift card an order used. Empty means a WP EasyCart gift card; any other name sends cancels and refunds to the card through wp_easycart_giftcard_source_return and wp_easycart_giftcard_source_take (WP EasyCart PRO returns square for a Square gift card).
Parameters
'' (string) The source, empty by default (WP EasyCart).
(string) $code (string) The gift card as saved on the order (ec_order.giftcard_id).
(int) $order_id (int) The order id.
Fires in inc/classes/core/class-wp-easycart-order-returns.php · source() +1 more place
wp_easycart_giftcard_source_return
Lets an outside gift card system put an amount an order used back on its card when the order is cancelled or refunded to the card. Return the amount put back, or a WP_Error saying why nothing was; with no answer nothing goes back and a staff note says so.
Parameters
null (float|WP_Error|null) The amount put back, null by default.
$card['source'] (string) The wp_easycart_giftcard_source answer, such as square.
$order_id (int) The order id.
$card['id'] (string) The gift card as saved on the order.
(float) $amount (float) The amount to put back.
$via (string) cancelled or refund.
Fires in inc/classes/core/class-wp-easycart-order-returns.php · return_giftcard()
wp_easycart_giftcard_source_take
Lets an outside gift card system take the amount a cancel gave back off its card again when the cancelled order is reopened. Return the amount taken (less when the card holds less), or a WP_Error saying why nothing was.
Parameters
null (float|WP_Error|null) The amount taken, null by default.
$card['source'] (string) The wp_easycart_giftcard_source answer, such as square.
$order_id (int) The order id.
$card['id'] (string) The gift card as saved on the order.
(float) $amount (float) The amount to take.
Fires in inc/classes/core/class-wp-easycart-order-returns.php · take_giftcard()
wp_easycart_square_sells_gift_cards
Filters whether the gift cards the store sells are Square gift cards. While it is false, the Square import notes that an imported Square gift card item sells WP EasyCart gift cards; WP EasyCart PRO returns true when Gift cards you sell are Square gift cards is on.
Parameters
false (bool) Sells Square gift cards, false by default.
Fires in wpeasycart.php · wp_easycart_square_sells_gift_cards()
wp_easycart_store_sells_downloads
Filters whether the store sells downloads, which lists My Account’s Downloads page. Default true when a product is a download.
Parameters
$sells (bool) Whether a product is a download.
Fires in inc/classes/core/class-wp-easycart-account-lists.php · store_sells_downloads()
wp_easycart_success_page_line_downloads
Filters the download links shown under an order line on the order confirmation page.
Parameters
$out (array[]) Each: url and label.
$detail (ec_orderdetail) The order line.
$order (ec_orderdisplay) The order.
Fires in inc/classes/core/class-wp-easycart-order-confirmation.php · line_downloads()
wpeasycart_get_gift_card_balance
Filters the gift card row loaded when a gift card code is redeemed.
Parameters
$giftcard (object) Gift card database row.
$giftcardcode (string) The gift card code entered.
Fires in inc/classes/core/ec_db.php · redeem_gift_card()
wpeasycart_redeem_gift_card
Lets an outside gift card system (such as WP EasyCart PRO’s Square gift cards) redeem the order’s gift card before the payment is taken; return false or a WP_Error to stop the order (the error’s message goes to the shopper). WP EasyCart’s own cards are taken off once the order is paid.
Parameters
$this->discount->giftcard_code (string|bool|WP_Error) The gift card code; return it (or another truthy value) when redeemed.
$this->order_id (int) The order id.
$this->discount->giftcard_discount (float) The gift card’s share of the order.
$wpec_payment_kind (string) credit_card, affirm, manual_bill, third_party, ideal or amazonpay.
$this (ec_order) The order.
Fires in inc/classes/core/ec_order.php · submit_order()

Integrations and extensions

Grouped by what they are about

58 filters

wp_easycart_abilities
Filters the abilities (tools) WP EasyCart registers for AI assistants. WP EasyCart PRO and extensions add theirs here. Never rename an ability: assistants and saved permissions know them by name.
Parameters
$defs (array) Ability name (without the wp-easycart/ namespace) => label, description, category, kind, caps, input, callback and more.
Fires in inc/classes/core/abilities/class-wp-easycart-abilities.php · definitions()
wp_easycart_abilities_blocked_keys
Filters the settings an AI assistant can read but never change.
Parameters
$keys (array) Option keys. By default the AI assistant permission settings and ec_option_allow_tracking.
Fires in inc/classes/core/abilities/class-wp-easycart-abilities-setup.php · blocked_keys()
wp_easycart_abilities_blocked_pages
Filters the settings pages an AI assistant can read but never change.
Parameters
$pages (array) Settings page slugs. Default payment, checkout-protection and admin.
Fires in inc/classes/core/abilities/class-wp-easycart-abilities-setup.php · blocked_pages()
wp_easycart_abilities_delivery_words
Filters the regular expression that makes a modifier read as a delivery charge, for the warning an AI assistant gets on a product that is picked up or does not ship.
Parameters
$pattern (string) A regular expression.
Fires in inc/classes/core/abilities/class-wp-easycart-abilities-products.php · sounds_like_delivery()
wp_easycart_bluecheck_api_base BlueCheck
Filters the BlueCheck API base URL.
Parameters
$base (string) API host, https://customer-api.bluecheck.me by default
Fires in includes/class-wp-easycart-bluecheck-api.php · base()
wp_easycart_bluecheck_dob_order BlueCheck
Filters the order of the month, day and year boxes in BlueCheck’s date of birth field at checkout; an answer that is not m, d and y once each is ignored.
Parameters
$order (string[]) m, d and y in order: month, day, year for en_US, es_US, en_PH and fil; year first for Japanese, Chinese, Korean, Hungarian, Lithuanian and Mongolian; else day, month, year.
$locale (string) The locale in use.
Fires in includes/class-wp-easycart-bluecheck-checkout.php · dob_order()
wp_easycart_bluecheck_hold_notice BlueCheck
Filters the notice a customer reads about an order held as Age Check Pending, shown in place of the payment-processing notice on the order confirmation page, in My Account and in the receipt email.
Parameters
$text (string) The notice; its wording depends on whether the check failed, waits for a photo ID, or is still to come.
$order (object) The order (ec_order row or ec_orderdisplay).
$record (array|null) The order’s latest age check record (ec_bluecheck_check row with status and decoded meta), or null.
Fires in includes/class-wp-easycart-bluecheck-orders.php · hold_text()
wp_easycart_bluecheck_move_block BlueCheck
Filters whether the classic checkout’s Your age block is moved above Billing Information as the page loads; return false to leave it with the order notes at the foot of the page, where it is printed.
Parameters
true (bool) Move it, true by default.
Fires in includes/class-wp-easycart-bluecheck-checkout.php · print_move_script()
wp_easycart_bluecheck_person BlueCheck
Filters the shopper’s details sent to BlueCheck for age verification.
Parameters
$person (array) first_name, last_name, email, phone, address_1, address_2, city, state, zip, country
$cd (object|null) the checkout session
Fires in includes/class-wp-easycart-bluecheck-checkout.php · person()
wp_easycart_bluecheck_requirement BlueCheck
Filters the BlueCheck age verification requirement for the cart.
Parameters
$out (array) requirement with required, age, blocked, products and scope
$product_ids (int[]) products in the cart
$country (string) ship-to country
$state (string) ship-to state
Fires in includes/class-wp-easycart-bluecheck-rules.php · requirement()
wp_easycart_bluecheck_store_check_url BlueCheck
Filters the BlueCheck order token check URL.
Parameters
$url (string) default https://verify.bluecheck.me/age-verification/api/check-token
Fires in includes/class-wp-easycart-bluecheck-store-account.php · check_token()
wp_easycart_consent_source
Filters which cookie consent source WP EasyCart reads before loading tracking tags; the value must be one of the known sources or it is ignored.
Parameters
$source (string) off, wp_consent_api, google_consent_mode, cookiebot, cookieyes, complianz or any.
$setting (string) The choice saved on Settings > Integrations > Cookie consent.
Fires in inc/classes/core/class-wp-easycart-consent.php · source()
wp_easycart_elementor_pro_features
Filters the list of Elementor features that WP EasyCart PRO provides, so the free plugin can show them as active.
Parameters
$value (array) Feature keys provided by PRO; empty by default.
Fires in admin/elementor/wp-easycart-elementor-functions.php · wp_easycart_elementor_pro_feature()
wp_easycart_email_marketing_klaviyo_revision Email Marketing
Filters the Klaviyo API revision date sent with every Klaviyo call; it must be in YYYY-MM-DD format.
Parameters
$value (string) The API revision.
Fires in includes/klaviyo/class-wp-easycart-email-marketing-klaviyo-api.php · revision()
wp_easycart_email_marketing_order Email Marketing
Filters the neutral order record sent to the connected email marketing service.
Parameters
$record (array) The neutral order record.
$order (object) The ec_order row.
Fires in includes/class-wp-easycart-email-marketing-data.php · order()
wp_easycart_email_marketing_product Email Marketing
Filters the neutral product record sent to the connected email marketing service.
Parameters
$record (array) The neutral product record.
$product (object) The ec_product row.
Fires in includes/class-wp-easycart-email-marketing-data.php · product()
wp_easycart_email_marketing_service Email Marketing
Filters the service adapter the store uses to talk to the email marketing service.
Parameters
$adapter (wp_easycart_email_marketing_service) The adapter for the connected service.
Fires in includes/class-wp-easycart-email-marketing.php · service_for()
wp_easycart_email_marketing_services Email Marketing
Filters the email marketing services the extension can connect, one at a time.
Parameters
$value (array) Service slug => adapter class name; mailchimp and klaviyo by default.
Fires in includes/class-wp-easycart-email-marketing.php · services()
wp_easycart_email_marketing_{service}_service_url Email Marketing
Filters the base URL of the connection service for an email marketing service. {service} is the service slug, such as mailchimp or klaviyo.
Parameters
$url (string) Base URL, https://connect.wpeasycart.com/{service}/ by default.
Fires in includes/class-wp-easycart-email-marketing-connection.php · service_url()
wp_easycart_facebook_feed_columns Facebook & Instagram
Filters the list of column names written to the Facebook and Instagram product feed CSV.
Parameters
$columns (array) feed column names, including video url columns
Fires in includes/class-wp-easycart-facebook-feed.php · columns()
wp_easycart_facebook_image_size Facebook & Instagram
Filters the WordPress image size used for product images sent to Facebook and Instagram.
Parameters
$size (string) image size name, default ‘large’
Fires in includes/class-wp-easycart-facebook-items.php · parse_media()
wp_easycart_facebook_item Facebook & Instagram
Filters a finished Facebook and Instagram catalog item before it is used.
Parameters
$item (array) the catalog item
$product (object) the ec_product row
$variant (object|null) the ec_optionitemquantity row, or null for a product without a variant
Fires in includes/class-wp-easycart-facebook-items.php · finish()
wp_easycart_facebook_item_availability Facebook & Instagram
Filters the availability text sent to Facebook and Instagram for an item.
Parameters
$availability (string) ‘in stock’ or ‘out of stock’
$state (string) stock state: in_stock, preorder, backorder or out_of_stock
$product (object) the product row
Fires in includes/class-wp-easycart-facebook-items.php · stock()
wp_easycart_facebook_item_issues Facebook & Instagram
Filters the list of problems found with a Facebook and Instagram catalog item.
Parameters
$issues (array) issues found for the item
$item (array) the catalog item that was checked
Fires in includes/class-wp-easycart-facebook-items.php · issues()
wp_easycart_facebook_item_link Facebook & Instagram
Filters the product page link sent to Facebook and Instagram for a product.
Parameters
$link (string) product URL
$product (object) the product row
Fires in includes/class-wp-easycart-facebook-items.php · product_link()
wp_easycart_facebook_item_price Facebook & Instagram
Filters the price sent to Facebook and Instagram for a product, after any VAT multiplier is applied.
Parameters
$price (float) the item price
$product (object) the product row
Fires in includes/class-wp-easycart-facebook-items.php · assemble()
wp_easycart_facebook_item_vat_multiplier Facebook & Instagram
Filters the VAT multiplier applied to prices sent to Facebook and Instagram.
Parameters
$multiplier (float) 1 + VAT rate / 100, or 1 when no VAT applies
$product (object) the product row
Fires in includes/class-wp-easycart-facebook-items.php · vat_multiplier()
wp_easycart_facebook_option_attribute Facebook & Instagram
Lets you map a product option label to a Facebook attribute name when the built-in matching (such as material or pattern) finds none.
Parameters
$attribute (string) attribute name, empty by default
$label (string) the option label, lowercased
Fires in includes/class-wp-easycart-facebook-items.php · attribute_for_option()
wp_easycart_facebook_product_exclusion Facebook & Instagram
Lets you exclude a product from the Facebook and Instagram catalog by returning a reason code.
Parameters
$reason (string) exclusion reason; empty keeps the product in the catalog
$product (object) the product row
Fires in includes/class-wp-easycart-facebook-items.php · product_exclusion()
wp_easycart_facebook_product_set_filter Facebook & Instagram
Filters the Meta product set filter built for a store category when product sets are synced.
Parameters
$filter (array) the Meta product set filter
$category_id (int) the category ID
$product_ids (int[]) IDs of the products in the category
Fires in includes/class-wp-easycart-facebook-sync.php · desired_sets()
wp_easycart_facebook_reason_label Facebook & Instagram
Filters the label shown for an item exclusion reason code that has no built-in label.
Parameters
$label (string) the label, initially the reason code itself
$code (string) the reason code
Fires in includes/class-wp-easycart-facebook-items.php · reason_label()
wp_easycart_facebook_request_data Facebook & Instagram
Filters the data array sent to Facebook and Instagram when an item is created or updated.
Parameters
$data (array) request fields for the item
$item the catalog item being sent
Fires in includes/class-wp-easycart-facebook-sync.php · request_data()
wp_easycart_facebook_stock_events Facebook & Instagram
Filters the list of order events after which Facebook and Instagram stock is re-synced.
Parameters
$events (string[]) event and action names, such as wpeasycart_order_paid and wpeasycart_full_order_refund
Fires in includes/class-wp-easycart-facebook-sync.php · stock_events()
wp_easycart_fulfillment_providers
Lets fulfillment partner extensions register themselves as fulfillment providers.
Parameters
$providers (array) provider slug => array with label, active, url and order_url (a callable taking $order_id and $ref); empty by default
Fires in inc/classes/core/class-wp-easycart-fulfillment.php · providers()
wp_easycart_google_feed_item PRO
Filters a finished product item in the Google Merchant Center feed before it is output.
Parameters
$item (array) the Google feed item
Fires in inc/classes/core/wp_easycart_google_feed_pro.php · finalize()
wp_easycart_google_feed_pro_licensed PRO
Filters whether the site counts as licensed for the Pro Google feed.
Parameters
$licensed (bool) true when the WP EasyCart license is valid
Fires in inc/classes/core/wp_easycart_google_feed_pro.php · licensed()
wp_easycart_google_relay_url PRO
Filters the base URL of the WP EasyCart relay service used by the Google Merchant connection.
Parameters
$url (string) base URL, default https://connect.wpeasycart.com/google/
Fires in inc/classes/core/wp_easycart_google_merchant_pro.php · relay_url()
wp_easycart_groupon_report_columns Groupon
Filters the columns of the Groupon deal redemption report CSV.
Parameters
$columns (array) column key (code, voucher_ref, redeemed, orders, discount) => header
$site (string) deal site slug
Fires in includes/class-wp-easycart-groupon-codes.php · report_columns()
wp_easycart_groupon_sites Groupon
Filters the list of deal sites, such as Groupon, that the Groupon extension supports.
Parameters
$sites (array) site slug => settings including label, paid_value, report and help
Fires in includes/class-wp-easycart-groupon.php · sites()
wp_easycart_marketing_contact PRO
Filters the contact data sent to an email marketing provider for a shopper.
Parameters
$contact (array) contact data
$email (string) the shopper’s email address
Fires in inc/classes/marketing/class-wp-easycart-marketing-pro.php · contact()
wp_easycart_marketing_providers PRO
Filters the registered email marketing provider connections.
Parameters
$providers (array) provider id => wp_easycart_marketing_provider object
Fires in inc/classes/marketing/class-wp-easycart-marketing-pro.php · providers()
wp_easycart_meta_connection PRO
Lets the Facebook and Instagram extension supply its connection details (pixel and token) to the Meta Conversions API.
Parameters
$connection (array|null) connection with connected, name, pixel_id, token, settings_url and source keys; null when there is none
Fires in inc/classes/analytics/wp_easycart_meta_capi.php · connection()
wp_easycart_meta_content_id Facebook & Instagram
Filters the content ID sent to Meta for a product or variant, in the form product_id or product_id_variant_id.
Parameters
$content_id (string) {product_id} or {product_id}_{optionitemquantity_id}
$product_id (int) the product ID
$optionitemquantity_id (int) the variant row ID, 0 for the product
Fires in inc/classes/core/class-wp-easycart-meta.php · wp_easycart_meta_content_id() +1 more place
wp_easycart_oauth_keeps_refresh
Filters whether an AI assistant’s sign-in keeps one refresh token for its life instead of a new one at every refresh. Default true for Google’s apps (Gemini).
Parameters
$keeps (bool) True for Google apps.
$redirect_uri (string) Where the app’s sign-in returned.
$client (array) The app.
Fires in inc/classes/core/abilities/class-wp-easycart-oauth.php · keeps_refresh()
wp_easycart_premium_download_url
Filters the link that downloads WP EasyCart Premium as a .zip for a current Premium license, offered on the Extensions page banner when the site does not allow plugins to be installed from the dashboard. Return empty to fall back to the plain download link; WP EasyCart PRO supplies its licensed download here.
Parameters
'' (string) The download link, empty by default. Asked only for a user who can manage options while WP EasyCart Premium is not installed.
Fires in admin/inc/wp_easycart_admin_extensions.php · premium_download_url()
wp_easycart_premium_install_status
Filters why the one-click install of WP EasyCart Premium is not offered, which picks the wording and buttons of the Extensions page banner; WP EasyCart PRO answers it. Not asked when the user cannot install plugins, the site allows no installs from the dashboard or PRO has no one-click install.
Parameters
$status (array) Keys reason (unknown by default; PRO answers such as not_premium, expired, inactive, not_offered, site or unreachable) and checked (when the download server last answered, a timestamp, or 0).
Fires in admin/inc/wp_easycart_admin_extensions.php · premium_install_status()
wp_easycart_premium_install_url
Filters the URL used for one-click installation of WP EasyCart Premium and its extensions.
Parameters
$url (string) Install URL, empty when one-click install is not available.
$slug (string) The extension to install afterwards, or an empty string.
Fires in admin/inc/wp_easycart_admin_extensions.php · premium_install_url()
wp_easycart_premium_public_zip_url PRO
Filters the plain link to the current WP EasyCart Premium .zip, which needs no license, that WP EasyCart PRO offers when its licensed download is not available or did not work: on the install credentials page and in its install and download error notices.
Parameters
$url (string) https://connect.wpeasycart.com/premium/v1/latest/wp-easycart-premium.zip with source=pro, the site address and the PRO, WP EasyCart, WordPress and PHP versions as query arguments.
Fires in admin/inc/wp_easycart_premium_installer_pro.php · public_zip_url()
wp_easycart_premium_zip_link
Filters the plain link to the current WP EasyCart Premium .zip, which needs no license, behind Download WP EasyCart Premium ( .zip ) on the Extensions page banner, unless WP EasyCart PRO supplies its licensed download there.
Parameters
$url (string) https://connect.wpeasycart.com/premium/v1/latest/wp-easycart-premium.zip with source=free, the site address and the WP EasyCart, PRO, WordPress and PHP versions as query arguments.
Fires in admin/inc/wp_easycart_admin_extensions.php · premium_zip_link()
wp_easycart_pro_license_facts PRO
Filters the license facts WP EasyCart Premium reads.
Parameters
$facts (array) key, site, tier, model, trial, licensed, lapsed and end.
Fires in wp-easycart-admin-pro.php · wp_easycart_pro_license_facts()
wp_easycart_qbo_service_url QuickBooks Online
Filters the base address of the WP EasyCart connection service for QuickBooks Online. Default https://connect.wpeasycart.com/quickbooks/.
Parameters
$url (string) The base URL.
Fires in includes/class-wp-easycart-qbo-connection.php · service_url()
wp_easycart_qbo_tax_service_active QuickBooks Online
Filters whether a tax service works out and files this store’s sales tax, in which case the sales tax liability line is suggested.
Parameters
$on (bool) Whether a tax service was detected.
Fires in includes/class-wp-easycart-qbo-lists.php · tax_service_active()
wp_easycart_square_inventory_adjustment
Filters the inventory adjustment sent to Square when WP EasyCart changes the stock of a product linked to Square: a sale moves units from IN_STOCK to SOLD, stock put back moves them from UNLINKED_RETURN to IN_STOCK. The quantity must stay a positive decimal string.
Parameters
$adjustment (array) Square adjustment fields: catalog_object_id, quantity, from_state, to_state, location_id and occurred_at.
$quantity (int|float) Units sold (positive) or put back (negative).
$item_id (string) The Square catalog object id of the item variation.
Fires in inc/classes/gateway/ec_square.php · adjust_inventory()
wp_easycart_xero_app_scopes Xero
Filters the scopes asked of the store’s own Xero app. Default offline_access accounting.settings accounting.contacts accounting.invoices accounting.payments; an app made before Xero’s granular scopes may need accounting.transactions instead.
Parameters
$scopes (string) Space-separated scopes.
Fires in includes/class-wp-easycart-xero-connection.php · start()
wp_easycart_xero_service_url Xero
Filters the base address of the WP EasyCart connection service for Xero. Default https://connect.wpeasycart.com/xero/.
Parameters
$url (string) The base URL.
Fires in includes/class-wp-easycart-xero-connection.php · service_url()
wp_easycart_zapier_app_url Zapier
Filters the link that adds WP EasyCart to a merchant’s Zapier account. Anything not starting with https:// gives no link.
Parameters
$url (string) The invite link during early access, else the app’s Zapier listing.
Fires in includes/class-wp-easycart-zapier.php · app_url()
wp_easycart_zapier_hook_url_allowed Zapier
Filters whether a Zap’s hook URL may be saved. By default only https://hooks.zapier.com/ addresses are allowed.
Parameters
$ok (bool) Whether the URL is allowed.
$url (string) The hook URL.
Fires in includes/class-wp-easycart-zapier-hooks.php · url_allowed()
wp_easycart_zapier_pre_send Zapier
Filters a Zapier delivery before it is posted. Default null, which posts it; return an HTTP status code or a WP_Error to skip the post.
Parameters
$pre (null|int|WP_Error) Null to post.
$hook (object) The hook row.
$event (string) The event.
$payload (array) The record sent.
Fires in includes/class-wp-easycart-zapier-hooks.php · send()

Import and export

Grouped by what they are about

16 filters

wp_easycart_admin_inventory_export_header
Filters the header row of the inventory CSV export.
Parameters
$header (array) Column key => label written to the file.
Fires in admin/inc/wp_easycart_admin_inventory.php · export_header()
wp_easycart_admin_inventory_export_row
Filters each data row of the inventory CSV export before it is written.
Parameters
$csv_row (array) Cells in header order.
$row (object) Database row with product_id, oiq_id, title, variant_label, sku, row_type, tracked and quantity.
Fires in admin/inc/wp_easycart_admin_inventory.php · export_inventory_list()
wp_easycart_admin_inventory_import_columns PRO
Filters the header names the inventory importer accepts for each column role.
Parameters
$columns (array) Role (variant_id, product_id, sku, qty) => array of accepted header names.
Fires in admin/inc/wp_easycart_admin_inventory_pro.php · import_column_aliases()
wp_easycart_csv_export_bom
Filters whether a CSV export starts with the UTF-8 byte order mark. Default true.
Parameters
$bom (bool) Whether to write the mark (true).
$export (string) Which export.
Fires in admin/inc/wp_easycart_admin.php · wp_easycart_admin_csv_bom()
wp_easycart_import_sources
Filters the stores the importer (Products › Import) can move products from; add a source by its id and a class name or object that extends wp_easycart_import_source.
Parameters
array(...) (array) id => class name or object; woocommerce and square by default.
Fires in inc/classes/core/import/class-wp-easycart-import.php · sources()
wp_easycart_import_start_choices
Filters the import choices the products list shows a store with no products, under Have a store to bring over?
Parameters
$choices (array[]) The choices.
Fires in admin/inc/wp_easycart_admin_import.php · start_choices()
wp_easycart_order_export_fee_types
Filters the fee labels that become extra columns in the order export.
Parameters
$fee_rows (array) rows of objects with a fee_label property
Fires in admin/inc/wp_easycart_admin.php · report_phase_init() +1 more place
wp_easycart_order_export_keys PRO
Filters the full list of column keys in the order export CSV.
Parameters
$keys (array) column keys
Fires in admin/inc/wp_easycart_admin.php · report_phase_init() +2 more places
wp_easycart_order_export_order_keys
Lets extensions add order-level columns to the order export CSV.
Parameters
$keys (array) additional column keys, empty by default
Fires in admin/template/exporters/export-orders-csv.php
wp_easycart_order_export_order_values
Supplies values for the extension-added order export columns for a chunk of orders.
Parameters
$values (array) order id => column key => value, empty by default
$chunk_order_ids (array) order IDs in the current chunk
$wpec_order_keys (array) the extension column keys added through the order keys filter
Fires in admin/template/exporters/export-orders-csv.php
wp_easycart_order_export_single_keys PRO
Filters the list of order export columns that are written once per order rather than once per line item.
Parameters
$single_keys (array) column keys that are single-use per order, such as sub_total, grand_total and order_date
Fires in admin/inc/wp_easycart_admin.php · report_phase_init() +2 more places
wp_easycart_order_field_export_columns
Filters the checkout field columns included in the order export.
Parameters
$out (array) checkout field key => column name
Fires in inc/classes/core/class-wp-easycart-order-fields.php · export_columns()
wp_easycart_product_csv_template_rows
Filters the example rows of the product CSV templates you can download for the product import.
Parameters
$rows (array[]) The rows.
$kind (string) starter or full.
Fires in admin/inc/wp_easycart_admin_product_import.php · template_rows()
wp_easycart_product_export_yoast_description
Filters whether the products CSV export adds the yoast_meta_description column. Default true when Yoast SEO is active.
Parameters
$add (bool) Whether to add the column.
Fires in admin/inc/wp_easycart_admin_products.php · export_yoast_description()
wpeasycart_admin_order_export_file
Filters the file path of the template that exports orders to CSV.
Parameters
$file (string) Path to export-orders-csv.php.
Fires in admin/inc/wp_easycart_admin_orders.php · __construct()
wpeasycart_admin_order_stamps_export_file
Filters the file path of the template that exports orders to a Stamps.com CSV.
Parameters
$file (string) Path to export-orders-stamps-csv.php.
Fires in admin/inc/wp_easycart_admin_orders.php · __construct()

API and mobile app

Grouped by what they are about

10 filters

wp_easycart_api_controllers API plugin
Filters the WP EasyCart API’s REST controllers. A class outside the API’s includes/rest folder must be loaded first.
Parameters
$controllers (array) Route base => class name.
Fires in wp-easycart-api/includes/class-wp-easycart-api.php · controllers()
wp_easycart_api_download_url_problem API plugin
Filters why a download file’s web address sent to the WP EasyCart API cannot be used. Return an empty string to allow it.
Parameters
$problem (string) The message, or ”.
$url (string) The address.
Fires in wp-easycart-api/includes/class-wp-easycart-api-catalog.php · download_url_problem()
wp_easycart_api_pro_licensed API plugin
Filters whether the store’s WP EasyCart PRO license lets the WP EasyCart API turn on PRO product features. Without it those requests answer 503.
Parameters
$licensed (bool) WP EasyCart PRO’s answer.
Fires in wp-easycart-api/includes/class-wp-easycart-api-catalog.php · pro_licensed()
wp_easycart_api_product_image_url_problem API plugin
Filters why a product image’s web address sent to the WP EasyCart API cannot be fetched. Return an empty string to allow it.
Parameters
$problem (string) The message, or ”.
$url (string) The address.
Fires in wp-easycart-api/includes/class-wp-easycart-api-catalog.php · image_url_problem()
wp_easycart_api_rate_limit API plugin
Filters how many requests one WP EasyCart API credential may make in any 60 seconds. 0 means no limit.
Parameters
self::LIMIT (int) Default 120.
$credential (string) key:<id> or user:<id>.
Fires in wp-easycart-api/includes/class-wp-easycart-api-log.php · limit()
wp_easycart_api_webhook_disabled_email API plugin
Filters the email sent to the store owner when the WP EasyCart API turns a webhook off. Return an array without to or subject to send nothing.
Parameters
$mail (array) to, subject and message.
$hook (object) The webhook row.
$reason (string) gone, failing or secret.
Fires in wp-easycart-api/includes/class-wp-easycart-api-webhooks.php · email_owner()
wp_easycart_api_webhook_events API plugin
Filters the events WP EasyCart API webhooks can send. Each event name is resource.action, such as order.created.
Parameters
$events (array) Event name => label, group, description and record (a callable that answers the record as the REST route does, or null to send nothing).
Fires in wp-easycart-api/includes/class-wp-easycart-api-webhooks.php · events()
wp_easycart_api_webhook_pre_send API plugin
Filters a webhook delivery before the WP EasyCart API sends it. Return a result to skip the request; null sends it.
Parameters
null (int|WP_Error|null) The response code to record, or null.
$hook (object) The webhook row.
$row (object) The delivery row.
$headers (array) The headers.
$body (string) The body.
Fires in wp-easycart-api/includes/class-wp-easycart-api-webhooks.php · send()
wp_easycart_api_webhook_url_problem API plugin
Filters why a webhook’s target address cannot be used. Return an empty string to allow it.
Parameters
$problem (string) The message, or ”.
$url (string) The address.
Fires in wp-easycart-api/includes/class-wp-easycart-api-webhooks.php · url_problem()
wp_easycart_record
Filters one store record as other systems read it: the WP EasyCart API’s routes and webhooks, WP EasyCart for Zapier and the AI assistant tools. Records never hold passwords, card details, gateway tokens, admin notes or IP addresses.
Parameters
$record (array) The record.
$type (string) order, order_line, shipment, order_status, customer, customer_role, subscriber, subscription, subscription_change, subscription_plan, product, variation, category, manufacturer, option_set, abandoned_cart, review, withdrawal, download or stock_change.
$row (mixed) The row it was built from.
Fires in inc/classes/core/class-wp-easycart-records.php · done()

Other

Grouped by what they are about

7 filters

wp_easycart_asset_version_by_file
Filters whether WP EasyCart’s own scripts and styles carry the file’s modified time in their version. Default true; return false to leave the address unchanged.
Parameters
$on (bool) Whether to version by file (true).
$src (string) The asset’s address.
$handle (string) The asset’s handle.
Fires in wpeasycart.php · wp_easycart_asset_file_version()
wp_easycart_collation_auto_max_bytes
Filters the largest table (bytes of data and indexes) the upgrade changes to the store’s collation by itself. Larger tables wait for Store Status or WP-CLI.
Parameters
self::AUTO_MAX_BYTES (int) Bytes.
Fires in inc/classes/core/class-wp-easycart-collation.php · automatic()
wp_easycart_currency_country_format
Filters how a country writes amounts.
Parameters
$format (array|null) before, space, dec and thou, or null when not known.
$country (string) ISO country code.
$locale (string) WordPress locale.
Fires in inc/classes/core/ec_currency.php · country_format()
wp_easycart_table_collations
Filters the collation WP EasyCart’s tables are matched to for each character set.
Parameters
$out (array) Character set family (utf8mb4, utf8mb3, latin1 …) => collation.
$anchor (array|null) The character set and collation of the store’s own tables.
Fires in inc/classes/core/class-wp-easycart-collation.php · targets()
wpeasycart_post_sync_direct_writes
Filters whether WP EasyCart’s post sync writes posts with direct database queries instead of wp_insert_post and wp_update_post.
Parameters
$direct (bool) True for mobile app (amfphp) requests by default, false otherwise.
Fires in inc/classes/core/class-wp-easycart-post-sync.php · use_direct_writes()
wpeasycart_post_sync_force_delete
Filters whether the synced WordPress post is permanently deleted, skipping the trash, when its store item is removed.
Parameters
$force (bool) True to delete permanently; defaults to true.
$type (string) Synced item type.
$entity_id (int) Store item id.
$post_id (int) WordPress post id.
Fires in inc/classes/core/class-wp-easycart-post-sync.php · delete()
wpeasycart_post_sync_registry
Filters the registry of item types the post sync keeps in step with WordPress posts.
Parameters
$registry (array) Item type => settings such as table, primary key and shortcode attributes.
Fires in inc/classes/core/class-wp-easycart-post-sync.php · registry()

Keep going

Related panels

Installing Extensions

Installing the extensions that add their own hooks.

WP EasyCart API

The REST API and signed webhooks, for systems outside WordPress.

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.

The WP EasyCart admin: orders and offers
Updated on November 6, 2026