Developers › Filters
WordPress Filters Reference
Every filter in WP EasyCart, PRO and the extensions: what value it lets you change and what it passes to your code. 23 parts.
Quick links
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 );.
Reading the list
Names, tags and where hooks fire
Names. Names start with wp_easycart_, wpeasycart_ or ec_. A name with a word in braces, such as wpeasycart_admin_order_{type}_update, stands for a family of hooks: replace the braces with the value described in the entry.
Tags. An entry with no tag is in the free WP EasyCart plugin. A PRO tag means it works only when WP EasyCart PRO is active. Other tags name the extension that provides it.
Fires in. The plugin file, and the function, where the hook is called. Use it to understand the context or to search the plugin when you need more detail. Hooks in admin screens work only in the WordPress admin.
Areas. The list is grouped by what the hook is about: cart, orders, products, admin screens and so on. Use your browser’s find box to look for a name.
💡 Note: Looking to run code when something happens instead of changing a value? See the WordPress Action Hooks Reference.
The filters
By area
772 filters, grouped by what they are about.
Cart and checkout
Grouped by what they are about
67 filterswp_easycart_add_to_cart_optional_always_addFilters whether adding a product always inserts a new cart row instead of merging with a matching existing cart line.
$always_add (bool) False by default; true forces a new cart row.$product_id (int) ID of the product being added.wp_easycart_add_to_cart_quantityFilters the quantity stored in the cart when a product is added.
$quantity (int) Quantity being added.$product_id (int) ID of the product being added.wp_easycart_add_to_cart_return_url_cartFilters the URL the shopper is sent to after adding a product to the cart, when they are redirected to the cart page.
$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.wp_easycart_add_to_cart_return_url_productFilters the URL the shopper is sent back to after adding a product, when they stay on the product page.
$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.wp_easycart_advanced_option_items_add_to_cartFilters the option items of an advanced option set when reading the shopper’s selections during add to cart.
$option_items (array) the option set’s option item objects$option_id (int) the option set idwp_easycart_advanced_options_add_to_cartFilters the advanced option values collected for a product being added to the cart.
$option_vals (array) the collected option values$product_id (int) the product id$tempcart_id (int) the temporary cart idwp_easycart_allow_checkout_detailsFilters whether the checkout details step is shown. Return a falsy value to stop it displaying.
$allow (int) 1 to allow, default 1wp_easycart_allow_paymentFilters whether the payment step is shown. Return a falsy value to stop it displaying.
$allow (int) 1 to allow, default 1wp_easycart_allow_paypal_expressFilters whether PayPal Express and digital wallet options, such as Venmo and Pay Later, are allowed on the cart and checkout.
$allow (bool) false by defaultwp_easycart_cart_3dsecure_linkFilters the URL of the 3D Secure cart page.
$url (string) the cart page URL with ec_page=3dsecurewp_easycart_cart_checkout_info_linkFilters the URL of the checkout information step.
$url (string) the cart page URL with ec_page=checkout_infowp_easycart_cart_checkout_payment_linkFilters the URL of the checkout payment step.
$url (string) the cart page URL with ec_page=checkout_paymentwp_easycart_cart_checkout_paypal_authorized_linkFilters the URL of the checkout PayPal authorized step.
$url (string) the cart page URL with ec_page=checkout_paypal_authorizedwp_easycart_cart_checkout_shipping_linkFilters the URL of the checkout shipping step.
$url (string) the cart page URL with ec_page=checkout_shippingwp_easycart_cart_checkout_submit_order_linkFilters the URL of the checkout submit order step.
$url (string) the cart page URL with ec_page=checkout_submit_orderwp_easycart_cart_checkout_success_linkFilters the URL of the checkout success page.
$url (string) the cart page URL with ec_page=checkout_successwp_easycart_cart_cookie_httponlyFilters whether the cart cookie is sent with the HttpOnly flag.
$httponly (bool) true by defaultwp_easycart_cart_cookie_samesiteFilters the SameSite attribute of the cart cookie.
$samesite (string) Lax by defaultwp_easycart_cart_invoice_linkFilters the URL of the invoice page.
$url (string) the cart page URL with ec_page=invoicewp_easycart_cart_item_total_priceFilters the total price of a cart item, both the base total and the currency-converted total, when the cart item loads.
$total_price (float) the item total price$cartitem_id (int) the cart item id$product_id (int) the product idwp_easycart_cart_item_unit_price_discounted_displayFilters the discounted unit price display string for a cart item.
$display (string) formatted discounted unit price plus any extra label$product_id (int) the product idwp_easycart_cart_item_unit_price_displayFilters the unit price shown for a line item on the admin order details screen and the account receipt.
$unit_price (string|float) the unit price$product_id (int) the product idwp_easycart_cart_line_availableFilters 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.
$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.wp_easycart_cart_linkFilters the URL of the cart page returned by wpeasycart_links()->get_cart_page() when no specific cart step is requested.
$cart_page (string) The cart page URL.wp_easycart_cart_page_urlFilters the cart page URL when WP EasyCart loads a page and when the account page is set up.
$cart_page (string) The cart page URL.wp_easycart_cart_process_affirm_linkFilters the URL of the cart’s process Affirm step (ec_page=process_affirm).
$url (string) The cart page URL with ec_page=process_affirm.wp_easycart_cart_stateFilters the mini-cart state array (item count, subtotal and items as plain text and URLs) returned for the visitor’s cart.
$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.wp_easycart_cart_subscription_info_linkFilters the URL of the cart’s subscription info step (ec_page=subscription_info).
$url (string) The cart page URL with ec_page=subscription_info.wp_easycart_cart_third_party_linkFilters the URL of the cart’s third party payment step (ec_page=third_party).
$url (string) The cart page URL with ec_page=third_party.wp_easycart_catalog_displayFilters 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.
$display_as_catalog (mixed) The Display as catalog setting; a truthy value turns the store into a catalog.wp_easycart_checkout_field_placement_shown PROFilters where a custom checkout field’s placement is really printed for the current cart.
$where (string) The resolved placement, or an empty string.$placement (string) The placement chosen for the field.$cartpage (object|null) The ec_cartpage object.wp_easycart_checkout_field_types PROFilters the list of checkout field types available in the checkout fields builder; rendering an added type is done through wp_easycart_checkout_field_html.
$types (array) Field type slug => settings.wp_easycart_checkout_fields PROFilters the custom checkout fields returned for the requested statuses.
$fields (array) Field key => field definition.$statuses The field statuses that were asked for.wp_easycart_checkout_fields_licensed PROFilters whether the custom checkout fields feature is licensed.
$licensed (bool) Whether checkout fields are licensed.wp_easycart_invalid_checkout_details_urlFilters the URL a shopper is sent to when checkout details are invalid, such as an invalid shipping choice or an order error.
$url (string) cart page URL with an ec_cart_error query argumentwp_easycart_onepage_checkout PROFilters whether the one-page checkout is active.
$active (bool) false by defaultwp_easycart_onepage_incompatibleFilters the list of payment method names that keep a store on the classic checkout instead of the one-page checkout.
$names (string[]) names of incompatible payment methodswp_easycart_order_extras_placement PROFilters where the PO number and gift options are asked at checkout.
$placements (array) po and gift keys, each set to order_notes, delivery or reviewwp_easycart_return_store_urlFilters the URL of the return to store link in the cart.
$url (string) The store URL, or the custom return URL from settings when set.wp_easycart_update_item_quantityFilters the quantity saved when a cart item’s quantity is updated.
$quantity (int) New quantity, never below 0.$tempcart_id (int) Cart item id.$session_id (string) Cart session id.$product_id (int) Product id.wpeasycart_abandoned_cart_capture_skipFilters whether an abandoned cart session is skipped instead of captured for reminder emails.
$skip (bool) Default false.$session_id (string) Cart session id.$cart_data (object) The ec_tempcart_data row for the session.wpeasycart_allowed_file_upload_typesFilters the list of MIME types shoppers may upload as customer files.
$types (array) Allowed MIME types, such as image/jpeg, application/pdf and zip types.wpeasycart_cart_card_errorFilters the saved card decline text before the shopper sees it on the cart page.
$card_error (string) Card decline text stored from the payment gateway.wpeasycart_cart_errorsFilters the map of cart error codes to the notice text shown to the shopper.
$errors (array) Error code => notice text, such as email_exists, payment_failed or minimum_order.wpeasycart_cartitem_image1Filters the main image URL for a cart item, in the cart and in abandoned cart emails.
$image1 (string) Cart item image URL.$product_id (int) Product id.$cartitem_id (int) Cart item id, or 0 if unknown.wpeasycart_cartitem_image1_optionitemFilters the option item image URL for a cart item, in the cart and in abandoned cart emails.
$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.wpeasycart_checkout_error_entryFilters one checkout problem entry before it is returned to the checkout page.
$entry (array) Problem entry with code and message keys.$code (string) The problem’s code.$cartpage (ec_cartpage) The checkout page object.wpeasycart_checkout_order_errorsFilters the list of error codes found when a shopper submits the order.
$errors (array) Error codes; add a notice for a new code through wpeasycart_cart_errors.$cartpage (ec_cartpage) The checkout page object.wpeasycart_checkout_password_js_functionFilters the JavaScript run when the shopper clicks the submit button on the checkout details form.
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_validate_cart_details( );’.wpeasycart_checkout_protection_client_ipFilters the client IP address that checkout protection uses for a request.
$ip (string) The address chosen for the request.$remote (string) The REMOTE_ADDR server value.wpeasycart_checkout_protection_cloudflare_rangesFilters the address ranges checkout protection trusts to send the CF-Connecting-IP (Cloudflare) header.
$ranges (array) CIDR ranges of trusted proxies.wpeasycart_checkout_protection_contact_emailFilters the email address shoppers are told to contact when their payments are paused by checkout protection.
$email (string) Contact email address.wpeasycart_checkout_protection_limitsFilters the numeric limits checkout protection applies for a protection level.
$limits (array) Limits for the level.$level (string) Protection level.wpeasycart_checkout_protection_settingsFilters the resolved checkout protection settings.
$settings (array) Resolved checkout protection settings.wpeasycart_checkout_step_errorLets a plugin block a checkout step by returning an error, which sends the shopper back to a checkout page.
$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.wpeasycart_express_checkout_allowedFilters whether express checkout buttons may be shown.
$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.wpeasycart_inquiry_blocklistFilters the list of blocked terms the inquiry form guard checks messages against.
$blocklist (array) Lowercase blocked terms.wpeasycart_inquiry_client_ipFilters the client IP address the product inquiry form guard uses.
$ip (string) The address chosen for the request.$remote (string) The REMOTE_ADDR server value.wpeasycart_inquiry_error_messageFilters the error message shown when the inquiry form guard rejects an inquiry.
$text (string) Message text.$reason (string) Reason the inquiry was rejected.$settings (array) Inquiry guard settings.wpeasycart_inquiry_guard_resultFilters the inquiry guard result, letting a plugin accept or reject an inquiry.
$reason (string) Rejection reason, or empty when the inquiry passed the checks.$context (array) Array with product_id, name, email, message and settings.wpeasycart_inquiry_guard_settingsFilters the product inquiry guard settings such as length, link limit and blocklist.
$settings (array) Inquiry guard settings.wpeasycart_minimum_order_totalFilters the minimum order total a cart must reach before checkout.
$minimum (float|string) Value of the ec_option_minimum_order_total setting.wpeasycart_restrict_cart_onlyFilters whether the store shows only the cart page and blocks the checkout pages.
$restrict (bool) False by default; return true to restrict shoppers to the cart.wpeasycart_show_checkout_buttonFilters whether the Checkout button is shown on the cart page.
$show (bool) Whether to show the button; defaults to true.wpeasycart_valid_cart_errorsFilters the list of cart error codes that are valid to show on the cart page.
$error_codes (array) Valid error code strings, such as email_exists, login_failed and payment_failed.wpeasycart_validate_checkout_dataFilters whether the checkout contact and billing details are valid.
$data_validated (bool) Result of the built-in checks.$user (ec_user) The current customer object.wpeasycart_validate_submit_order_dataFilters whether the order data is valid when the shopper submits the order.
$data_validated (bool) Result of the built-in checks; false fails the order.$user (ec_user) The current customer object.Products
Grouped by what they are about
77 filterswp_easycart_admin_free_image_slot_limitFilters how many product image slots the free edition allows, in the media editor and when images are saved.
$limit (int) Number of image slots available in the free edition; defaults to 2.wp_easycart_admin_free_option_set_limitFilters how many option sets the free edition allows on a product.
$limit (int) Maximum option sets per product in the free edition; defaults to 2.wp_easycart_admin_optionitem_quantity_add_clickFilters the JavaScript function called when Add New is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_optionitem_quantity_delete_clickFilters the JavaScript function called when Delete is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_optionitem_quantity_update_clickFilters the JavaScript function called when Update is clicked in the product option item quantity panel; Pro replaces the upgrade prompt.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_product_custom_price_label_changeFilters the JavaScript onchange handler for the custom price label dropdown on the admin product pricing form; Pro replaces the upgrade prompt.
$onchange (string) JavaScript function name; defaults to show_pro_required.wp_easycart_admin_product_custom_price_label_saveFilters the custom price label type saved for a product; Pro returns the posted value, and the default of 0 leaves the label disabled.
$value (int) Value to save; 0 by default.$enable_price_label (int) Price label type posted from the admin form.wp_easycart_admin_product_details_basic_fields_listFilters the list of basic field definitions on the admin product details form.
$fields (array) Field definitions, each an array with keys such as name, type, label and required.$product (object) Product being edited.wp_easycart_admin_product_details_categories_fields_listFilters the field definitions shown in the Categories section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_customs_fields_listFilters the field definitions shown in the customs and international shipping (packs in, HS code, country of origin, customs description) section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_deconetwork_fields_listFilters the field definitions shown in the Deconetwork section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_featured_products_fields_listFilters the field definitions shown in the Featured Products section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_google_merchant_fields_list PROFilters the field definitions shown in the Google Merchant section of the admin product editor before they are printed.
$fields (array) field definitions for the Google Merchant sectionwp_easycart_admin_product_details_menus_fields_listFilters the field definitions shown in the Menus section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_order_completed_details_note_fields_listFilters the field definitions shown in the Order details product note section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_order_completed_email_note_fields_listFilters the field definitions shown in the Order email product note section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_order_completed_note_fields_listFilters the field definitions shown in the Order completed note section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_packaging_fields_listFilters the field definitions shown in the packaging (weight, width, height, length) section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_pricing_fields_listFilters the field definitions shown in the pricing section of the admin product editor, including the volume pricing fields.
$fields (array) field definitions for the pricing fields$product (object) the product being editedwp_easycart_admin_product_details_quantity_fields_listFilters the field definitions shown in the quantity and stock section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_seo_fields_listFilters the field definitions shown in the SEO section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_short_description_fields_listFilters the field definitions shown in the Short Description section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_specifications_fields_listFilters the field definitions shown in the Specifications section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_tags_fields_listFilters the field definitions shown in the tags and image hover section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_details_user_rolesFilters the list of user roles offered in the product ‘Limit Visibility to User Role’ dropdown and in the product list’s role pricing options.
$user_roles (array) role options, each an object with id and value set to the role labelwp_easycart_admin_product_details_v2_tab_groupsFilters the tab groups (Essentials, Catalog, Advanced and so on) shown in the version 2 product editor navigation.
$tab_groups (array) group slug => labelwp_easycart_admin_product_details_v2_tabsFilters the tabs of the version 2 product editor, including each tab’s label, icon, group and description.
$tabs (array) tab slug => array with label, icon, group, desc$product (object) the product being editedwp_easycart_admin_product_list_columnsFilters the columns shown in the admin product list table.
$columns (array) column definitions with name, label, format, width and visibility keyswp_easycart_admin_product_list_filtersFilters the filter controls available above the admin product list table.
$filters (array) filter definitions for the product listwp_easycart_admin_v2_health_checksFilters the product health checklist shown in the version 2 product editor.
$checks (array) checks, each an array with key, label, done and tab$p (object) the productwp_easycart_admin_v2_order_status_labelsFilters the order status labels sent with the product activity data in the version 2 product editor.
$status_labels (array) order status labels, empty by defaultwp_easycart_admin_v2_price_context_chipsFilters the price context chips (such as login for pricing) shown near the price in the version 2 product editor.
$chips (array) chips, each an array with label and tab$p (object) the productwp_easycart_login_for_pricing_textFilters 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.
$text (string) message textproduct id (int) the product IDwp_easycart_low_stock_thresholdFilters the stock quantity at or below which a product or variant counts as low stock.
$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 fromwp_easycart_pro_option_list_limit PROFilters how many options the PRO product editor lists in its option pickers before showing a search box.
$limit (int) Maximum options listed, default 200.$kind The kind of option list being loaded.wp_easycart_product_breadcrumbs_schemaFilters whether the Elementor product info widget prints breadcrumb schema markup.
$show (bool) True when no SEO plugin is detected.$product (object) The product.$items (array) The breadcrumb items.wp_easycart_product_cache_viewerFilters the viewer details that vary the product cache key, for stores whose product queries differ per shopper.
$viewer (array) manager, user_level and role_id.wp_easycart_product_details_add_to_cart_valueFilters the Add to Cart button label on product cards and the product buy area.
$label (string) The button text.$product_id (int) The product id.wp_easycart_product_details_allow_add_to_cartFilters whether the add to cart form shows for a product that is out of stock.
$allow (bool) False by default.$product_id (int) The product id.wp_easycart_product_details_full_sizeFilters the WordPress image size used for the large product image on product pages.
$size (string) Image size name, default ‘large’.wp_easycart_product_details_image_url_type Facebook & InstagramFilters the URL of a product image saved as an external image URL.
$url (string) The image URL.wp_easycart_product_details_list_price_displayFilters the HTML output of the product’s list (regular) price.
$output (string) Price HTML.$list_price (float) The list price.wp_easycart_product_details_popup_thumbnail_image_url_typeFilters the URL of an external image shown in the product page popup thumbnails.
$url (string) The image URL.wp_easycart_product_details_price_displayFilters the HTML output of the product’s price.
$output (string) Price HTML.$price (float) The product price.wp_easycart_product_details_price_post_numFilters the price HTML after the price number has been added, before the subscription interval text.
$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.wp_easycart_product_details_price_pre_numFilters the price HTML just before the price number is added.
$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.wp_easycart_product_details_show_cart_areaFilters whether the add to cart area (quantity and button) is shown on the product page or add to cart shortcode.
$show_add_to_cart_area (bool) True by default.wp_easycart_product_details_show_imagesFilters whether the product image gallery is shown on the product page.
$show (bool) True by default.wp_easycart_product_details_thumbnail_image_url_typeFilters the URL of an external image shown as a product page thumbnail.
$url (string) The image URL.wp_easycart_product_details_thumbnail_large_image_url_typeFilters the URL of an external image shown in the large popup thumbnail on the product page.
$url (string) The image URL.wp_easycart_product_details_thumbnail_sizeFilters the WordPress image size used for product page thumbnails.
$size (string) Image size name, default ‘medium’.wp_easycart_product_force_select_optionsFilters whether a product shows a Select Options link instead of an add to cart button in listings.
$force (bool) False by default.$product_id (int) The product id.wp_easycart_product_list_price_displayFilters the formatted list (regular) price text shown on product listings.
$list_price (string) Formatted list price.$list_price_raw The unformatted product list price.wp_easycart_product_lock_sectionsFilters the product editor sections that can be locked, and which fields each locks and keeps.
$sections (array) Section => block fields, keep fields and columns.wp_easycart_product_locked_fieldsFilters which product fields are locked in the editor because another system manages the product.
$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.wp_easycart_product_managed_byFilters which provider manages a product, which locks its fields in the editor.
$slug (string) Provider slug, such as square, or an empty string.$row (object) The product row.wp_easycart_product_price_displayFilters the formatted price text shown on product listings.
$display (string) Formatted price.$price The raw product price.$product_id (int) The product id.wp_easycart_product_schemaFilters the schema.org structured data built for a product.
$data (array) Structured data for the product.$product (object) The product.wp_easycart_product_schema_enabledFilters whether product schema markup is output, either sitewide or for a single product.
$on (bool) Value of the store’s product schema setting.$product (object|null) The product, when checking one product.wp_easycart_product_schema_variant_limitFilters the maximum number of variants included in a product’s schema markup.
$limit (int) Variant limit, default VARIANT_LIMIT.$product (object) The product.wp_easycart_product_schema_variant_propertyFilters the schema.org property name used to describe a variant option set.
$found (string) The property matched from the option set name, or an empty string.$set The option set being described.wp_easycart_product_show_add_to_cart_buttonFilters whether the add to cart button shows for a product in listings and quick view.
$show (bool) True by default.$product (object) The product.wp_easycart_show_cpt_in_menuFilters the show_in_menu setting when the store item post type is registered, so the post type can appear in the admin menu.
$show_in_menu (bool|string) Default false.wp_easycart_show_product_not_foundFilters whether the product not found notice is shown; by default only store managers and the Elementor editor see it.
$show (bool) True for administrators, store managers and the Elementor editor.wp_easycart_stock_notify_batch_size PROFilters how many back-in-stock subscribers are notified per batch for a product.
$batch_size (int) Subscribers per batch, default 100.$product_id (int) Product id.wp_easycart_stock_notify_subscriber_page PROFilters how many back-in-stock subscribers are listed per page on a product.
$per_page (int) Rows per page.$product_id (int) Product id.wp_easycart_tabs_can_manage TabsFilters whether the store may edit product tabs.
$can (bool) True with an active Premium license.wp_easycart_tabs_content TabsFilters the content of a product tab before it is shown on the storefront.
$content (string) Tab content.$item (array) The tab.wp_easycart_update_stock_quantity PROFilters the stock quantity change applied to a product when its stock is updated or restocked.
$quantity Quantity to apply.$product_id (int) Product id.wp_easycart_variant_matrix_limit PROFilters the maximum number of variants a single product may have.
$limit (int) Default 20000.wp_easycart_variant_rebuild_limitFilters how many products have their variants rebuilt per run after an option set changes.
$limit (int) Default 200.$option_ids (int[]) The option sets that changed.wpeasycart_basic_optionitemFilters an option item row loaded from the database before it is cached.
$optionitem (object) Option item database row (ec_optionitem), or null if not found.wpeasycart_basic_optionitemsFilters the list of option item rows loaded for an option set before they are cached.
$optionitems (array) Option item database rows for the option set, ordered by optionitem_order.wpeasycart_db_get_all_advanced_optionitems_resultsFilters the advanced option item rows loaded from the database before they are cached.
$optionitems (array) Advanced option item database rows.wpeasycart_description_content_initally_activeFilters whether the description tab panel starts hidden on the product details page; a value containing display:none hides it, an empty string shows it.
$active (string) Empty string by default, which shows the description panel.$product_id (int) Product id.wpeasycart_description_initally_activeFilters the CSS class that marks the description tab active on the product details page.
$class (string) Active class name; defaults to ‘ec_active’.$product_id (int) Product id.wpeasycart_search_termsFilters the list of database columns searched by the store product search.
$search_terms (array) Column names searched, such as product.title.Categories, menus and manufacturers
Grouped by what they are about
3 filterswp_easycart_smart_categories_enabled PROFilters whether smart categories are enabled.
$enabled (bool) Default is whether the store is licensed for them.wp_easycart_smart_categories_flush_cache PROFilters whether product and category caches are flushed after smart categories sync; return false to handle invalidation yourself.
$flush (bool) Default true.wp_easycart_smart_categories_licensed PROFilters whether the store’s license allows smart categories.
$licensed (bool) Whether the license is active.Orders
Grouped by what they are about
71 filterswp_easycart_admin_duplicate_order_originalFilters the new order row before it is inserted when an admin duplicates an existing order; kept for backward compatibility.
$new (array) Column values for the duplicate order row about to be inserted.wp_easycart_admin_order_details_add_new_line_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_billing_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_delete_line_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_edit_line_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_order_bottom_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_order_date_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_order_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_refund_actionFilters the JavaScript function name called when the refund button is clicked on the admin order details payment card; Pro replaces the default upgrade prompt.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_shipping_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_details_totals_edit_actionFilters 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.
$action (string) Name of the JavaScript function to call; defaults to show_pro_required.wp_easycart_admin_order_fields_card_alwaysFilters whether the custom checkout fields card is shown on the admin order screen even when the order has no field values.
$show (bool) False by default; true shows the card when empty.$order (object) Order row.wp_easycart_admin_order_gift_editableFilters whether the gift order card on the admin order screen shows an Edit button.
$editable (bool) False by default; true shows the Edit button.$order_id (int) ID of the order.wp_easycart_admin_order_history_entry PROFilters 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.
$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.wp_easycart_admin_order_timeline_labels PROFilters the labels used for order timeline events in the admin fulfillment cell.
$labels (array) Order log key => label.$order_id (int) ID of the order.wp_easycart_admin_orders_details_basic_fields_listFilters the list of basic field definitions on the admin order details form.
$fields (array) Field definitions, each an array with keys such as name, type, label and required.wp_easycart_admin_orders_details_shipment_fields_listFilters the list of shipment field definitions on the admin order details form.
$fields (array) Field definitions, each an array with keys such as name, type, label and required.wp_easycart_document_builtinsFilters the built-in document profiles for a document type.
$builtins (array) Built-in profile definitions.$type (string) The document type.wp_easycart_document_fieldsFilters the fields a document type can show or hide.
$fields (array) Field key => settings such as group, label and default.$type (string) The document type.wp_easycart_document_order_profileFilters which document profile is used for an order when none is specified; PRO uses it for rules and gift orders.
$value (string) Profile id; empty by default.$type (string) The document type.$order_id (int) The order id.wp_easycart_document_profileFilters the field settings of a document profile.
$values (array) Field key => on/off value for the profile.$type (string) The document type.$id (string) The profile id.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.
$value (string) Rendered HTML; empty by default.$order_id (int) The order id.$fields (array) The resolved document fields.$args (array) Render arguments.wp_easycart_document_rule_match PROFilters the document rule matched for an order (PRO), letting code replace or clear the matched rule.
$found (array|null) The matched rule, or null.$order_id (int) The order id.wp_easycart_document_typesFilters the list of document types shown in Settings > Documents.
$types (array) Document type => settings.wp_easycart_documents_proFilters whether the store gets more than one profile per document (WP EasyCart PRO, licensed).
$value (bool) Whether PRO document profiles are enabled; false by default.wp_easycart_documents_pro_licensed PROFilters whether the PRO documents feature is licensed.
$licensed (bool) Whether the WP EasyCart license is valid.wp_easycart_ecv2_create_label_actionRuns on the order details Fulfill panel with a placeholder value; the return value is not used, so it only gives listeners a hook point.
$action (string) The string show_pro_required.wp_easycart_ecv2_format_phoneFilters a phone number’s display text and tel: link on the order details screen.
$phone (array) display (formatted text) and href (tel: link).$raw (string) The phone number as stored.$country (string) The country used to format it.wp_easycart_ecv2_order_details_payment_fields_listFilters the fields in the order details payment area (gift card and coupon used).
$fields (array) List of field definitions with name, type, label, required, validation_type and value.wp_easycart_ecv2_order_duplicate_payloadFilters the data sent to the Duplicate order dialog when an order is chosen for duplication.
$payload (array) Order id, date, status, customer, ship to, items, currency sample, totals, shipping and customer notes flag.$order (object) The original order.wp_easycart_ecv2_order_duplicate_rowFilters the new order row before a duplicated order is inserted into the database.
$new (array) The new order row values.$original (object) The original order.$_POST (array) The submitted form data.wp_easycart_ecv2_order_filter_callback_whereFilters the SQL WHERE clause for a custom order list filter that WP EasyCart does not handle itself.
$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.wp_easycart_ecv2_order_flagsFilters the flags (warnings and notices) shown on an order’s details screen.
$flags (array) Each flag with kind, title and text.$order (object) The order row.wp_easycart_ecv2_order_fulfillment_stateFilters the fulfillment state of an order shown on the order details screen.
$state (string) The fulfillment state.$order (object) The order row.wp_easycart_ecv2_order_health_filter_whereFilters the SQL WHERE clause for an order list health filter that WP EasyCart does not handle itself.
$value (string) SQL condition; empty by default.$filter_key (string) The health filter key.$this The order table object.wp_easycart_ecv2_order_health_statsFilters the health stats tiles shown above the orders list.
$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.wp_easycart_ecv2_order_insight_chips PROFilters the insight chips shown in the header of an order’s details screen (PRO).
$insights (array) List of chips with icon and label.$order (object) The order row.wp_easycart_ecv2_order_next_stepsFilters the possible next steps for an order; the step with the lowest priority number is shown as the next step.
$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.wp_easycart_ecv2_order_pdf_download_available PROFilters whether a PDF receipt or invoice can be downloaded for an order (PRO).
$enabled (bool) Whether the PDF download is available.wp_easycart_ecv2_order_quick_edit_payloadFilters the data returned to the orders list quick edit form.
$payload (array) Quick edit values such as carrier, tracking and edit_url.$order (object) The order row.wp_easycart_ecv2_order_row_menu_actionsFilters the actions in each row’s menu in the orders list.
$row_actions (array) List of actions with label, name, icon, href or action, and optional danger and confirm settings.wp_easycart_ecv2_order_saved_viewsFilters the saved views shown as filter pills above the orders list (PRO).
$value (array) List of saved views, each with id, label and params; empty by default.wp_easycart_ecv2_order_spreadsheet_columnsFilters the columns of the orders list spreadsheet view (PRO).
$value (array) Spreadsheet columns; empty in the free plugin.wp_easycart_ecv2_order_stepsFilters the progress steps shown for an order on the order details screen.
$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.wp_easycart_ecv2_order_view_modesFilters the view modes available in the orders list; PRO adds spreadsheet.
$modes (array) View mode slugs; table and card by default.wp_easycart_order_details_discount_displayFilters whether the order discount total row is shown on the order details page, printed receipt and invoices.
$show (bool) true by default$order the orderwp_easycart_order_details_promo_code_displayFilters whether the promo code row is shown on the account order details page.
$show (bool) true by default$order the orderwp_easycart_order_details_show_discount_totalFilters whether the line total discount is shown for order lines on the printed receipt.
$show (bool) true by defaultwp_easycart_order_details_show_discount_unitFilters whether the per-unit discount is shown for order lines on the printed receipt.
$show (bool) true by defaultwp_easycart_order_deviceFilters the device type recorded on an order when it is inserted.
$device (string) device$order_id (int) the order ID$kind (string) checkout, staff or renewalwp_easycart_order_display_grand_total PROFilters the grand total shown on order invoices and order displays.
$grand_total (float) the order grand total$order the orderwp_easycart_order_display_sub_total PROFilters the sub total shown on order invoices and order displays, after discounts are subtracted per settings.
$sub_total (float) the sub total to display$order_sub_total (float) the order’s stored sub total$order_items the order line itemswp_easycart_order_field_rowsFilters the rows of checkout field answers shown for an order.
$rows (array[]) the field rows$order_id (int) the order ID$surface (string) where the rows are shown$source (int|object) what was asked forwp_easycart_order_fulfillment_stateFilters the fulfillment state calculated for an order, letting fulfillment extensions add their own part.
$out (array) the fulfillment state$order_id (int) the order IDwp_easycart_order_line_fulfillment_dataFilters the fulfillment data stamped on an order line when it is inserted: variant ID, fulfillment provider and unit cost.
$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 onewp_easycart_order_package_actionsFilters the action buttons shown on a package row on the admin order screen.
$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 rowwp_easycart_order_pay_linksFilters the list of extra payment links shown on the order pay page.
$links (array) Links to show, empty by default.$order (object) The order being paid.wp_easycart_order_shipped_statusFilters the order status id the admin order screen applies when you fulfill an order (Mark as shipped).
$status_id (int) Order status id, default 2.wp_easycart_pdf_document_filename PROFilters the file name of a generated PDF document such as a packing slip or invoice.
$name (string) File name, such as packing-slip-1042.pdf.$type (string) Document type.$order_id (int) The order id.wp_easycart_pdf_document_html PROFilters the HTML of a PDF document before it is turned into a PDF.
$html (string) Document HTML.$type (string) Document type.$order_id (int) The order id.$args (array) Document arguments.wp_easycart_pdf_receipt_available PROFilters whether the PDF receipt feature is available on this store.
$available (bool) True when the store has a valid license.wp_easycart_pdf_receipt_dompdf_options PROFilters the dompdf options used to render a PDF receipt.
$settings (array) dompdf option setter method name => value.wp_easycart_pdf_receipt_filename PROFilters the file name of the PDF receipt.
$name (string) File name built from the pattern, with order id and date.$order_id (int) The order id.wp_easycart_pdf_receipt_header_html PROFilters the header HTML block (business details, order number and date) at the top of the PDF receipt or invoice.
$head (string) Header HTML.$order (object) The order.wp_easycart_pdf_receipt_html PROFilters the full HTML of the PDF receipt before it is rendered to PDF.
$html (string) Receipt HTML.$order_id (int) The order id.$order (object) The order.wp_easycart_pdf_receipt_image_src PROFilters the local file path or URL used for each image in the PDF receipt; return an empty string to drop the image.
$resolved (string) The resolved image source.$src (string) The original image src in the HTML.wp_easycart_pdf_receipt_min_memory PROFilters the minimum memory limit required before a PDF receipt is generated; return 0 to skip the check.
$floor (int) Minimum memory in bytes, default MIN_MEMORY.wp_easycart_pdf_receipt_normalized_html PROFilters the PDF receipt HTML after its layout has been normalized for the PDF engine.
$html (string) Normalized HTML.wp_easycart_pdf_receipt_paper PROFilters the paper size of the PDF receipt.
$paper (string) letter or a4, chosen from the site locale by default.wp_easycart_pdf_receipt_template PROFilters the template file path used to build the PDF receipt.
$path (string) Absolute path to the template file.wp_easycart_pdf_receipt_title PROFilters the heading text (Receipt or Invoice) shown on the PDF receipt.
$title (string) The heading text.$order (object) The order.Customers and accounts
Grouped by what they are about
85 filterswp_easycart_account_activate_account_linkFilters the URL of the account page’s activate_account screen returned by the account links helper.
$url (string) Account page URL with the ec_page=activate_account query argument appended.wp_easycart_account_billing_information_linkFilters the URL of the account page’s billing_information screen returned by the account links helper.
$url (string) Account page URL with the ec_page=billing_information query argument appended.wp_easycart_account_dashboard_linkFilters the URL of the account page’s dashboard screen returned by the account links helper.
$url (string) Account page URL with the ec_page=dashboard query argument appended.wp_easycart_account_forgot_password_linkFilters the URL of the account page’s forgot_password screen returned by the account links helper.
$url (string) Account page URL with the ec_page=forgot_password query argument appended.wp_easycart_account_linkFilters the base account page URL returned by the account links helper when no specific account screen is requested.
$url (string) Account page URL.wp_easycart_account_login_linkFilters the URL of the account page’s login screen returned by the account links helper.
$url (string) Account page URL with the ec_page=login query argument appended.wp_easycart_account_logout_linkFilters the URL of the account page’s logout screen returned by the account links helper.
$url (string) Account page URL with the ec_page=logout query argument appended.wp_easycart_account_logout_redirect_urlFilters the URL the shopper is redirected to after logging out of their account.
$url (string) Redirect URL; defaults to the account login page.wp_easycart_account_order_details_linkFilters the URL of the account page’s order_details screen returned by the account links helper.
$url (string) Account page URL with the ec_page=order_details query argument appended.wp_easycart_account_orders_linkFilters the URL of the account page’s orders screen returned by the account links helper.
$url (string) Account page URL with the ec_page=orders query argument appended.wp_easycart_account_page_idFilters the ID of the page used as the account page, letting multilingual or custom setups substitute another page.
$page_id Account page ID from the ec_option_accountpage setting.wp_easycart_account_page_urlFilters the account page URL used by the Elementor account widgets and other account templates.
$account_page (string) Account page URL.wp_easycart_account_password_linkFilters the URL of the account page’s password screen returned by the account links helper.
$url (string) Account page URL with the ec_page=password query argument appended.wp_easycart_account_payment_methods_linkFilters the URL of the account page’s payment_methods screen returned by the account links helper.
$url (string) Account page URL with the ec_page=payment_methods query argument appended.wp_easycart_account_personal_information_linkFilters the URL of the account page’s personal_information screen returned by the account links helper.
$url (string) Account page URL with the ec_page=personal_information query argument appended.wp_easycart_account_print_receipt_linkFilters the URL of the account page’s print_receipt screen returned by the account links helper.
$url (string) Account page URL with the ec_page=print_receipt query argument appended.wp_easycart_account_register_linkFilters the URL of the account page’s register screen returned by the account links helper.
$url (string) Account page URL with the ec_page=register query argument appended.wp_easycart_account_reset_password_linkFilters the URL of the account page’s reset_password screen returned by the account links helper.
$url (string) Account page URL with the ec_page=reset_password query argument appended.wp_easycart_account_shipping_information_linkFilters the URL of the account page’s shipping_information screen returned by the account links helper.
$url (string) Account page URL with the ec_page=shipping_information query argument appended.wp_easycart_account_subscription_details_linkFilters the URL of the account page’s subscription_details screen returned by the account links helper.
$url (string) Account page URL with the ec_page=subscription_details query argument appended.wp_easycart_account_subscriptions_linkFilters the URL of the account page’s subscriptions screen returned by the account links helper.
$url (string) Account page URL with the ec_page=subscriptions query argument appended.wp_easycart_admin_role_remote_panelsFilters the list of remote admin panels that can be granted to a user role.
$base (array) panel slug => translated panel labelwp_easycart_admin_subscriber_list_columnsFilters the columns shown in the admin subscriber list table.
$columns (array) column definitions with name, label, format, select, orderby and responsive-hide keyswp_easycart_admin_user_activity_detail_bits PROFilters the list of detail snippets shown next to an entry in the admin customer activity timeline.
$bits (array) escaped HTML detail strings$row (object) the activity row$meta (array) the activity’s metadatawp_easycart_admin_user_bulk_edit_dataFilters the data written to each customer when a bulk edit is applied in the admin user list.
$data (array) column => value to update$_POST (array) the submitted bulk edit requestwp_easycart_admin_user_cell_contentFilters the HTML for a custom cell in the admin user list. Return a non-empty string to replace the default cell output.
$html (string) custom cell HTML, empty by default$result (object) the user row$col (array) the column definition$table (object) the user table instancewp_easycart_admin_user_details_v2_delete_warningFilters an extra warning shown before a customer is deleted on the version 2 customer details screen.
$delete_warning (string) warning text, empty by default$user (object) the customer being editedwp_easycart_admin_user_details_v2_tab_groupsFilters the tab groups (Profile, Commerce, Insights and so on) on the version 2 customer details screen.
$tab_groups (array) group slug => labelwp_easycart_admin_user_details_v2_tabsFilters the tabs on the version 2 customer details screen, including each tab’s label, icon, group and description.
$tabs (array) tab slug => array with label, icon, group, desc$user (object) the customer being editedwp_easycart_admin_user_filter_callback_whereFilters the SQL WHERE fragment for a callback-based filter in the admin user list, such as a spend range or last-order recency.
$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 definitionwp_easycart_admin_user_health_filter_whereFilters the SQL WHERE fragment for a health-strip filter in the admin user list, such as customers with orders or VIPs.
$where (string) SQL fragment, empty by default$filter_key (string) the selected health filter keywp_easycart_admin_user_identity_flagsFilters the small identity flags (icons with titles) shown beside a customer in the admin user list.
$flags (array) flags, each an array with icon, title and cls$result (object) the user rowwp_easycart_admin_user_inline_fieldsFilters the list of customer fields that can be edited inline in the admin user list.
$allowed_fields (array) editable field names, first_name and last_name by defaultwp_easycart_admin_user_list_bulk_edit_fieldsFilters the fields offered in the admin user list bulk edit panel.
$fields (array) bulk edit field definitions with name, label, type and optionswp_easycart_admin_user_list_columnsFilters the columns of the admin user list table.
$columns (array) column definitions$pro_gate whether Pro features are available, as set by the user tablewp_easycart_admin_user_list_filtersFilters the filter controls available above the admin user list table.
$filters (array) filter definitions$pro_gate whether Pro features are available, as set by the user tablewp_easycart_admin_user_list_health_statsFilters the health statistics strip shown above the admin user list.
$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 tablewp_easycart_admin_user_list_row_menuFilters the row action menu items in the admin user list.
$actions (array) menu items with label, name, icon and action or href$pro_gate whether Pro features are available, as set by the user tablewp_easycart_admin_user_list_search_columnsFilters the database columns searched by the admin user list search box.
$columns (array) column names such as ec_user.emailwp_easycart_admin_user_list_spreadsheet_columnsFilters the columns of the spreadsheet view of the admin user list.
$columns (array) column definitions with name, label, format and ss_editablewp_easycart_admin_user_overview_carts PROFilters the abandoned carts data loaded for the customer overview on the admin customer details screen.
$abandoned_carts the abandoned carts data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_carts_link PROFilters the admin link to the abandoned carts screen pre-filtered to a customer’s email.
$url (string) relative admin URL with the ec_email query argument$email (string) the customer’s emailwp_easycart_admin_user_overview_download_nonce_action PROFilters the nonce action used when creating download links in the customer overview.
$nonce_action (string) nonce action, default ‘wp-easycart-action-edit’wp_easycart_admin_user_overview_downloads PROFilters the downloads data loaded for the customer overview on the admin customer details screen.
$downloads the downloads data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_fileFilters the path of the template file used to print the admin customer overview.
$file (string) path to user-overview.php$details (object) the customer details screen objectwp_easycart_admin_user_overview_giftcard_nonce_action PROFilters the nonce action used when creating gift card links in the customer overview.
$nonce_action (string) nonce action, default ‘wp-easycart-action-edit’wp_easycart_admin_user_overview_giftcards PROFilters the gift cards data loaded for the customer overview on the admin customer details screen.
$giftcards the gift cards data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_notes PROFilters the notes feed data loaded for the customer overview on the admin customer details screen.
$notes_feed the notes feed data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_order_items PROFilters the order line items data loaded for the customer overview on the admin customer details screen.
$order_items the order line items data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_orders PROFilters the orders data loaded for the customer overview on the admin customer details screen.
$orders the orders data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_orders_per_page PROFilters how many orders are shown per page in the customer overview (default 20).
$per_page (int) orders per page, default 20$user (object|null) the customerwp_easycart_admin_user_overview_stats PROFilters the order statistics data loaded for the customer overview on the admin customer details screen.
$order_stats the order statistics data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_subscription_link PROFilters the admin link to a subscription from the customer overview.
$url (string) relative admin URL for editing the subscription$subscription_id (int) the subscription idwp_easycart_admin_user_overview_subscriptions PROFilters the subscriptions data loaded for the customer overview on the admin customer details screen.
$subscriptions the subscriptions data, as loaded for the overview$user (object) the customerwp_easycart_admin_user_overview_top_products PROFilters the top purchased products data loaded for the customer overview on the admin customer details screen.
$top_products the top purchased products data, as loaded for the overview$user (object) the customerwp_easycart_elementor_account_menu_itemsFilters the links shown in the Elementor account menu widget.
$items (array) List of menu items, each with text and url.$settings (array) The widget settings.$views (array) The account views available.wp_easycart_elementor_form_subscribeFilters whether an Elementor Pro form submission also subscribes the visitor to the store’s email list; return false to skip.
$subscribe (bool) Whether to subscribe; true by default.$email (string) The submitted email address.$record (object) Elementor Pro’s form record.wp_easycart_max_filesize_upload_limitFilters the maximum size in bytes allowed for customer file uploads.
$max (int) maximum upload size in bytes, capped by PHP’s upload limitswp_easycart_minimum_password_lengthFilters the minimum password length required when a shopper resets their password.
$min_length (int) minimum length, default 6wp_easycart_password_reset_token_lifetimeFilters how long a customer’s password reset link stays valid, in seconds.
$lifetime (int) Lifetime in seconds, default HOUR_IN_SECONDS.wp_easycart_store_is_restrictedFilters whether the store is restricted for the current visitor because their customer role is not among the allowed roles.
$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.wp_easycart_subscriber_ipFilters the IP address recorded with a newsletter sign-up consent.
$ip (string) IP address.$source (string) Sign-up source slug.$email (string) Email address being signed up.wp_easycart_subscriber_sourceFilters the source slug recorded for a newsletter sign-up, such as checkout, account, register, newsletter, admin or other.
$source (string) Source slug.wp_easycart_subscriber_source_labelsFilters the display names for newsletter sign-up sources; an extension can add its own slug.
$labels (array) Source slug => label.wp_easycart_sync_wordpress_usersFilters whether the older WordPress User Sync plugin copies accounts itself.
$legacy (bool) Default false.wp_easycart_use_wordpress_userFilters whether the WordPress login decides who the store customer is.
$use_wordpress_user (bool) Default false.wp_easycart_user_activity_enabledFilters whether customer activity logging is enabled.
$enabled (bool) Default from the user activity setting.wp_easycart_user_activity_retention_daysFilters how many days customer activity is kept before it is purged; 0 keeps it forever.
$days (int) Retention days, default from the setting (365).wp_easycart_user_activity_should_logFilters whether a customer activity entry is recorded.
$should_log (bool) Default true.$user_id (int) Customer user id.$type (string) Activity type.$args (array) Activity details.wp_easycart_user_activity_store_ipFilters whether the visitor’s IP address is stored with customer activity; return false to store none.
$store_ip (bool) Default true.wp_easycart_user_activity_typesFilters the known customer activity types, letting extensions register their own.
$types (array) Activity type slug => array( label, icon ).wp_easycart_wordpress_user_create_store_accountFilters whether a store account is created for a WordPress user who has none.
$create (bool) Default true.$wp_user (WP_User) The WordPress user.wp_easycart_wordpress_user_store_accountFilters the existing store account matched by email to a WordPress user.
$store_user_id (int) Store account id with the same email.$wp_user (WP_User) The WordPress user.wpeasycart_account_email_change_errorFilters the reason a customer may not change their account email; an empty string allows the change.
$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.wpeasycart_account_email_existsFilters whether a store account already uses an email address.
$exists (bool) True when a store account has the email.$email (string) The email address.wpeasycart_account_errorFilters the error message text shown on the account page for an account error code.
$error_text (string) Error message text.$error_code (string) The account_error code from the URL.wpeasycart_account_successFilters the success message text shown on the account page for an account success code.
$success_text (string) Success message text.$success_code (string) The account_success code.wpeasycart_custom_verify_new_passwordLets a plugin reject a new account password (on reset and on change) by returning true.
$is_invalid (bool) False by default; return true to reject the password.$new_password (string) The new password as entered, unsanitized.wpeasycart_forgot_password_linkFilters the forgot password link HTML shown on the account login page.
$link_html (string) HTML anchor to the forgot password page.wpeasycart_password_hash Enable WP UsersFilters the password hash saved for a store customer.
$hash (string) Hash created by wp_easycart_hash_password.$password (string) The plain password the hash is made from.wpeasycart_password_needs_rehashFilters whether a stored password hash should be rehashed with the current algorithm.
$needs (bool) Whether the hash needs a rehash.$stored_hash (string) The stored hash.wpeasycart_password_verifyFilters whether a password entered by a customer matches the stored hash.
$verified (bool) Whether the password verified.$raw_password (string) Password as entered.$stored_hash (string) Stored hash.$user (object) The customer record.wpeasycart_register_js_functionFilters the JavaScript run when the shopper clicks the register button on the account registration form.
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_account_register_button_click2( );’.wpeasycart_show_account_pageFilters whether the account page is displayed.
$show (bool) Whether to show the page; defaults to true.wpeasycart_update_password_js_functionFilters the JavaScript run when the customer clicks the save button on the change password form.
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_account_password_button_click( );’.Subscriptions
Grouped by what they are about
26 filterswp_easycart_admin_customer_info_fields_list PROFilters the list of customer information fields shown on the admin subscription details screen.
$fields (array) Field definitions, each an array with keys such as name, type, label and value.wp_easycart_admin_paypal_info_fields_list PROFilters the list of PayPal information fields shown on the admin subscription details screen.
$fields (array) Field definitions, each an array with keys such as name, type, label and required.wp_easycart_admin_product_details_subscription_fields_listFilters the field definitions shown in the subscription section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_admin_product_info_fields_list PROFilters the field definitions in the product info section of the admin subscription details screen.
$fields (array) field definitions, each an array with name, type, label and related keyswp_easycart_admin_stripe_info_fields_list PROFilters the field definitions in the Stripe info section of the admin subscription details screen.
$fields (array) field definitions, each an array with name, type, label and related keyswp_easycart_admin_subscription_plans_details_basic_fields_list PROFilters the field definitions in the basic section of the admin subscription plan details screen.
$fields (array) field definitions, each an array with name, type, label and related keyswp_easycart_admin_subscription_terms_fields_list PROFilters the field definitions in the terms section (payment interval and related) of the admin subscription details screen.
$fields (array) field definitions, each an array with name, type, label and related keyswp_easycart_admin_subscriptions_details_basic_fields_list PROFilters the field definitions in the basic section of the admin subscription details screen.
$fields (array) field definitions, each an array with name, type, label and related keyswp_easycart_stripe_subscription_billing_cycle_anchor PROFilters the billing cycle anchor sent to Stripe when a subscription is created; a truthy value is used as the anchor.
$billing_cycle_anchor (int|false) Anchor timestamp, default false.$product (object) The subscription product.$subscription_options (array) Chosen subscription options.$user (object) The customer.wp_easycart_stripe_subscription_insert_data PROFilters the data sent to Stripe when a subscription is created.
$gateway_data (array) Stripe subscription request data.$product (object) The subscription product.$user (object) The customer.$subscription_options (array) Chosen subscription options.wp_easycart_stripe_subscription_status_mapFilters the map from Stripe subscription statuses to WP EasyCart subscription statuses used when a Stripe webhook syncs a subscription.
$status_map (array) Stripe status => WP EasyCart status, such as past_due => Failed.wp_easycart_stripe_subscription_trial_end PROFilters the trial end sent to Stripe when a subscription is created.
$trial_end Trial end value for the new subscription.$product (object) The subscription product.$subscription_options (array) Chosen subscription options.$user (object) The customer.wp_easycart_stripe_subscription_update_data PROFilters the data sent to Stripe when a subscription is updated.
$gateway_data (array) Stripe subscription update data.$product (object) The subscription product.$user (object) The customer.$subscription_item_id Stripe subscription item id.wp_easycart_stripe_subscriptions_log PROFilters whether Stripe subscription API requests and errors are logged to the response log.
$log (bool) Default true.wp_easycart_stripe_subscriptions_request_args PROFilters the HTTP request arguments for Stripe subscription API calls.
$args (array) wp_remote_request arguments, including headers, timeout and method.$method (string) HTTP method.$url (string) Request URL.wp_easycart_subscription_customer_canFilters whether a customer may perform an action on a subscription, such as changing the plan.
$allowed (bool) Whether the action is allowed.$action (string) The action being checked.$subscription (object) The subscription object.wp_easycart_subscription_grand_total_labelFilters the grand total label on the subscription cart page.
$label (string) Label text, default the cart grand total text.$product (object) The subscription product.wp_easycart_subscription_modifiers_display_listFilters the subscription advanced option rows displayed in the subscription cart totals.
$options (array) Advanced options with labels.$product (object) The subscription product.wp_easycart_subscription_modifiers_pre_db_insertFilters the subscription advanced options just before they are saved with the subscription order.
$advanced_options (array) Selected advanced options from the cart data.$product (object) The subscription product.wp_easycart_subscription_price_formattingFilters the recurring billing text appended to a subscription product’s price.
$ret_string (string) Billing text, such as the interval and duration.$model_number (string) Product model number.$product_id (int) Product id.wp_easycart_subscription_purchase_detailsFilters the purchase details gathered for a subscription, such as quantity, signup fee and options.
$details (array) Purchase details.$subscription_id Subscription id.$current_product_id (int) Id of the product currently being viewed or managed.wp_easycart_subscription_tax_rates_pre_insertFilters the tax rates applied to a subscription when it is created through Stripe at checkout.
$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.wp_easycart_subscriptions_statusFilters the subscription gateway status; array values are merged over the status, letting an add-on report the gateway as ready.
$status (array) Subscription gateway status.wpeasycart_subscription_checkout_errorsLets a plugin add checkout error codes for a subscription purchase.
$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.wpeasycart_subscription_couponLets a plugin supply its own coupon for a subscription product; return a coupon object to use it instead of the built-in coupon lookup.
$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.wpeasycart_subscription_js_functionFilters the JavaScript run when the shopper clicks the submit button on the subscription checkout form.
$js_function (string) JavaScript for the onclick attribute; defaults to ‘return ec_validate_submit_subscription();’.Shipping
Grouped by what they are about
56 filtersecv2_shipping_carrier_statusFilters the connection status shown for a shipping carrier in the admin shipping settings; Pro answers with its connection checks.
$status (string) Status: connected, error, incomplete, disabled, or empty string for no answer.$carrier (string) Carrier being checked.ecv2_shipping_carrier_status_detailFilters the status and note shown for a shipping carrier in the admin shipping settings, optionally re-checking the connection.
$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.wp_easycart_admin_product_details_shipping_fields_listFilters the field definitions shown in the shipping section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_allow_shipping_methodFilters whether the shipping method step is shown. Return a falsy value to stop it displaying.
$allow (int) 1 to allow, default 1wp_easycart_ecv2_extensions_urlFilters the URL of the extensions page linked from the order Fulfill window when no label service is set up.
$url (string) Extensions page URL.wp_easycart_ecv2_label_carriersFilters the carriers offered when making a shipping label from an order.
$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.wp_easycart_ecv2_label_servicesFilters label services an extension draws itself in the order Fulfill window; a row keyed shippo, stamps or shipstation replaces the built-in link.
$value (array) Service slug => name, sub, logo, color, cta, onclick or url, and integrated; empty by default.$order (object) The order row.wp_easycart_ecv2_order_carriers PROFilters the carrier names suggested when adding tracking to an order, in the orders list and fulfill popover.
$carriers (array) List of carrier names.wp_easycart_ecv2_shipstation_activeFilters whether ShipStation is treated as active on the order Fulfill window.
$active (bool) True when the ShipStation extension class exists.wp_easycart_ecv2_stamps_activeFilters whether Stamps.com is treated as active on the order Fulfill window.
$active (bool) True when the Stamps.com extension class exists.wp_easycart_ecv2_tracking_url_map PROFilters the map of carrier names to tracking URL patterns used to link a tracking number; %s is replaced with the tracking number.
$map (array) Lower case carrier name => tracking URL with %s placeholder.wp_easycart_elementor_free_shipping_threshold PROFilters the free shipping threshold shown by the Elementor checkout widget (PRO).
$lowest (float) The lowest free shipping threshold found across the store’s shipping settings.wp_easycart_express_shipping_price_displayFilters the express shipping price number shown next to the express shipping checkbox in the cart.
$express_price (float) express shipping surcharge before currency formattingwp_easycart_live_rate_preFilters HTML output before the list of live shipping rates on the cart shipping step.
$html (string) HTML to print before the rates, empty by defaultwp_easycart_live_shipping_free_rateFilters the amount used when a live shipping service returns a free rate.
$rate (float) rate used for a free live rate, 0 or the cart handling feewp_easycart_method_rate_preFilters HTML output before the list of method-based shipping rates on the cart shipping step.
$html (string) HTML to print before the rates, empty by defaultwp_easycart_optimalship_rate OptimalShipFilters the shipping rate a shopper pays for an OptimalShip quote.
$rate (float) what the shopper pays$quote (array) the OptimalShip quote$request (array) the cart data sentwp_easycart_optimalship_request OptimalShipFilters the query parameters sent to the OptimalShip API for a rate quote.
$params (array) query parameters$args (array) the quote argumentswp_easycart_order_delivery_trackedFilters whether an order has a tracked delivery, meaning a label extension or fulfillment partner recorded a package on its way.
$tracked (bool) true when a package on its way was recordedorder id (int) the order IDwp_easycart_order_signatureFilters the delivery signature requirement for an order’s shipment.
$signature (string) Empty string, standard or adult.$order_id (int) The order id.wp_easycart_package_carrier_templatesFilters the carrier boxes a shipping label extension can buy labels for, offered under Settings, Shipping, Boxes.
$templates (array) Box code => label, such as ‘USPS_MediumFlatRateBox1’ => ‘USPS Medium Flat Rate Box’.wp_easycart_package_linesFilters the order line rows used when packing an order into boxes.
$out (array) Line rows.$order_id (int) The order id.wp_easycart_packed_packagesFilters the packages produced after order lines are packed into boxes.
$packages (array) The packed packages.$lines (array) The order lines that were packed.wp_easycart_shipping_get_rate_dataFilters the shipping rates offered to the shopper, as a list of rate rows.
$rates (array) Shipping rate rows, each with an id and amount.wp_easycart_shipping_has_custom_shipping_optionsFilters whether the store reports having shipping options when custom shipping options are being printed.
$has_options (bool) Default true.wp_easycart_shipping_is_live_basedFilters whether a shipping method row is treated as live-rate based (carrier rates fetched in real time).
$is_live_based (bool) True when the row uses UPS, USPS, FedEx, Australia Post, DHL or Canada Post.wp_easycart_shipping_live_typeFilters the live shipping carrier type slug for a shipping method row.
$live_type (string) Carrier slug such as ups, dhl or canadapost, or none.wp_easycart_shipping_method PROFilters the store’s shipping calculation method, such as price or weight.
$shipping_method (string) The shipping method saved in the settings.wp_easycart_shipping_price_displayFilters the price shown next to a shipping option on the cart shipping step.
$price Shipping price (with handling for Fraktjakt options).$method_id Id of the shipping option or method.wp_easycart_shipping_rate_carriersFilters the list of carriers offered on the admin shipping rates screen.
$carriers (array) Carrier definitions with mark and colors.wp_easycart_shipping_should_print_custom_optionsFilters whether custom shipping options are printed instead of the built-in shipping options.
$should_print (bool) Default false; return true to use custom options.wp_easycart_shippo_oauth_available ShippoFilters whether the Connect with Shippo button is offered.
$available (bool) True when the WP_EASYCART_SHIPPO_OAUTH constant is set and true.wp_easycart_shippo_order_payload ShippoFilters the order data sent to Shippo when an order is created there.
$payload (array) Shippo order payload.$order (object) The ec_order row.$lines (array) ec_orderdetail rows the store ships, excluding fulfillment partner lines.wp_easycart_shippo_shipment_payload ShippoFilters the shipment data sent to Shippo when rates or a label are requested.
$payload (array) Shippo shipment payload.$order (object) The order row.$args (array) Package choices.wp_easycart_stamps_can_connect Stamps.comFilters whether the Stamps.com connect button is available.
$available (bool) Whether the connection service reports it is available for the current environment.wp_easycart_stamps_service_url Stamps.comFilters the base URL of the WP EasyCart connection service for Stamps.com.
$url (string) Base URL, default https://connect.wpeasycart.com/stamps/.wp_easycart_stamps_shipment Stamps.comFilters the shipment fields sent to Stamps.com when rates or a label are requested.
$payload (array) Stamps.com SERA rate or label fields.$order (object) The order row.$args (array) Package choices.wp_easycart_trigger_rateFilters the rate used for a price-based or weight-based shipping tier.
$rate The rate of the matching tier.$type (string) Tier type, price or weight.wp_easycart_usps_min_box PROFilters the minimum box size added as padding to USPS rate requests.
$pad (array) Keys length, width and height, default 0 each.wpeasycart_dhl_destination_city PROFilters the destination city sent to DHL when requesting live shipping rates.
$city (string) Destination city; falls back to the postcode when the city is empty.$zip (string) Destination postcode.$country (string) Destination country code.wpeasycart_dhl_rate_request PROFilters the request body sent to DHL when requesting a live shipping rate.
$body (array) The DHL rates request body.wpeasycart_fedex_cart_item_list PROFilters the list of cart items used to build a FedEx rate request.
$cart (array) Cart item objects.wpeasycart_live_based_codes PROFilters the live shipping rate rows that extensions add to the available shipping methods.
$live_based (array) Live rate rows; empty by default in the label lookup.wpeasycart_live_rate_cache_days PROFilters how many days saved live shipping rates are kept before they are purged.
$days (int) Number of days; defaults to 18.wpeasycart_live_rate_providers PROLets an extension register its own live shipping rate providers.
$providers (array) Provider slug => array with ready flag and callable quote; empty by default.wpeasycart_live_shipping_carrier_ready PROFilters whether a live shipping carrier is treated as set up and ready to quote.
$ready (bool) Whether the carrier is ready.$carrier (string) Carrier key.wpeasycart_live_shipping_countries_without_postcode PROFilters the list of country codes that do not use postcodes for live shipping quotes.
$countries (array) Two-letter country codes.wpeasycart_live_shipping_failure_pause PROFilters how many seconds a live shipping carrier is paused after a request failure.
$seconds (int) Pause length; 0 or less disables the pause.$carrier (string) Carrier key.$reason (string) Reason logged with the gateway log.wpeasycart_live_shipping_parallel_requests PROFilters whether live shipping carrier requests may be sent in parallel.
$parallel (bool) Whether parallel requests are allowed; defaults to true.wpeasycart_live_shipping_rate_reuse_seconds PROFilters how long a saved live shipping quote may be reused for an identical cart and destination.
$seconds (int) Seconds; defaults to 30 minutes.wpeasycart_live_shipping_rate_signature PROFilters the data used to build the signature that tells whether saved live shipping rates are still valid for a cart.
$signature_data (array) Data hashed for the signature: carriers, providers, rows and config.$cart (array) Cart items.wpeasycart_live_shipping_rates PROFilters the live shipping rates so an extension can add or change rates for a package.
$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.wpeasycart_live_shipping_request PROFilters the HTTP request spec used for a live shipping carrier call before it is sent.
$spec (array) Request spec such as url, body, timeout and options.wpeasycart_method_based_shippingFilters the method-based shipping rate rows available at checkout.
$method_based (array) Method-based shipping rate rows.wpeasycart_shipping_class_keeps_extension_rateFilters whether an extension’s live shipping rate is kept when shipping class rates apply.
$keep (bool) True by default.$live_based (array) The rate’s row.$cart (array) Cart items.wpeasycart_shipping_method_nameFilters the label of the shipping method the shopper chose.
$name (string|null) The rate’s label, or null when none was found.$ship_id (string) The chosen method’s id.Taxes and fees
Grouped by what they are about
21 filterswp_easycart_admin_fee_payment_types PROFilters the payment types a fee can be limited to in the admin fee settings.
$types (array) Payment type value => label, for example card, affirm and klarna.wp_easycart_admin_product_details_tax_fields_listFilters the field definitions shown in the tax section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_alt_tax_calculateFilters the alternative tax calculation results so a custom tax provider can supply its own totals.
$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 settingswp_easycart_avatax_address_lookups_per_hour AvaTaxFilters the store-wide limit of AvaTax address lookups allowed per hour (default 600).
$limit (int) lookups per hour, default 600wp_easycart_avatax_shipped_statuses AvaTaxFilters the order status ids that AvaTax treats as shipped.
$list (array) status ids, 2 and 18 plus the delivered status when setwp_easycart_canada_tax_labelFilters the label shown for a Canadian tax type such as GST or PST.
$label (string) the tax label, from the language setting or a default$type (string) the tax type$state (string) the province or statewp_easycart_cart_taxfreeFilters whether the cart is treated as tax free when the tax calculator is created.
$taxfree (bool) Whether the cart is tax free.wp_easycart_enable_alt_taxFilters whether the alternate tax calculation method is used instead of the standard one when the tax object is built.
$enabled (bool) false by default; return true to use calculate_alt_tax()wp_easycart_fee_payment_typeFilters the payment type used to decide whether a fee rule that is limited to payment types applies to the cart.
$type (string) payment type$method (string) the cart session’s payment methodwp_easycart_is_duty_enabledFilters whether duty is enabled for the current cart.
$is_duty_enabled (bool) true when duty is enabled and the duty country matcheswp_easycart_is_tax_enabledFilters whether tax is treated as enabled, which controls whether the Tax row shows.
$is_tax_enabled (bool) true when any tax method (state, country, all, TaxCloud, TaxJar or a tax service) is onwp_easycart_is_vat_enabledFilters whether VAT is treated as enabled.
$is_vat_enabled (bool) true when VAT is enabled in settingswp_easycart_product_details_price_no_vat_displayFilters the HTML for a product’s price display when prices are shown excluding VAT.
$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.wp_easycart_product_details_price_vat_displayFilters the HTML for a product’s price display when prices are shown including VAT.
$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.wp_easycart_product_details_vat_rateFilters the VAT rate used to display prices on the product page.
$vat_rate The VAT rate for the product.$product (object) The product.wp_easycart_quebec_compound_qstFilters whether Quebec’s QST is compounded on top of GST for shipping to QC.
$compound (bool) False by default.wp_easycart_tax_providersFilters the list of registered tax providers, letting an add-on register its own.
$providers (array) Provider id => wp_easycart_tax_provider object, starts empty.wp_easycart_tax_shipping_countryFilters the shipping country used to calculate taxes.
$shipping_country (string) Uppercase shipping country code.wp_easycart_tax_shipping_stateFilters the shipping state used to calculate taxes.
$shipping_state (string) Uppercase shipping state code.wp_easycart_tax_totalFilters the sales tax total calculated for the cart.
$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.wpeasycart_format_vat_rateFilters the formatted VAT rate text shown at checkout.
$formatted (string) Formatted rate in parentheses, such as (20%).$vat_rate (float) The VAT rate.Payments
Grouped by what they are about
36 filterswp_easycart_admin_payment_fileFilters the path of the settings template file loaded for a payment gateway in the admin payment settings.
$file (string) Path to the gateway settings template.$key (string) Gateway key.wp_easycart_admin_third_party_gatewaysFilters the third-party payment gateways the admin recognizes, adding to the keys found in the gateway registry.
$third_party_gateways (array) legacy third-party gateway list, keyed by gateway keywp_easycart_authorize_accept_js_allow_legacy_fallback PROFilters whether Authorize.net falls back to posting the raw card number when Accept.js did not run (default false).
$allow (bool) false by defaultwp_easycart_authorize_accept_js_enabled PROFilters whether Authorize.net Accept.js tokenization is enabled.
$enabled (bool) true when Pro is active, Authorize.net is the process method and the login id and client key are setwp_easycart_authorize_accept_js_load PROFilters whether the Authorize.net Accept.js script is loaded on the current page.
$load (bool) true on the checkout payment step, or on account pages other than the account page itselfwp_easycart_authorize_accept_js_transaction_request PROFilters the Authorize.net transaction request array sent with an Accept.js payment.
$transaction (array) the transactionRequest data$order_id (int) the order idwp_easycart_card_payment_typesFilters the payment types that count as a card payment for flex fees.
$types (array) payment types, default card, apple_pay, google_pay and linkwp_easycart_ecv2_gateway_link PROFilters the link to a payment in the payment gateway’s own dashboard, shown on the order details payment panel.
$deep_link (string) Gateway dashboard URL for the transaction.$gateway (string) The order’s payment gateway.$order (object) The order.wp_easycart_ecv2_order_is_test_payment PROFilters whether an order’s payment was made in the gateway’s test mode (PRO).
$is_test (bool) Whether the payment looks like a test payment.$order (object) The order row.wp_easycart_intuit_service_url PROFilters the base URL of the WP EasyCart connection service for Intuit Payments.
$url (string) base URL, default https://connect.wpeasycart.com/intuit/wp_easycart_is_stripe_sandboxFilters whether Stripe should run in sandbox mode, which decides whether sandbox or live Stripe product IDs are read and saved.
$is_sandbox (bool) false by defaultwp_easycart_order_pay_methodsFilters the payment methods a customer can use on an order pay link.
$out (array) Enabled method slugs, such as paypal and manual.wp_easycart_payment_gateway_catalogFilters the catalog of payment gateways listed on the Payments settings screen.
$catalog (array) Gateway key => gateway definition.wp_easycart_payment_gateway_formFilters the settings drawer form definition for a payment gateway; return an array with sections and a save callback to supply one.
$form (array|null) Form definition, null by default.$key (string) Gateway key.$gw (array) The gateway definition.wp_easycart_payment_gateway_statusFilters the connection and readiness status calculated for a payment gateway on the Payments screen.
$s (array) Status flags such as connected, live_ready, test_ready and locked.$gw (array) The gateway definition.wp_easycart_payment_partner_gatewaysFilters the partner gateways recommended for a gateway role on the Payments screen.
$list (array) Gateway key => benefit text.$role (string) The gateway role, such as third_party.wp_easycart_payment_test_modesFilters the names of payment methods running in test mode, shown in Diagnostics.
$names (string[]) Gateway names.wp_easycart_paytrace_enabled PROFilters whether the PayTrace gateway is treated as enabled.
$enabled (bool) True when PRO is loaded, PayTrace is the live gateway and API credentials are saved.wp_easycart_paytrace_integrator_id PROFilters the PayTrace integrator ID sent with PayTrace requests.
$id (string) The integrator ID from settings, or the built-in default.wp_easycart_paytrace_load PROFilters whether the PayTrace Protect.js script loads on the current page.
$load (bool) True on the checkout payment step (and other pages except the account page).wp_easycart_paytrace_sale_request PROFilters the request body sent to PayTrace to charge a sale.
$body (array) The sale request data.$order_id (int) The order id.wp_easycart_paytrace_styles PROFilters the style settings passed to the PayTrace hosted card fields at checkout.
$styles (array) Style settings keyed by field: cc, code, exp and body.wp_easycart_refundable_gateways PROFilters the list of gateways WP EasyCart can refund through their API; other gateways use the record-only refund flow.
$gateways (string[]) Gateway slugs, such as stripe, square and paytrace.wp_easycart_square_webhook_log_sizeFilters how many Square webhook events are kept in the webhook log.
$size (int) Maximum log entries, default 50.wp_easycart_stripe_ca_bundle PROFilters the path of the CA certificate bundle used for Stripe API requests.
$ca_bundle (string) Path, default the WordPress certificates ca-bundle.crt.wp_easycart_stripe_capture_method PROFilters the capture method used when a Stripe payment intent is created.
$capture_method (string) Default automatic.wp_easycart_stripe_connect_api_key PROFilters the Stripe Connect access token used for API requests.
$api_key (string) Sandbox or production access token, depending on the sandbox setting.wp_easycart_stripe_connect_fee_rateFilters the platform fee percentage applied to Stripe Connect and PayPal payments.
$fee_rate (int|float) Fee percentage, default 2.wp_easycart_stripe_connect_publishable_keyFilters the Stripe Connect publishable key output on cart and account pages.
$pkey (string) Publishable key for the current mode (sandbox or production).wp_easycart_stripe_element_localeFilters the locale forced on Stripe payment elements; an empty value uses the current site language.
$locale (string) Locale code, default empty.wp_easycart_stripe_fallback_ca_bundle PROFilters the path of the bundled fallback CA certificate file used for Stripe requests.
$fallback (string) Path to the bundled cacert.pem.wp_easycart_stripe_payment_methods PROFilters the payment method types offered when a Stripe payment intent is created.
$payment_methods (array) Stripe payment method types, default array( ‘card’ ).wp_easycart_stripe_payment_methods_type_enabledFilters whether the payment method types are reset to card only when Stripe rejects an intent request and it is retried.
$enabled (bool) Default true.wp_easycart_stripe_return_listed_requires_actionFilters whether the cart page shows the return screen for a Stripe payment that still requires action, such as a redirect.
$show (bool) Default true.wp_easycart_stripe_webhook_payment_intent_succeeded_send_emailFilters whether the receipt email and gift cards are sent when a Stripe payment_intent.succeeded webhook marks an order paid.
$send_email (bool) Default true.wpeasycart_payment_error_messageFilters the payment error text shown to the shopper when a gateway payment fails.
$message (string) Gateway error text.$gateway (string) Gateway name, such as square.Email and notifications
Grouped by what they are about
71 filterswp_easycart_abandoned_cart_endpoint_baseFilters the base URL used to build abandoned cart email links such as unsubscribe and click-tracking endpoints.
$url (string) Cart page URL, or the site home URL when no cart page is set.wp_easycart_abandoned_cart_first_send_atFilters the date and time the first abandoned cart reminder becomes due when a cart snapshot is saved.
$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).wp_easycart_abandoned_cart_is_suppressedFilters whether an email address is blocked from receiving abandoned cart reminders because it unsubscribed.
$hit (bool) True when the address has an unsubscribed record.$email (string) Email address being checked.wp_easycart_abandoned_cart_reminder_senderFilters which system sends abandoned cart reminders, letting another plugin take over sending.
$sender (string) Sender slug; defaults to easycart.$cart (object) Abandoned cart row.wp_easycart_abandoned_cart_reminder_template PROFilters the path of the PHP template file used to render an abandoned cart reminder email.
$template_path (string) Path to the default reminder template.$cart (object) Abandoned cart row.$step_n (int) Number of the reminder step being sent.wp_easycart_abandoned_cart_restore_urlFilters the URL in abandoned cart emails that restores the shopper’s cart, optionally applying a coupon.
$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.wp_easycart_abandoned_cart_step_email PROFilters the finished HTML of an abandoned cart reminder email before it is sent.
$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.wp_easycart_abandoned_current_sessionFilters the storefront session ID used to identify the shopper’s cart for abandoned cart tracking.
$sid (string) Current cart session ID, or empty string when none.wp_easycart_abandoned_email_selectorsFilters the CSS selectors of the checkout email fields watched to capture an email address for abandoned cart tracking.
$selectors (string) Comma-separated CSS selectors; defaults to the contact email and returning-customer login email fields.wp_easycart_checkout_fields_after_payment_notify PROFilters whether the store notification about checkout field answers is sent after payment; return false to skip it.
$notify (bool) Whether to send the email; true by default.$order_id (int) The order id.wp_easycart_ecv2_custom_email_template PROFilters the file path of the template used for a custom email sent from an order.
$template (string) Absolute path to the custom email template.$order (object) The order.wp_easycart_email_accent_colorFilters the accent color used in email designs.
$accent (string) Hex color; must be valid or #222222 is used.$args (array) Email design arguments.wp_easycart_email_address_linesFilters the address lines printed in an email for a billing or shipping address.
$lines (array) Address lines.$side (string) Which address is being printed.$source The order or address data the lines come from.wp_easycart_email_checksFilters the list of email delivery health checks shown in the email health screen.
$out (array) Each check with key, status, title, detail and optional fix_label and fix_url.wp_easycart_email_design_contextFilters the design context (store name, logo, colors and layout values) used to build an email.
$ctx (array) The email design context.$args (array) Email design arguments.wp_easycart_email_design_flatFilters whether an email is drawn flat, without the outer page frame.
$value (bool) Whether to use a flat layout; false by default.$args (array) Email design arguments.wp_easycart_email_dkim_selectorsFilters the DKIM selector names checked when testing the store’s email domain DNS records.
$value (array) List of selector names such as default, google, selector1, k1 and mailgun.wp_easycart_email_footer_htmlFilters the footer HTML at the bottom of an email.
$footer (string) Footer HTML.$args (array) Email design arguments.wp_easycart_email_help_linksFilters the help links shown in the email settings screen.
$value (array) guide, docs and video URLs.wp_easycart_email_is_store_emailFilters whether an outgoing email is treated as one of the store’s own emails.
$value (bool) Whether it is a store email; false unless the from address matches the store’s.$atts (array) The email attributes, including headers.wp_easycart_email_log_per_pageFilters how many entries appear per page in the email log; the value is kept between 5 and 200.
$value (int) Entries per page.wp_easycart_email_log_retention_daysFilters how many days email log and sent queue rows are kept before they are deleted.
$value (int) Retention in days.wp_easycart_email_mailerFilters the mailer information detected for the site (the SMTP or mail plugin sending email).
$mailer (array) Detected mailer details.wp_easycart_email_mailer_pluginsFilters the list of known SMTP and mail plugins used to detect how the site sends email.
$list (array) Plugin slug => name, files, folders, settings, test, where, service and passive.wp_easycart_email_queue_attachmentsFilters the list of file paths attached to a queued email when the queue rebuilds its attachments for a retry.
$files (array) file paths to attach$recipe (array) the stored attachment recipe, with ‘specs’ and ‘files’ keys$q (object) the email queue row being retriedwp_easycart_email_queue_enabledFilters whether the email queue, which retries failed sends, is enabled; defaults to on unless the queue option is turned off.
$enabled (bool) true when the queue is enabled, from the ec_option_email_queue_enabled option (on when unset)wp_easycart_email_receipt_image_widthFilters the width in pixels of product images in receipt, invoice and abandoned cart emails.
$width (int) image width in pixels, default 70wp_easycart_email_sending_servicesFilters the list of email sending services (name, SPF include and DKIM setup instructions) used by the email deliverability help screens.
$services (array) service slug => array with ‘name’, ‘spf’ and ‘dkim’ keys; defaults include Google Workspace, Microsoft 365, SendGrid, Mailgun, Brevo, Amazon SES and otherswp_easycart_email_smtp_pluginsFilters the names of the SMTP or mail plugins detected as active on the site.
$found (array) display names of the detected mail plugins$active the active plugins list used to detect themwp_easycart_gift_receipt_email_content PROFilters the HTML body of the gift receipt email before it is sent.
$html (string) email HTMLorder id (int) the order ID$args (array) send argumentswp_easycart_gift_receipt_email_subject PROFilters the subject line of the gift receipt email.
$subject (string) email subjectorder id (int) the order ID$from_name (string) the billing first name of the orderwp_easycart_invoice_email_attachments PROFilters the file paths attached to the invoice email; extensions add generated files such as the invoice PDF.
$files (array) file paths, empty by defaultorder id (int) the order IDrecipient (string) ‘customer’$args (array) send argumentswp_easycart_invoice_email_content PROFilters the HTML body of the invoice email before it is sent.
$html (string) invoice email HTMLorder id (int) the order IDwp_easycart_invoice_email_subject PROFilters the subject line of the invoice email.
$subject (string) email subject, the invoice label plus the invoice number or order numberorder id (int) the order ID$record the invoice record, or false when none is issuedwp_easycart_message_email_attachments PROFilters the files attached to a custom message email sent from the admin order screen.
$attachments (array) file paths, empty by default$order_id (int) the order IDrecipient (string) ‘customer’$send_args (array) per-send choiceswp_easycart_order_email_attachmentsFilters the files attached to order emails such as receipts and invoices; returned paths are added to the built-in attachments.
$attachments (array) file paths, empty by defaultorder id (int) the order ID$recipient (string) ‘customer’ or ‘admin’$context (array) email kind (receipt or invoice), the order display object and per-send argswp_easycart_order_email_log_metaFilters extra key and text details saved in the order log entry when an order email is sent from the admin.
$meta (array) key => text, empty by defaultorder id (int) the order IDlog key (string) order-receipt-email, order-shipping-email or order-packing-slip-email$args (array) per-send choiceswp_easycart_order_email_previewFilters the preview HTML shown for an order email on the admin order screen, letting extensions supply previews for their own email kinds.
$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 choiceswp_easycart_order_send_argsFilters the extra arguments used when an order email is sent or previewed from the admin order screen.
$args (array) Send arguments, empty by default.$order_id (int) The order id.$email (string) Email type: receipt, shipped or packing_slip.wp_easycart_packing_slip_email_attachments PROFilters the files attached to a packing slip email.
$files (array) Attachment file paths, empty by default.$order_id (int) The order id.$recipient (string) Recipient, always ‘customer’.$args (array) Per-send choices.wp_easycart_packing_slip_email_content PROFilters the HTML body of the packing slip email before it is sent.
$html (string) The email HTML.$order_id (int) The order id.$args (array) Per-send choices.wp_easycart_packing_slip_email_subject PROFilters the subject line of the packing slip email.
$subject (string) The subject, including the order number.$order_id (int) The order id.wp_easycart_pdf_receipt_emails PROFilters which emails may carry the PDF receipt or invoice attachment.
$emails (array) Email types, default receipt and invoice.wp_easycart_shipping_email_accent_colorFilters the accent color used in the shipping notification email.
$accent (string) Accent color, defaults to the store’s main details color.wp_easycart_shipping_email_address_linesFilters the address lines printed in the shipping email for the billing or shipping address.
$lines (array) Formatted address lines.$type (string) Address type, billing or shipping.$order (object) The order row.wp_easycart_shipping_email_attachmentsFilters the list of file attachments added to the customer shipping email.
$attachments (array) Attachments, starts empty.$order_id (int) Order id.$recipient Email recipient.$args Options passed when sending the shipping email.wp_easycart_shipping_email_contentFilters the rendered HTML body of the customer shipping email before it is sent.
$message (string) Email HTML.$order_id (int) Order id.$args Options passed when sending the shipping email.wp_easycart_shipping_email_subjectFilters the subject line of the customer shipping email.
$subject (string) Subject, the shipping email title followed by the order id.$order_id (int) Order id.wp_easycart_shipping_email_track_button_textFilters the text of the track-your-package button in the shipping email.
$text (string) Button text, default Track your package.$order (object) The order row.wp_easycart_shipping_email_tracking_urlFilters the carrier tracking link used by the shipping email button.
$url (string) Tracking URL built from the carrier and tracking number.$carrier (string) Carrier name.$tracking (string) Tracking number.$order (object) The order row.wp_easycart_stock_alert_recipients PROFilters the admin email addresses that receive low stock alerts and the low stock digest.
$recipients (string) Comma-separated addresses, defaults to the store notification (BCC) addresses.wp_easycart_stock_alert_skip_sourcesFilters the stock change sources that do not trigger a low stock alert email.
$skip_sources (array) Source slugs to skip, default import and square.wpeasycart_email_method API plugin PROFilters the email send method used for store emails, where 1 sends through wp_mail.
$email_send_method (string) Value of the ec_option_use_wp_mail setting; ‘1’ uses wp_mail.wpeasycart_email_receipt_enable_view_order_buttonFilters whether the order receipt email shows a View Order button instead of a plain link.
$enable (bool) False by default; return true to show the button.wpeasycart_inquiry_email_admin_contentFilters the HTML content of the product inquiry email sent to the store.
$admin_message (string) Store copy of the inquiry email body.$filter_options (array) Inquiry details passed to the filters.wpeasycart_inquiry_email_admin_subjectFilters the subject of the product inquiry email sent to the store.
$admin_subject (string) Subject line.wpeasycart_inquiry_email_contentFilters the HTML content of the product inquiry email sent to the shopper.
$message (string) Shopper copy of the inquiry email body.$filter_options (array) Inquiry details passed to the filters.wpeasycart_inquiry_email_recipientFilters the address or addresses that receive a product inquiry.
$store_email (string) Recipient addresses.$product (object) Product row the inquiry is about.wpeasycart_inquiry_email_subjectFilters the subject of the product inquiry email sent to the shopper.
$subject (string) Subject line.wpeasycart_order_email_admin_contentFilters the HTML content of the order receipt email sent to the store.
$admin_message (string) Store copy of the receipt email body.$order_id (int) Order id.wpeasycart_order_email_admin_emailFilters the address or addresses that receive the store copy of an order receipt.
$admin_email (string) Value of the ec_option_bcc_email_addresses setting.$order_id (int) Order id.wpeasycart_order_email_admin_titleFilters the subject of the order receipt email sent to the store.
$admin_title (string) Subject line.$order_id (int) Order id.wpeasycart_order_email_attachmentsFilters the list of file attachments added to an order receipt or invoice email.
$attachments (array) Attachment file paths; empty by default.$order_id (int) Order id.wpeasycart_order_email_customer_contentFilters the HTML content of the order receipt email sent to the customer.
$message (string) Customer receipt email body.$order_id (int) Order id.wpeasycart_order_email_customer_titleFilters the subject of the order receipt email sent to the customer.
$customer_title (string) Subject line.$order_id (int) Order id.wpeasycart_refund_email_admin_contentFilters the HTML content of the refund email sent to the store.
$admin_message (string) Store copy of the refund email body.$order_id (int) Order id.wpeasycart_refund_email_admin_emailFilters the address or addresses that receive the store copy of a refund email.
$admin_email (string) Value of the ec_option_bcc_email_addresses setting.$order_id (int) Order id.wpeasycart_refund_email_admin_titleFilters the subject of the refund email sent to the store.
$admin_title (string) Subject line.$order_id (int) Order id.wpeasycart_refund_email_attachmentsFilters the list of file attachments added to a refund email.
$attachments (array) Attachment file paths; empty by default.$order_id (int) Order id.wpeasycart_refund_email_customer_contentFilters the HTML content of the refund email sent to the customer.
$message (string) Customer refund email body.$order_id (int) Order id.wpeasycart_refund_email_customer_titleFilters the subject of the refund email sent to the customer.
$customer_title (string) Subject line.$order_id (int) Order id.Offers and coupons
Grouped by what they are about
29 filterswp_easycart_admin_coupon_details_stepfour_fields_list PROFilters the list of field definitions shown in step four of the admin promotion details form.
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.wp_easycart_admin_coupon_details_stepone_fields_list PROFilters the list of field definitions shown in step one of the admin coupon or promotion details form.
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.wp_easycart_admin_coupon_details_stepthree_fields_list PROFilters the list of field definitions shown in step three of the admin coupon details form.
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.wp_easycart_admin_coupon_details_steptwo_fields_list PROFilters the list of field definitions shown in step two of the admin coupon or promotion details form.
$fields (array) Field definitions, each an array with keys such as panel, name, type and label.wp_easycart_admin_offer_list_filters PROFilters the filter controls shown above the admin offers list.
$filters (array) Filter definitions, each with data, label, type and where clause.wp_easycart_admin_product_offer_test PROFilters the result of testing a typed offer code against a product in the admin product offers tab.
$result (array) the test result built by the offer code test$product (object) the product$raw_code (string) the code as typedwp_easycart_admin_product_offers_group_cap PROFilters the maximum number of offers listed per group in the admin product offers tab (default 100).
$cap (int) maximum number of offers per group, default 100$product_id (int) the product idwp_easycart_cart_link_destinationFilters 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).
$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.wp_easycart_cart_link_urlFilters the public URL of a cart link, built from the store page and the link’s token.
$url (string) The store page URL with the ec_cart_apply token added.$token (string) The cart link token.wp_easycart_ecv2_cart_link_getFilters the cart link record returned to the admin editor when a cart link is loaded.
$link (object) The cart link, including its public url.wp_easycart_ecv2_cart_link_is_proFilters whether the PRO cart links features are active in the admin cart links screen.
$pro (bool) True when PRO has hooked the cart link max items filter.wp_easycart_ecv2_cart_link_max_itemsFilters the maximum number of products a saved cart link may hold; the free plugin allows 1 and PRO raises it.
$value (int) Maximum items per cart link; 1 by default.wp_easycart_ecv2_cart_link_product_dataFilters the product data returned to the cart link editor when a product is chosen, letting PRO add modifiers.
$payload (array) Product data including sku, price, basic options and modifiers.$product (object) The product row.wp_easycart_ecv2_cart_link_save_dataFilters the data saved for a cart link, such as promo codes, expiry and max uses.
$data (array) The cart link fields to save.$_POST (array) The submitted form data.wp_easycart_ecv2_cart_link_save_itemsFilters the items saved for a cart link, letting PRO add modifier values.
$items (array) The cart link items.$_POST (array) The submitted form data.wp_easycart_groupon_uses_per_code GrouponFilters how many times each imported deal code can be used.
$per_code (int) uses per code, default 1$deal the deal the codes are imported intowp_easycart_offer_completed_order_join PROFilters the SQL join that limits offer purchase history checks to completed orders; by default only orders with an approved status count.
$join (string) SQL INNER JOIN clause on ec_orderstatus where is_approved = 1wp_easycart_offer_context PROFilters the context array (cart session, customer, roles and coupon code) the offer engine evaluates against.
$context (array) context with session_id, user_id, email, roles, logged_in and legacy_coupon_codewp_easycart_offer_custom_action PROLets an extension build the application for a custom offer action type; return an array to apply it, or false to skip.
$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 contextwp_easycart_offer_custom_condition PROLets an extension evaluate a custom offer condition type; return true when the condition passes.
$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 contextwp_easycart_offer_eligible_lines PROFilters the cart lines an offer is eligible to apply to.
$eligible (array) indexes of the eligible cart lines$offer the offer$lines the cart lines$side which side of the offer is being checkedwp_easycart_offer_evaluation_result PROFilters the final result of evaluating all offers against a cart.
$result (object) the evaluation result, including the lines$cart_items the cart items evaluated$context the offer contextwp_easycart_offer_line_savingsFilters the savings figures (code, automatic and shown) calculated for an order line from its offer discounts.
$savings (array) code, automatic and shown amounts for the whole line, in base currency$offer_discounts (array|string) the line’s offer discountswp_easycart_offer_product_scope_match PROFilters the result of checking whether an offer applies to a product.
$result (array) the scope match result, including applies, coverage and blocker$offer the offer$product the product checkedwp_easycart_offer_reversal_statusesFilters the order status IDs that reverse offer usage when an order moves to that status.
$statuses (array) order status IDs, default 16 and 19wp_easycart_offers_available PROFilters whether the offers engine is available, optionally for a minimum version.
$available (bool) true by default$min_version (string) minimum offers version required, or emptywp_easycart_offers_licensed PROFilters whether the offers feature is licensed.
$licensed (bool) whether the WP EasyCart license is validwp_easycart_product_offers_candidate_limit PROFilters how many candidate offers the product editor’s offers panel loads for a product.
$limit (int) Candidate limit, default 100.$product_id (int) The product id.wp_easycart_product_offers_candidate_limit_max PROFilters the maximum number of candidate offers the product editor’s offers panel can load when checking more offers.
$limit (int) Maximum limit, default 500.$product_id (int) The product id.Reviews
Grouped by what they are about
7 filterswp_easycart_review_email_textFilters a text string used in the review request and review reply emails.
$fallback (string) The default text.$key (string) Identifier of the text, such as greeting.wp_easycart_review_reply_labelFilters the label above the store’s reply to a review.
$label (string) sprintf format with one %s for the responder, default ‘Response from %s’.wp_easycart_review_reply_subjectFilters the subject of the email sent to a customer when the store replies to their review.
$subject (string) The subject line.$vars (array) Template variables for the email, including store_name.wp_easycart_review_request_subjectFilters the subject of the review request and review reminder emails.
$subject (string) The subject line, with {store} and {first_name} already replaced.$vars (array) Template variables for the email.wp_easycart_review_verified_labelFilters the Verified buyer badge text shown on a review.
$label (string) Badge text, default ‘Verified buyer’.wp_easycart_reviews_pagnation_perpageFilters how many reviews are shown per page in the product reviews list.
$perpage (int) Reviews per page, default 6.wp_easycart_reviews_pro_enabledFilters whether the PRO review features are treated as enabled.
$pro (bool) True when PRO is active and licensed.Reports and analytics
Grouped by what they are about
40 filterswp_easycart_export_report_listFilters the download links produced when a report export job finishes.
$reports (object) report keys (report1, report2, reporttax) => file URL$start_date report start date from the job$end_date report end date from the jobproduct id (int) product filter from the jobcountry shipping country filter from the jobbilling country billing country filter from the jobwp_easycart_meta_advanced_matchingFilters the customer matching data (hashed email and external ID) sent with Meta Pixel events.
$matching (array) advanced matching values: em and external_id$user_id (int) account ID, 0 for a guest$email (string) the email, when knownwp_easycart_meta_capi_calling_code PROFilters the phone calling code for a country used in Meta Conversions API customer data.
$code (string) calling code for the country$country (string) lowercased country codewp_easycart_meta_capi_enabled PROFilters whether the Meta Conversions API (server-side events) is enabled.
$enabled (bool) true when the setting, license, pixel ID and access token are all presentwp_easycart_meta_capi_event PROFilters a Meta Conversions API event before it is queued; return a non-array to skip it.
$event (array) the finalized event payload$event_name (string) the event name$context the event contextwp_easycart_meta_capi_purchase_event PROFilters the Meta Conversions API Purchase event built for an order.
$event (array) the finalized purchase event$order (object) the order$context the event contextwp_easycart_meta_capi_send_renewals PROFilters whether subscription renewal orders are sent to Meta as Purchase events.
$send (bool) true by defaultorder id (int) the order IDwp_easycart_meta_capi_token PROFilters the access token used for the Meta Conversions API.
$token (string) access token, from the connected extension or the saved settingwp_easycart_meta_currencyFilters the currency code sent with Meta events.
$currency (string) ISO 4217 code of the store currencywp_easycart_meta_external_idFilters the hashed external ID sent to Meta for a customer.
$hashed (string) SHA-256 hex hash, or an empty string$user_id (int) account ID$email (string) lowercased emailwp_easycart_meta_is_storefront_requestFilters whether the current request is a storefront request that may announce Meta events.
$storefront (bool) the answer so farwp_easycart_meta_parse_content_idFilters the result of splitting a Meta content ID into product and variant parts.
$parsed (array|false) parsed content ID, or false when it cannot be parsed$content_id (string) the content IDwp_easycart_meta_pixel_idFilters the Meta Pixel ID the storefront uses; non-digits are removed from the result.
$pixel_id (string) pixel ID digits, or an empty stringwp_easycart_order_sourceFilters the traffic source data saved on an order before it is written to the database.
$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.wp_easycart_order_source_listsFilters the referrer host lists (including the ignore list) used to classify where an order came from.
$lists (array) Host lists used by order source tracking, including the ignore list.wp_easycart_order_sources_consent_categoryFilters the cookie consent category order source tracking waits for before capturing visits.
$category (string) marketing or statistics.wp_easycart_order_sources_proFilters whether order sources are shown in full, which WP EasyCart PRO turns on when licensed.
$pro (bool) True when PRO shows sources in full, false by default.wp_easycart_order_sources_pro_licensed PROFilters whether PRO’s order sources feature treats the store as licensed.
$licensed (bool) True when a valid license is active.wp_easycart_order_sources_scriptFilters whether the order source capture script is loaded on storefront pages.
$load (bool) True to enqueue the script, default true.wp_easycart_pro_analytics_bot_signatures PROFilters the list of user agent fragments PRO analytics treats as bots and ignores.
$signatures (array) Lowercase user agent fragments, such as googlebot and bingbot.wp_easycart_pro_analytics_capture_order PROFilters whether PRO analytics captures the shopper’s context at order time for server-side ad and analytics events.
$wanted (bool) True when Facebook CAPI or direct GA4 tracking is turned on.wp_easycart_pro_analytics_client_ip PROFilters the shopper’s IP address as detected by PRO analytics; a non-public address is discarded.
$ip (string) The detected client IP.$remote The connecting remote address the detection started from.wp_easycart_pro_analytics_is_shopper_request PROFilters whether the current request is treated as coming from a shopper for PRO analytics.
$shopper (bool) True when the request looks like a shopper’s.wp_easycart_pro_analytics_private_query_args PROFilters the query string arguments removed from a source URL before PRO analytics stores it.
$secret (array) Query argument names to strip, such as key, token and email.wp_easycart_pro_analytics_unknown_consent PROFilters whether PRO analytics sends an order’s event when the shopper’s consent is unknown.
$send (bool) True unless consent management is on.$order_id (int) The order id.$category (string) Consent category: marketing or statistics.wp_easycart_reports_insightsFilters the insight messages shown on the Reports overview.
$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.wp_easycart_reports_order_whereFilters extra SQL conditions appended to the order queries behind reports.
$sql (string) Extra SQL, empty by default.$args (array) Report arguments.$alias (string) The ec_order table alias.wp_easycart_reports_pro_licensed PROFilters whether the Pro Reports are open, meaning the store has a valid license.
$licensed (bool) True for a valid license.wp_easycart_reports_pro_tabsFilters the ids of the Pro Reports tabs that WP EasyCart PRO serves.
$tabs (string[]) Tab ids, empty by default.wp_easycart_reports_research_exportFilters the research export settings on the Reports page; returns null while locked.
$research (array|null) Array with the AJAX action and nonce, or null.wp_easycart_reports_saved_viewsFilters the saved report views for the current person; returns null while locked.
$views (array|null) Saved views with id, name and state, or null.wp_easycart_reports_summary_frequenciesFilters the frequencies available for the report summary email.
$frequencies (array) Frequency key => label, weekly by default.wp_easycart_reports_summary_section_choicesFilters the optional sections a store can choose to include in the report summary email.
$choices (array) Section key => label, empty by default.wp_easycart_reports_summary_sectionsFilters the extra sections added to the report summary email when it is sent.
$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.wp_easycart_reports_tab_dataFilters the data for a Reports tab; return an array to supply the tab’s data.
$data (array|null) Tab data, null by default.$tab (string) The tab id.$args (array) Report arguments.wp_easycart_reports_tabsFilters the tabs on the Reports page.
$tabs (array) Tab id => details such as label, plan, feature and description.wp_easycart_reports_totalsFilters the headline order totals calculated for a report date range.
$out (array) Total figures.$start (string) Range start, Y-m-d.$end (string) Range end, Y-m-d.$args (array) Report arguments.wp_easycart_store_activity_countableFilters whether a visit is counted in the store activity statistics.
$count (bool) True for a browser that is not a crawler.$agent (string) Visitor user agent.wpeasycart_allow_pixel_codeFilters whether the Facebook pixel base code is printed in the page head on pages that contain a WP EasyCart shortcode.
$allow (bool) Whether the pixel code may be printed; defaults to true.wpeasycart_marketing_consentFilters whether the shopper has given marketing consent for a WP Consent API category.
$has (bool) The answer so far.$category (string) WP Consent API category.Admin screens and settings
Grouped by what they are about
82 filterswp_easycart_admin_bulk_category_optionsFilters the bulk actions available in the admin categories list.
$bulk_actions (array) List of actions, each an array with name and label.wp_easycart_admin_bulk_offer_options PROFilters the bulk actions available in the admin offers list.
$bulk_actions (array) List of actions, each an array with name and label.wp_easycart_admin_bulk_option_optionsFilters the bulk actions available in the admin product options list.
$bulk_actions (array) List of actions, each an array with name and label.wp_easycart_admin_bulk_order_optionsFilters the bulk actions available in the admin orders list.
$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.wp_easycart_admin_bulk_product_optionsFilters the bulk actions available in the admin products list.
$bulk_actions (array) List of actions, each an array with name and label.wp_easycart_admin_bulk_user_optionsFilters the bulk actions available in the admin customer accounts list.
$bulk_actions (array) List of actions, each an array with name and label.wp_easycart_admin_capability PROFilters the WordPress capability a user needs to use WP EasyCart admin actions, such as offer management.
$capability (string) Capability name; defaults to manage_options.wp_easycart_admin_category_list_filtersFilters the filter controls shown above the admin categories list.
$filters (array) List of filter definitions, each with data, label, type and where clause.wp_easycart_admin_compat_lockedFilters whether the WP EasyCart admin is locked because a required plugin version is missing or too old.
$locked (bool) True when at least one requirement is unmet.$conflicts (array) The unmet requirements.wp_easycart_admin_compat_requirementsFilters the plugin versions this release needs before its admin can load.
$requirements (array) Required plugin versions that the compatibility check tests.wp_easycart_admin_currency_symbolFilters the currency symbol shown beside currency fields in the admin product editor.
$symbol (string) Currency symbol for the store’s currency.wp_easycart_admin_datetime_format_oldestFilters how a date and time is displayed in admin list tables when it falls in a previous year.
$formatted (string) Formatted date using the site’s date and time formats.$date_timestamp (int) Unix timestamp of the date being displayed.wp_easycart_admin_datetime_format_same_weekFilters how a date and time is displayed in admin list tables when it falls earlier in the past week (not today or yesterday).
$formatted (string) Formatted weekday name and time.$date_timestamp (int) Unix timestamp of the date being displayed.wp_easycart_admin_datetime_format_same_yearFilters 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.
$formatted (string) Formatted short month, day and time.$date_timestamp (int) Unix timestamp of the date being displayed.wp_easycart_admin_datetime_format_todayFilters how a date and time is displayed in admin list tables when it falls today.
$formatted (string) Text made of the word Today followed by the time.$date_timestamp (int) Unix timestamp of the date being displayed.wp_easycart_admin_datetime_format_yesterdayFilters how a date and time is displayed in admin list tables when it falls yesterday.
$formatted (string) Text made of the word Yesterday followed by the time.$date_timestamp (int) Unix timestamp of the date being displayed.wp_easycart_admin_ecv2_advanced_pricing_enabledFilters whether advanced pricing (B2B tiers and role pricing) is enabled, controlling badges and menus in the admin product price cell.
$enabled (bool) False by default; Pro turns it on.wp_easycart_admin_ecv2_option_set_search_typesFilters which option set types can be found when searching for an option set in the admin product editor.
$types (array) Option set type slugs; defaults to basic-combo and basic-swatch.wp_easycart_admin_ecv2_price_cell_badgesFilters the badges shown in a product’s price cell in the admin products list.
$badges (array) Badge definitions (each with keys such as class and action).$result (object) Product row being displayed.wp_easycart_admin_ecv2_save_price_responseFilters the JSON response sent back after prices are saved from the admin products list, letting Pro add data to refresh the interface.
$response (array) Response data for the price counts and related values.$product_id (int) ID of the product whose prices were saved.wp_easycart_admin_edition_stateFilters the license state the admin wording is based on, such as free, trial, pro or premium.
$state (array) Array with tier (free, trial, pro or premium), lapsed (bool) and end (timestamp).wp_easycart_admin_error_messagesFilters the error messages shown as notices at the top of WP EasyCart admin screens.
$messages (array) Messages to display as error notices; empty by default.wp_easycart_admin_extensions_navFilters the entries in the left navigation under Extensions in the admin.
$items (array) Rows with label, url and current (bool) keys.wp_easycart_admin_fee_details_basic_fields_list PROFilters the list of basic field definitions shown on the admin fee details form.
$fields (array) Field definitions, each an array with keys such as name, type, label and value.wp_easycart_admin_inventory_columnsFilters the columns shown in the admin inventory table.
$columns (array) Column definitions, each with name, label and optional responsive hide keys.$pro_enabled (bool) Whether Pro is active.wp_easycart_admin_inventory_health_statsFilters the health stat tiles shown above the admin inventory table.
$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.wp_easycart_admin_inventory_health_whereFilters the SQL WHERE fragment for an inventory health filter, letting extensions handle filter keys the core does not know.
$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).wp_easycart_admin_inventory_qty_reasonFilters the reason key recorded when an admin changes an inventory quantity.
$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.wp_easycart_admin_inventory_qty_reason_errorFilters whether an inventory quantity change is refused for lacking a valid reason; return a non-empty message to block the save.
$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.wp_easycart_admin_inventory_selectFilters extra SELECT SQL that Pro adds to each branch of the admin inventory query.
$extra (array) Array with basic and variant keys holding SQL fragments, each starting with a comma.$pro_enabled (bool) Whether Pro is active.wp_easycart_admin_lock_icon PROFilters the lock icon marker shown on Pro-only features in the admin; an empty string means Pro features are unlocked.
$lock_icon (string) Lock marker; defaults to locked in the free edition and is empty when Pro is active.wp_easycart_admin_option_list_filtersFilters the filter controls shown above the admin option sets list.
$filters (array) Filter definitions, each with data, label, type and where clause.wp_easycart_admin_order_list_columnsFilters the columns loaded for the admin orders list table.
$columns (array) Column definitions, each with select, name, format and label keys.wp_easycart_admin_order_list_filtersFilters the filter controls shown above the admin orders list.
$filters (array) Filter definitions, each with data, label, type and where clause.wp_easycart_admin_order_list_search_columnsFilters the database columns searched by the admin orders list search box.
$columns (array) Column names such as ec_order.order_id and ec_order.user_email, searched with LIKE.wp_easycart_admin_order_new_jsFilters the JavaScript run when the Add New button is clicked in the admin orders list.
$new_order_js (string) JavaScript for the button’s click handler; may show a Pro upgrade prompt.wp_easycart_admin_premium_offerFilters the Premium upgrade offer (button and message) shown in the admin, based on the license.
$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.wp_easycart_admin_success_messagesFilters 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.
$messages (array) success messages, empty by defaultwp_easycart_admin_undo_capabilitiesFilters the capability required to undo each kind of admin deletion.
$caps (array) kind => capability, with order, product, account and subscriber by defaultwp_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.
$result (mixed) null by default; callbacks return the restore result or a WP_Error$snapshot (array) the saved snapshot of the deleted itemwp_easycart_admin_undo_ttlFilters how long, in seconds, a deletion can be undone after it happens (default 15 minutes).
$ttl (int) time in seconds, default 15 * MINUTE_IN_SECONDSwp_easycart_admin_upgrade_fileFilters the path of the template file included for the admin upgrade screen.
$file (string) full path to upgrade-screen.phpwp_easycart_admin_upgrade_urlFilters the upgrade URL used by locked admin features that link to the pricing page, such as abandoned carts and smart categories.
$url (string) upgrade URL on wpeasycart.com, including an upsell query argumentwp_easycart_admin_v2_gate_descriptionFilters the description text shown on a locked (Pro or Premium) field in the version 2 product editor.
$description (string) default text, ‘Unlock this feature with’ plus the plan name$name (string) name of the locked fieldwp_easycart_admin_warning_messagesFilters 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.
$messages (array) warning messages, empty by defaultwp_easycart_cart_importer_suggestFilters whether the setup wizard suggests importing from another cart (default true).
$suggest (bool) true by defaultwp_easycart_cart_importer_suggest_max_productsFilters the maximum number of products a store can have before the setup wizard stops suggesting a cart import (default 3).
$max_products (int) product count, default 3wp_easycart_detected_caching_pluginFilters 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.
$plugin (string|null) The detected caching plugin name, null when none is found.wp_easycart_document_attachment_gridFilters the rows (emails) and columns (PDF documents) of the document attachments grid in Settings > Documents.
$grid (array) emails => key => label and desc; documents => key => label.wp_easycart_document_optionsFilters the choices a document profile makes that are not on/off switches, such as the Invoice PDF heading.
$options (array) Option key => label, description and choices.$type (string) The document type.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.
$value (string) Preview HTML; empty by default.$order_id (int) The sample order id.$fields (array) The document field settings being previewed.wp_easycart_document_wording_keysFilters the language phrase keys a document type uses in the language editor.
$keys (array) Phrase keys grouped by language section.$type (string) The document type.wp_easycart_elementor_upgrade_urlFilters the upgrade (pricing) URL shown for a PRO Elementor feature.
$url (string) The pricing page URL.$feature (string) The feature key.wp_easycart_extension_cardFilters one extension card on the admin Extensions page.
$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 versionwp_easycart_extension_slotLets an extension replace the HTML shown in a named slot (tax services, order labels, product tabs or integrations) on an admin screen.
$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 datawp_easycart_extensions_catalogFilters the catalog of extensions listed on the admin Extensions page.
$catalog (array) extension slug => catalog entrywp_easycart_extensions_page_actionsFilters the header buttons HTML on the admin Extensions page, such as Check for updates and Update all.
$html (string) buttons HTML, empty by defaultwp_easycart_extensions_page_bannerFilters the banner HTML shown at the top of the admin Extensions page about the WP EasyCart Premium plugin.
$html (string) banner HTML$prem (string) Premium state: active, lapsed or none$plugin (array) Premium plugin details: installed, active and versionwp_easycart_recommended_settings_statusFilters the recommended settings status rows shown in the setup wizard.
$rows (array) Status rows, each with an overridden flag.$env The environment details the rows were evaluated against.wp_easycart_settings_field_lockedFilters whether a settings field or section is locked for the current license.
$locked (bool) True when locked.$field_or_section The field or section being checked.wp_easycart_settings_groupsFilters the settings groups in display order.
$groups (array) Group slug => label and hint.wp_easycart_settings_home_catalogFilters the catalog of settings pages shown on the Settings home.
$pages (array) Page slug => group, order, icon, title, description and plan.wp_easycart_settings_navigationFilters the settings pages grouped for the Settings home and sidebar navigation.
$out (array) Group slug => label, hint and pages.wp_easycart_settings_page_{slug}Filters a settings page declaration as it loads from its declaration file; {slug} is the settings page slug.
$decl (array) The settings page declaration before it is normalized.wp_easycart_settings_pagesFilters the full list of registered settings pages, letting a plugin add, change or remove pages.
$pages (array) Settings pages keyed by page slug.wp_easycart_settings_save_replyFilters the reply sent back to the browser after a settings page is saved by AJAX.
$reply (array) Response with saved, errors, warnings and message.$slug (string) Settings page slug.$saved_keys (array) Keys of the settings that were saved.wp_easycart_settings_search_itemsFilters extra searchable items for the settings search, for things inside custom page markup such as gateways and carriers.
$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.wp_easycart_setup_checklistFilters the items shown in the store launch checklist.
$items (array) Checklist items keyed by item key, each with its dismissed state.wp_easycart_setup_wizard_assets_neededFilters 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.
$needed (bool) Default false.wp_easycart_shell_breadcrumbFilters the breadcrumb shown in the admin shell header.
$crumb (array) The breadcrumb parts.$page (string) Current admin page slug.$subpage (string) Current subpage slug.wp_easycart_shell_help_videosFilters the list of help videos offered in the admin header help menu.
$videos (array) YouTube video id => video title.wp_easycart_shell_search_indexFilters the entries in the admin shell search index.
$items (array) Search entries, each with label, url, group and keywords.wp_easycart_shell_theme_recipeFilters the recipe that derives the admin brand color shades from the main brand color.
$recipe (array) CSS variable name => array( method, amount ), where method is black or white and amount is a mix ratio.wp_easycart_show_review_promptFilters whether the admin review prompt is shown.
$show (bool) True when the store has not reviewed the plugin and the prompt has been earned.wp_easycart_table_cell_data_defaultFilters a cell value printed in an admin table for columns with no special format.
$value The column value from the row.$result (object) The full table row.$column_name (string) Column name.wp_easycart_table_cell_data_intFilters an integer cell value printed in an admin table, prefixed with # for id columns.
$value (string) The integer value, prefixed with # when the column is an id.$result (object) The full table row.$column_name (string) Column name.wp_easycart_trial_start_contentFilters the trial and upgrade content in the admin; return an empty string to hide the trial offer.
$content (string) Default ‘true’.wp_easycart_upgrade_premium_urlFilters the URL of the Premium upgrade link in admin upsell messages.
$url (string) Premium upgrade URL.wp_easycart_upgrade_pro_url PROFilters the URL of the Pro upgrade link shown in admin notices.
$url (string) Pro upgrade URL, default the pricing page.wp_easycart_upsell_catalogFilters the catalog of upsell contexts and features used by admin upgrade messages.
$catalog (array) Upsell catalog.wp_easycart_upsell_contextFilters the upsell context chosen for the current admin screen.
$context (string) Upsell context key.wp_easycart_upsell_statsFilters the store statistics used in admin upsell messages, such as average order value and low stock count.
$stats (array) Store statistics.Storefront templates and design
Grouped by what they are about
31 filterswp_easycart_cart_icon_htmlFilters the HTML of the cart icon output by the cart icon shortcode.
$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 attributeswp_easycart_elementor_add_to_cart_link_allowedFilters whether an Elementor add to cart link is allowed for a product.
$can (bool) Whether a link can add the product.$product (ec_product) The product.wp_easycart_elementor_add_to_cart_link_automatedFilters 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.
$reason (string) prefetch, bot or an empty string.$agent (string) The request’s user agent, lower case.wp_easycart_elementor_add_to_cart_link_max_quantityFilters the maximum quantity an Elementor add to cart link can add; the result is kept between 1 and the built-in maximum.
$value (int) The default link quantity limit.wp_easycart_elementor_best_seller_idsFilters the product ids used for best sellers in Elementor shop widgets.
$ids (int[]) Product ids.wp_easycart_elementor_display_conditions_supportedFilters whether the installed Elementor Pro version is supported for WP EasyCart display conditions.
$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.wp_easycart_elementor_dynamic_tagsFilters the Elementor dynamic tags WP EasyCart registers.
$tags (array) Slug => class name.wp_easycart_elementor_help_urlFilters the help link for an Elementor widget or the WP EasyCart Site Settings tab.
$url (string) The docs URL.$name (string) The widget name or tab id.wp_easycart_elementor_loop_limitFilters the maximum number of products an Elementor loop query looks up.
$value (int) Maximum products; 5000 by default.$query_id (string) The loop query id.wp_easycart_elementor_loop_post_idsFilters the ec_store post ids used by an Elementor loop query.
$post_ids (int[]) ec_store post ids.$query_id (string) The loop query id.wp_easycart_elementor_preview_category_idFilters the sample category id used to preview category templates in the Elementor editor.
$value (int) Category id; 0 to use the first active category.wp_easycart_elementor_preview_product_idFilters the sample product id used to preview product templates in the Elementor editor.
$value (int) Product id; 0 to use a sample product.wp_easycart_elementor_product_buy_templateFilters the template file path used by the Elementor product buy widgets.
$path (string) Absolute path to the template.$file (string) Template file name.wp_easycart_elementor_quick_view_allowedFilters whether quick view can open on this device in the Elementor shop widget.
$value (bool) Whether quick view is allowed; true by default.wp_easycart_elementor_related_product_idsFilters the related product ids shown for a product in Elementor shop widgets.
$ids (int[]) Related product ids.$product_id (int) The product.wp_easycart_elementor_retired_widgetsFilters the list of retired Elementor widgets and the widgets that replace them.
$value (array) Widget name => settings including the replacement name; empty by default.wp_easycart_elementor_role_contentFilters whether the store’s product lists differ per customer role, which keeps the page out of page caches.
$role_content (bool) Whether product content depends on the customer’s role.wp_easycart_elementor_shop_scopeFilters the category and manufacturer scope of an Elementor shop archive widget.
$scope (array) array( category id, manufacturer id ); array( 0, 0 ) by default.$settings (array) The widget settings.wp_easycart_elementor_starter_templateFilters the starter Elementor template content created for a product or category template.
$content (array) The template’s elements.$type (string) product or category.wp_easycart_elementor_template_forFilters which Elementor template is used to draw a product or category page.
$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.wp_easycart_elementor_template_hand_offFilters whether the [ec_store] shortcode may hand off to an Elementor template.
$value (bool) Whether hand off is allowed; true by default.$atts (array) The [ec_store] shortcode arguments.wp_easycart_elementor_widget_classesFilters the Elementor widget classes WP EasyCart registers, letting PRO add or replace widgets.
$value (array) Class name => file path; empty by default.wp_easycart_enable_elementor_account_elementsFilters whether the Elementor account widgets (account forms and account dashboard) are registered and their pages get account-style headers.
$enabled (bool) false by defaultwp_easycart_load_css_scriptsFilters whether WP EasyCart loads its front-end CSS (and dashicons).
$load (bool) true by default; return false to skip loadingwp_easycart_load_js_scriptsFilters whether WP EasyCart loads its front-end JavaScript.
$load (bool) true by default; return false to skip loadingwp_easycart_prod_details_video_controlsFilters the attributes on the product page video tag.
$controls (string) Attribute string for the video element, default ‘controls’.wp_easycart_store_item_as_pageFilters 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.
$as_page (bool) Default true.wp_easycart_store_policies_schemaFilters the store policies part of the store’s structured data (schema.org).
$out (array) Policy schema properties, such as shipping services and return policy.wp_easycart_store_return_policy_schemaFilters the merchant return policy structured data (schema.org).
$out (array) Return policy schema.wp_easycart_store_schemaFilters the complete OnlineStore structured data (schema.org) built for the store.
$schema (array) Store schema merged with its policies.wp_easycart_vacation_mode_textFilters the vacation mode message shown in place of the add-to-cart button when the store displays as a catalog.
$text (string) The vacation mode button text.$product_id (int) Product id.Pickup and scheduling
Grouped by what they are about
9 filterswp_easycart_admin_schedule_details_basic_fields_list PROFilters the field definitions in the basic section of the admin schedule details screen.
$fields (array) field definitions for the schedule basicswp_easycart_local_pickup_labelsFilters the shipping method texts that identify an order as local pickup.
$texts (array) shipping method label strings treated as local pickupwp_easycart_location_addressFilters the formatted address string shown for a pickup location.
$location_address_format (string) formatted address line$location (object) the location rowwp_easycart_location_distanceFilters the distance text shown for a pickup location in the location picker, in miles or kilometers.
$distance_text (string) formatted distance text$location (object) the location rowwp_easycart_order_is_local_pickupFilters whether an order counts as a local pickup order.
$is_pick (bool) true when the shipping method matches a local pickup label$order the order (array)wp_easycart_pickup_date_jquery_formatFilters the jQuery UI date format used by the pickup date picker on the cart payment step and the admin order screen.
$format (string) jQuery UI dateFormat string, default ‘MM d, yy’.wp_easycart_pickup_date_placeholder_format PROFilters the PHP date format used to display a pickup date on order screens, receipts and account pages.
$format (string) PHP date format, such as ‘F d, Y’.wp_easycart_pickup_time_close_placeholder_formatFilters the PHP time format used to display the end of a pickup window on order pages and receipts.
$format (string) PHP date format, default ‘g:i A’.wp_easycart_pickup_time_placeholder_formatFilters the PHP date format used to display a pickup time (restaurant orders) on order pages and receipts.
$format (string) PHP date format, default ‘g:i A F d, Y’.Downloads and gift cards
Grouped by what they are about
8 filterswp_easycart_admin_downloads_details_basic_fields_list PROFilters the list of basic field definitions shown on the admin download details form.
$fields (array) Field definitions, each an array with keys such as name, type, label and required.wp_easycart_admin_product_details_downloads_fields_listFilters the field definitions shown in the Downloads section of the admin product editor.
$fields (array) field definitions, each an array with name, type, label and related keys$product (object) the product being editedwp_easycart_customer_downloadFilters whether a customer may download a given order document (receipt, invoice, packing slip or gift receipt) from the storefront.
$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.wp_easycart_customer_upload_denied_extensionsFilters extra file extensions to block from customer uploads; extensions returned are added to the built-in denied list and cannot remove from it.
$extra (array) Additional file extensions to deny; empty by default.wp_easycart_customer_upload_file_typesFilters the file types shoppers may upload; denied extensions are removed from the result afterwards.
$types (array) Type key => array with extensions and mimes.wp_easycart_document_attachment_cell PROFilters how a PDF document is attached to an order email (off, attach or link, plus profile).
$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.wpeasycart_get_gift_card_balanceFilters the gift card row loaded when a gift card code is redeemed.
$giftcard (object) Gift card database row.$giftcardcode (string) The gift card code entered.wpeasycart_redeem_gift_cardLets a third-party gift card system redeem the gift card used on an order; return false to fail the order’s gift card step.
$giftcard_code (string) Gift card code applied to the order.$order_id (int) Order id.$giftcard_discount (float) Amount discounted by the gift card.Integrations and extensions
Grouped by what they are about
38 filterswp_easycart_bluecheck_api_base BlueCheckFilters the BlueCheck API base URL.
$base (string) API host, https://customer-api.bluecheck.me by defaultwp_easycart_bluecheck_person BlueCheckFilters the shopper’s details sent to BlueCheck for age verification.
$person (array) first_name, last_name, email, phone, address_1, address_2, city, state, zip, country$cd (object|null) the checkout sessionwp_easycart_bluecheck_requirement BlueCheckFilters the BlueCheck age verification requirement for the cart.
$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 statewp_easycart_bluecheck_store_check_url BlueCheckFilters the BlueCheck order token check URL.
$url (string) default https://verify.bluecheck.me/age-verification/api/check-tokenwp_easycart_consent_sourceFilters which cookie consent source WP EasyCart reads before loading tracking tags; the value must be one of the known sources or it is ignored.
$source (string) off, wp_consent_api, google_consent_mode, cookiebot, cookieyes, complianz or any.$setting (string) The choice saved on Settings > Integrations > Cookie consent.wp_easycart_elementor_pro_featuresFilters the list of Elementor features that WP EasyCart PRO provides, so the free plugin can show them as active.
$value (array) Feature keys provided by PRO; empty by default.wp_easycart_email_marketing_klaviyo_revision Email MarketingFilters the Klaviyo API revision date sent with every Klaviyo call; it must be in YYYY-MM-DD format.
$value (string) The API revision.wp_easycart_email_marketing_order Email MarketingFilters the neutral order record sent to the connected email marketing service.
$record (array) The neutral order record.$order (object) The ec_order row.wp_easycart_email_marketing_product Email MarketingFilters the neutral product record sent to the connected email marketing service.
$record (array) The neutral product record.$product (object) The ec_product row.wp_easycart_email_marketing_service Email MarketingFilters the service adapter the store uses to talk to the email marketing service.
$adapter (wp_easycart_email_marketing_service) The adapter for the connected service.wp_easycart_email_marketing_services Email MarketingFilters the email marketing services the extension can connect, one at a time.
$value (array) Service slug => adapter class name; mailchimp and klaviyo by default.wp_easycart_email_marketing_{service}_service_url Email MarketingFilters the base URL of the connection service for an email marketing service. {service} is the service slug, such as mailchimp or klaviyo.
$url (string) Base URL, https://connect.wpeasycart.com/{service}/ by default.wp_easycart_facebook_feed_columns Facebook & InstagramFilters the list of column names written to the Facebook and Instagram product feed CSV.
$columns (array) feed column names, including video url columnswp_easycart_facebook_image_size Facebook & InstagramFilters the WordPress image size used for product images sent to Facebook and Instagram.
$size (string) image size name, default ‘large’wp_easycart_facebook_item Facebook & InstagramFilters a finished Facebook and Instagram catalog item before it is used.
$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 variantwp_easycart_facebook_item_availability Facebook & InstagramFilters the availability text sent to Facebook and Instagram for an item.
$availability (string) ‘in stock’ or ‘out of stock’$state (string) stock state: in_stock, preorder, backorder or out_of_stock$product (object) the product rowwp_easycart_facebook_item_issues Facebook & InstagramFilters the list of problems found with a Facebook and Instagram catalog item.
$issues (array) issues found for the item$item (array) the catalog item that was checkedwp_easycart_facebook_item_link Facebook & InstagramFilters the product page link sent to Facebook and Instagram for a product.
$link (string) product URL$product (object) the product rowwp_easycart_facebook_item_price Facebook & InstagramFilters the price sent to Facebook and Instagram for a product, after any VAT multiplier is applied.
$price (float) the item price$product (object) the product rowwp_easycart_facebook_item_vat_multiplier Facebook & InstagramFilters the VAT multiplier applied to prices sent to Facebook and Instagram.
$multiplier (float) 1 + VAT rate / 100, or 1 when no VAT applies$product (object) the product rowwp_easycart_facebook_option_attribute Facebook & InstagramLets you map a product option label to a Facebook attribute name when the built-in matching (such as material or pattern) finds none.
$attribute (string) attribute name, empty by default$label (string) the option label, lowercasedwp_easycart_facebook_product_exclusion Facebook & InstagramLets you exclude a product from the Facebook and Instagram catalog by returning a reason code.
$reason (string) exclusion reason; empty keeps the product in the catalog$product (object) the product rowwp_easycart_facebook_product_set_filter Facebook & InstagramFilters the Meta product set filter built for a store category when product sets are synced.
$filter (array) the Meta product set filter$category_id (int) the category ID$product_ids (int[]) IDs of the products in the categorywp_easycart_facebook_reason_label Facebook & InstagramFilters the label shown for an item exclusion reason code that has no built-in label.
$label (string) the label, initially the reason code itself$code (string) the reason codewp_easycart_facebook_request_data Facebook & InstagramFilters the data array sent to Facebook and Instagram when an item is created or updated.
$data (array) request fields for the item$item the catalog item being sentwp_easycart_facebook_stock_events Facebook & InstagramFilters the list of order events after which Facebook and Instagram stock is re-synced.
$events (string[]) event and action names, such as wpeasycart_order_paid and wpeasycart_full_order_refundwp_easycart_fulfillment_providersLets fulfillment partner extensions register themselves as fulfillment providers.
$providers (array) provider slug => array with label, active, url and order_url (a callable taking $order_id and $ref); empty by defaultwp_easycart_google_feed_item PROFilters a finished product item in the Google Merchant Center feed before it is output.
$item (array) the Google feed itemwp_easycart_google_feed_pro_licensed PROFilters whether the site counts as licensed for the Pro Google feed.
$licensed (bool) true when the WP EasyCart license is validwp_easycart_google_relay_url PROFilters the base URL of the WP EasyCart relay service used by the Google Merchant connection.
$url (string) base URL, default https://connect.wpeasycart.com/google/wp_easycart_groupon_report_columns GrouponFilters the columns of the Groupon deal redemption report CSV.
$columns (array) column key (code, voucher_ref, redeemed, orders, discount) => header$site (string) deal site slugwp_easycart_groupon_sites GrouponFilters the list of deal sites, such as Groupon, that the Groupon extension supports.
$sites (array) site slug => settings including label, paid_value, report and helpwp_easycart_marketing_contact PROFilters the contact data sent to an email marketing provider for a shopper.
$contact (array) contact data$email (string) the shopper’s email addresswp_easycart_marketing_providers PROFilters the registered email marketing provider connections.
$providers (array) provider id => wp_easycart_marketing_provider objectwp_easycart_meta_connection PROLets the Facebook and Instagram extension supply its connection details (pixel and token) to the Meta Conversions API.
$connection (array|null) connection with connected, name, pixel_id, token, settings_url and source keys; null when there is nonewp_easycart_meta_content_id Facebook & InstagramFilters the content ID sent to Meta for a product or variant, in the form product_id or product_id_variant_id.
$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 productwp_easycart_premium_install_urlFilters the URL used for one-click installation of WP EasyCart Premium and its extensions.
$url (string) Install URL, empty when one-click install is not available.$slug (string) The extension to install afterwards, or an empty string.wp_easycart_pro_license_facts PROFilters the license facts WP EasyCart Premium reads.
$facts (array) key, site, tier, model, trial, licensed, lapsed and end.Import and export
Grouped by what they are about
11 filterswp_easycart_admin_inventory_export_headerFilters the header row of the inventory CSV export.
$header (array) Column key => label written to the file.wp_easycart_admin_inventory_export_rowFilters each data row of the inventory CSV export before it is written.
$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.wp_easycart_admin_inventory_import_columns PROFilters the header names the inventory importer accepts for each column role.
$columns (array) Role (variant_id, product_id, sku, qty) => array of accepted header names.wp_easycart_order_export_fee_typesFilters the fee labels that become extra columns in the order export.
$fee_rows (array) rows of objects with a fee_label propertywp_easycart_order_export_keys PROFilters the full list of column keys in the order export CSV.
$keys (array) column keyswp_easycart_order_export_order_keysLets extensions add order-level columns to the order export CSV.
$keys (array) additional column keys, empty by defaultwp_easycart_order_export_order_valuesSupplies values for the extension-added order export columns for a chunk of orders.
$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 filterwp_easycart_order_export_single_keys PROFilters the list of order export columns that are written once per order rather than once per line item.
$single_keys (array) column keys that are single-use per order, such as sub_total, grand_total and order_datewp_easycart_order_field_export_columnsFilters the checkout field columns included in the order export.
$out (array) checkout field key => column namewpeasycart_admin_order_export_fileFilters the file path of the template that exports orders to CSV.
$file (string) Path to export-orders-csv.php.wpeasycart_admin_order_stamps_export_fileFilters the file path of the template that exports orders to a Stamps.com CSV.
$file (string) Path to export-orders-stamps-csv.php.API and mobile app
Grouped by what they are about
1 filterwp_easycart_api_valid_hooks API pluginFilters the list of webhook hook names the REST API plugin accepts, such as new_order and update_user.
$valid_hooks (array) valid hook name stringsOther
Grouped by what they are about
3 filterswpeasycart_post_sync_direct_writesFilters whether WP EasyCart’s post sync writes posts with direct database queries instead of wp_insert_post and wp_update_post.
$direct (bool) True for mobile app (amfphp) requests by default, false otherwise.wpeasycart_post_sync_force_deleteFilters whether the synced WordPress post is permanently deleted, skipping the trash, when its store item is removed.
$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.wpeasycart_post_sync_registryFilters the registry of item types the post sync keeps in step with WordPress posts.
$registry (array) Item type => settings such as table, primary key and shortcode attributes.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.
