WooCommerce Code Reference

API Documentation

Namespaces

WooCommerce
Automattic

Interfaces, Classes and Traits

WC_Abstract_Order_Data_Store_Interface
WC Order Data Store Interface
WC_Coupon_Data_Store_Interface
WC Coupon Data Store Interface
WC_Customer_Data_Store_Interface
WC Customer Data Store Interface
WC_Customer_Download_Data_Store_Interface
WC Customer Download Data Store Interface.
WC_Customer_Download_Log_Data_Store_Interface
WC Customer Download Log Data Store Interface.
WC_Importer_Interface
WC_Importer_Interface class.
WC_Log_Handler_Interface
WC Log Handler Interface
WC_Logger_Interface
WC Logger Interface
WC_Object_Data_Store_Interface
WC Data Store Interface
WC_Order_Data_Store_Interface
WC Order Data Store Interface
WC_Order_Item_Data_Store_Interface
WC Order Item Data Store Interface
WC_Order_Item_Product_Data_Store_Interface
WC Order Item Data Store Interface
WC_Order_Item_Type_Data_Store_Interface
WC Order Item Data Store Interface
WC_Order_Refund_Data_Store_Interface
WC Order Refund Data Store Interface
WC_Payment_Token_Data_Store_Interface
WC Payment Token Data Store Interface
WC_Product_Data_Store_Interface
WC Product Data Store Interface
WC_Product_Variable_Data_Store_Interface
WC Product Variable Data Store Interface
WC_Queue_Interface
WC Queue Interface
WC_Shipping_Zone_Data_Store_Interface
WC Shipping Zone Data Store Interface.
WC_Webhook_Data_Store_Interface
WooCommerce Webhook data store interface.
WC_WCCOM_Site_Installation_Step
WC_Data
Abstract WC Data Class
WC_Deprecated_Hooks
WC_Deprecated_Hooks class maps old actions and filters to new ones. This is the base class for handling those deprecated hooks.
WC_Integration
Abstract Integration Class
WC_Log_Handler
Abstract WC Log Handler Class
WC_Object_Query
Abstract WC Object Query Class
WC_Abstract_Order
WC_Abstract_Order class.
WC_Payment_Gateway
WooCommerce Payment Gateway class.
WC_Payment_Token
WooCommerce Payment Token.
WC_Abstract_Privacy
Abstract class that is intended to be extended by specific privacy class. It handles the display of the privacy message of the privacy id to the admin, privacy data to be exported and privacy data to be deleted.
WC_Product
Abstract Product Class
WC_Session
WC_Session
WC_Settings_API
WC_Settings_API class.
WC_Shipping_Method
WooCommerce Shipping Method Class.
WC_Widget
WC_Widget
WC_Background_Process
WC_Background_Process class.
WC_Admin_Addons
WC_Admin_Addons Class.
WC_Admin_API_Keys_Table_List
API Keys table list class.
WC_Admin_API_Keys
WC_Admin_API_Keys.
WC_Admin_Assets
WC_Admin_Assets Class.
WC_Admin_Attributes
WC_Admin_Attributes Class.
WC_Admin_Customize
WC_Admin_Customize Class.
WC_Admin_Dashboard_Setup
WC_Admin_Dashboard_Setup Class.
WC_Admin_Dashboard
WC_Admin_Dashboard Class.
WC_Admin_Duplicate_Product
WC_Admin_Duplicate_Product Class.
WC_Admin_Exporters
WC_Admin_Exporters Class.
WC_Admin_Help
WC_Admin_Help Class.
WC_Admin_Importers
WC_Admin_Importers Class.
WC_Admin_Log_Table_List
WC_Admin_Menus
WC_Admin_Menus Class.
WC_Admin_Meta_Boxes
WC_Admin_Meta_Boxes.
WC_Admin_Notices
WC_Admin_Notices Class.
WC_Admin_Permalink_Settings
WC_Admin_Permalink_Settings Class.
WC_Admin_Pointers
WC_Admin_Pointers Class.
WC_Admin_Post_Types
WC_Admin_Post_Types Class.
WC_Admin_Profile
WC_Admin_Profile Class.
WC_Admin_Reports
WC_Admin_Reports Class.
WC_Admin_Settings
WC_Admin_Settings Class.
WC_Admin_Setup_Wizard
WC_Admin_Setup_Wizard class.
WC_Admin_Status
WC_Admin_Status Class.
WC_Admin_Taxonomies
WC_Admin_Taxonomies class.
WC_Admin_Webhooks_Table_List
Webhooks table list class.
WC_Admin_Webhooks
WC_Admin_Webhooks.
WC_Admin
WC_Admin class.
WC_Helper_API
WC_Helper_API Class
WC_Helper_Compat
WC_Helper_Compat Class
WC_Helper_Options
WC_Helper_Options Class
WC_Helper_Plugin_Info
WC_Helper_Plugin_Info Class
WC_Helper_Updater
WC_Helper_Updater Class
WC_Helper
WC_Helper Class
WC_Product_CSV_Importer_Controller
Product importer controller - handles file upload and forms in admin.
WC_Tax_Rate_Importer
Tax Rates importer - import tax rates and local tax rates into WooCommerce.
WC_Admin_List_Table
WC_Admin_List_Table Class.
WC_Admin_List_Table_Coupons
WC_Admin_List_Table_Coupons Class.
WC_Admin_List_Table_Orders
WC_Admin_List_Table_Orders Class.
WC_Admin_List_Table_Products
WC_Admin_List_Table_Products Class.
WC_Marketplace_Suggestions
Marketplace suggestions core behaviour.
WC_Marketplace_Updater
Marketplace Suggestions Updater
WC_Meta_Box_Coupon_Data
WC_Meta_Box_Coupon_Data Class.
WC_Meta_Box_Order_Actions
WC_Meta_Box_Order_Actions Class.
WC_Meta_Box_Order_Data
WC_Meta_Box_Order_Data Class.
WC_Meta_Box_Order_Downloads
WC_Meta_Box_Order_Downloads Class.
WC_Meta_Box_Order_Items
WC_Meta_Box_Order_Items Class.
WC_Meta_Box_Order_Notes
WC_Meta_Box_Order_Notes Class.
WC_Meta_Box_Product_Categories
WC_Meta_Box_Product_Categories Class.
WC_Meta_Box_Product_Data
WC_Meta_Box_Product_Data Class.
WC_Meta_Box_Product_Images
WC_Meta_Box_Product_Images Class.
WC_Meta_Box_Product_Reviews
WC_Meta_Box_Product_Reviews
WC_Meta_Box_Product_Short_Description
WC_Meta_Box_Product_Short_Description Class.
WC_Notes_Refund_Returns
WC_Notes_Refund_Returns.
WC_Notes_Run_Db_Update
WC_Notes_Run_Db_Update.
WC_Plugin_Updates
WC_Admin_Plugin_Updates Class.
WC_Plugins_Screen_Updates
Class WC_Plugins_Screen_Updates
WC_Updates_Screen_Updates
Class WC_Updates_Screen_Updates
WC_Admin_Report
Admin Report.
WC_Report_Coupon_Usage
WC_Report_Coupon_Usage
WC_Report_Customer_List
WC_Report_Customer_List.
WC_Report_Customers
WC_Report_Customers
WC_Report_Downloads
WC_Report_Downloads.
WC_Report_Low_In_Stock
Low stock report class.
WC_Report_Most_Stocked
WC_Report_Most_Stocked.
WC_Report_Out_Of_Stock
WC_Report_Out_Of_Stock class.
WC_Report_Sales_By_Category
WC_Report_Sales_By_Category
WC_Report_Sales_By_Date
WC_Report_Sales_By_Date
WC_Report_Sales_By_Product
WC_Report_Sales_By_Product
WC_Report_Stock
WC_Report_Stock.
WC_Report_Taxes_By_Code
WC_Report_Taxes_By_Code
WC_Report_Taxes_By_Date
WC_Report_Taxes_By_Date
WC_Settings_Accounts
WC_Settings_Accounts.
WC_Settings_Advanced
WC_Settings_Advanced.
WC_Settings_Rest_API
WC_Settings_Rest_API class.
WC_Settings_Emails
WC_Settings_Emails.
WC_Settings_General
WC_Admin_Settings_General.
WC_Settings_Integrations
WC_Settings_Integrations.
WC_Settings_Page
WC_Settings_Page.
WC_Settings_Payment_Gateways
WC_Settings_Payment_Gateways.
WC_Settings_Products
WC_Settings_Products.
WC_Settings_Shipping
WC_Settings_Shipping.
WC_Settings_Tax
WC_Settings_Tax.
WC_Blocks_Utils
Blocks Utility class.
WC_AJAX
WC_Ajax class.
WC_API
WC_API class.
WC_Auth
Auth class.
WC_Autoloader
Autoloader class.
WC_Background_Emailer
WC_Background_Emailer Class.
WC_Background_Updater
WC_Background_Updater Class.
WC_Breadcrumb
Breadcrumb class.
WC_Cache_Helper
WC_Cache_Helper.
WC_Cart_Fees
WC_Cart_Fees class.
WC_Cart_Session
WC_Cart_Session class.
WC_Cart_Totals
WC_Cart_Totals class.
WC_Cart
WC_Cart class.
WC_Checkout
Checkout class.
WC_CLI
CLI class.
WC_Comments
Comments class.
WC_Countries
The WooCommerce countries class stores country/state data.
WC_Coupon
Coupon class.
WC_Customer_Download_Log
Customer download log class.
WC_Customer_Download
Customer download class.
WC_Customer
Customer class.
WC_Data_Exception
Data exception class.
WC_Data_Store
Data store class.
WC_DateTime
Datetime class.
WC_Deprecated_Action_Hooks
Handles deprecation notices and triggering of legacy action hooks.
WC_Deprecated_Filter_Hooks
Handles deprecation notices and triggering of legacy filter hooks
WC_Discounts
Discounts class.
WC_Download_Handler
Download handler class.
WC_Emails
Emails class.
WC_Embed
Embed Class which handles any WooCommerce Products that are embedded on this site or another site.
WC_Form_Handler
WC_Form_Handler class.
WC_Frontend_Scripts
Frontend scripts class.
WC_Geo_IP
WC_Geo_IP Class.
WC_Geo_IP_Record
Geo IP Record class.
WC_Geolite_Integration
Geolite integration class.
WC_Geolocation
WC_Geolocation Class.
WC_HTTPS
WC_HTTPS class.
WC_Install
WC_Install Class.
WC_Integrations
Integrations class.
WC_Log_Levels
Log levels class.
WC_Logger
WC_Logger class.
WC_Meta_Data
Meta data class.
WC_Order_Factory
Order factory class
WC_Order_Item_Coupon
Order item coupon class.
WC_Order_Item_Fee
Order item fee.
WC_Order_Item_Meta
Order item meta class.
WC_Order_Item_Product
Order item product class.
WC_Order_Item_Shipping
Order item shipping class.
WC_Order_Item_Tax
Order item tax.
WC_Order_Item
Order item class.
WC_Order_Query
Order query class.
WC_Order_Refund
Order refund class.
WC_Order
Order Class.
WC_Payment_Gateways
Payment gateways class.
WC_Payment_Tokens
Payment tokens class.
WC_Post_Data
Post data class.
WC_Post_Types
Post types Class.
WC_Privacy_Background_Process
WC_Privacy_Background_Process class.
WC_Privacy_Erasers
WC_Privacy_Erasers Class.
WC_Privacy_Exporters
WC_Privacy_Exporters Class.
WC_Privacy
WC_Privacy Class.
WC_Product_Attribute
Product attribute class.
WC_Product_Download
Product download class.
WC_Product_External
Product external class.
WC_Product_Factory
Product factory class.
WC_Product_Grouped
Product grouped class.
WC_Product_Query
Product query class.
WC_Product_Simple
Simple product class.
WC_Product_Variable
Variable product class.
WC_Product_Variation
Product variation class.
WC_Query
WC_Query Class.
WC_Rate_Limiter
Rate limit class.
WC_Regenerate_Images_Request
Class that extends WC_Background_Process to process image regeneration in the background.
WC_Regenerate_Images
Regenerate Images Class
WC_Register_WP_Admin_Settings
Register WP admin settings class.
WC_REST_Authentication
REST API authentication class.
WC_REST_Exception
WC_REST_Exception class.
WC_Session_Handler
Session handler class.
WC_Shipping_Rate
Shipping rate class.
WC_Shipping_Zone
WC_Shipping_Zone class.
WC_Shipping_Zones
Shipping zones class.
WC_Shipping
Shipping class.
WC_Shortcodes
WooCommerce Shortcodes class.
WC_Structured_Data
Structured data class.
WC_Tax
Performs tax calculations and loads tax rates
WC_Template_Loader
Template loader class.
WC_Tracker
WooCommerce Tracker Class
WC_Validation
Validation class.
WC_Webhook
Webhook class.
WooCommerce
Main WooCommerce Class.
WC_CLI_COM_Command
Allows to interact with extensions from WCCOM marketplace via CLI.
WC_CLI_COM_Extension_Command
Allows to interact with extensions from WCCOM marketplace via CLI.
WC_CLI_REST_Command
Main Command for WooCommerce CLI.
WC_CLI_Runner
WC API to WC CLI Bridge.
WC_CLI_Tool_Command
Hooks up our system status tools to the CLI.
WC_CLI_Tracker_Command
Allows access to tracker snapshot for transparency and debugging.
WC_CLI_Update_Command
Allows updates via CLI.
WC_Customizer_Control_Cropping
WC_Customizer_Control_Cropping class.
WC_Shop_Customizer
WC_Shop_Customizer class.
Abstract_WC_Order_Data_Store_CPT
Abstract Order Data Store: Stored in CPT.
Abstract_WC_Order_Item_Type_Data_Store
WC Order Item Data Store
WC_Coupon_Data_Store_CPT
WC Coupon Data Store: Custom Post Type.
WC_Customer_Data_Store_Session
WC Customer Data Store which stores the data in session.
WC_Customer_Data_Store
WC Customer Data Store.
WC_Customer_Download_Data_Store
WC Customer Download Data Store.
WC_Customer_Download_Log_Data_Store
WC_Customer_Download_Log_Data_Store class.
WC_Data_Store_WP
WC_Data_Store_WP class.
WC_Order_Data_Store_CPT
WC Order Data Store: Stored in CPT.
WC_Order_Item_Coupon_Data_Store
WC Order Item Coupon Data Store
WC_Order_Item_Data_Store
WC Order Item Data Store: Misc Order Item Data functions.
WC_Order_Item_Fee_Data_Store
WC Order Item Fee Data Store
WC_Order_Item_Product_Data_Store
WC Order Item Product Data Store
WC_Order_Item_Shipping_Data_Store
WC_Order_Item_Shipping_Data_Store class.
WC_Order_Item_Tax_Data_Store
WC Order Item Tax Data Store
WC_Order_Refund_Data_Store_CPT
WC Order Refund Data Store: Stored in CPT.
WC_Payment_Token_Data_Store
WC Payment Token Data Store: Custom Table.
WC_Product_Data_Store_CPT
WC Product Data Store: Stored in CPT.
WC_Product_Grouped_Data_Store_CPT
WC Grouped Product Data Store: Stored in CPT.
WC_Product_Variable_Data_Store_CPT
WC Variable Product Data Store: Stored in CPT.
WC_Product_Variation_Data_Store_CPT
WC Variation Product Data Store: Stored in CPT.
WC_Shipping_Zone_Data_Store
WC Shipping Zone Data Store.
WC_Webhook_Data_Store
Webhook data store class.
WC_Email_Cancelled_Order
Cancelled Order Email.
WC_Email_Customer_Completed_Order
Customer Completed Order Email.
WC_Email_Customer_Invoice
Customer Invoice.
WC_Email_Customer_New_Account
Customer New Account.
WC_Email_Customer_Note
Customer Note Order Email.
WC_Email_Customer_On_Hold_Order
Customer On-hold Order Email.
WC_Email_Customer_Processing_Order
Customer Processing Order Email.
WC_Email_Customer_Refunded_Order
Customer Refunded Order Email.
WC_Email_Customer_Reset_Password
Customer Reset Password.
WC_Email_Failed_Order
Failed Order Email.
WC_Email_New_Order
New Order Email.
WC_Email
Email Class
WC_CSV_Batch_Exporter
WC_CSV_Exporter Class.
WC_CSV_Exporter
WC_CSV_Exporter Class.
WC_Product_CSV_Exporter
WC_Product_CSV_Exporter Class.
WC_Gateway_BACS
Bank Transfer Payment Gateway.
WC_Gateway_Cheque
Cheque Payment Gateway.
WC_Payment_Gateway_CC
Credit Card Payment Gateway
WC_Payment_Gateway_ECheck
Class for eCheck Payment Gateway
WC_Gateway_COD
Cash on Delivery Gateway.
WC_Gateway_Paypal
WC_Gateway_Paypal Class.
WC_Gateway_Paypal_API_Handler
Handles Refunds and other API requests such as capture.
WC_Gateway_Paypal_Refund
Here for backwards compatibility.
WC_Gateway_Paypal_IPN_Handler
WC_Gateway_Paypal_IPN_Handler class.
WC_Gateway_Paypal_PDT_Handler
Handle PDT Responses from PayPal.
WC_Gateway_Paypal_Request
Generates requests to send to PayPal.
WC_Gateway_Paypal_Response
Handles Responses.
WC_Product_Importer
WC_Product_Importer Class.
WC_Product_CSV_Importer
WC_Product_CSV_Importer Class.
WC_Integration_MaxMind_Database_Service
The service class responsible for interacting with MaxMind databases.
WC_Integration_MaxMind_Geolocation
WC Integration MaxMind Geolocation
WC_Abstract_Legacy_Order
Legacy Abstract Order
WC_Legacy_Payment_Token
Legacy Payment Tokens.
WC_Abstract_Legacy_Product
Legacy Abstract Product
WC_Legacy_API
Legacy API.
WC_Legacy_Cart
Legacy cart class.
WC_Legacy_Coupon
Legacy Coupon.
WC_Legacy_Customer
Legacy Customer.
WC_Legacy_Shipping_Zone
Legacy Shipping Zone.
WC_Legacy_Webhook
Legacy Webhook class.
WC_Log_Handler_DB
Handles log entries by writing to database.
WC_Log_Handler_Email
Handles log entries by sending an email.
WC_Log_Handler_File
Handles log entries by writing to a file.
WC_Payment_Token_CC
WooCommerce Credit Card Payment Token.
WC_Payment_Token_ECheck
WooCommerce eCheck Payment Token.
WC_Action_Queue
WC Action Queue
WC_Queue
WC Queue
WC_REST_Telemetry_Controller
Telemetry controller class.
WC_REST_Coupons_V1_Controller
REST API Coupons controller class.
WC_REST_Customer_Downloads_V1_Controller
REST API Customers controller class.
WC_REST_Customers_V1_Controller
REST API Customers controller class.
WC_REST_Order_Notes_V1_Controller
REST API Order Notes controller class.
WC_REST_Order_Refunds_V1_Controller
REST API Order Refunds controller class.
WC_REST_Orders_V1_Controller
REST API Orders controller class.
WC_REST_Product_Attribute_Terms_V1_Controller
REST API Product Attribute Terms controller class.
WC_REST_Product_Attributes_V1_Controller
REST API Product Attributes controller class.
WC_REST_Product_Categories_V1_Controller
REST API Product Categories controller class.
WC_REST_Product_Reviews_V1_Controller
REST API Product Reviews Controller Class.
WC_REST_Product_Shipping_Classes_V1_Controller
REST API Product Shipping Classes controller class.
WC_REST_Product_Tags_V1_Controller
REST API Product Tags controller class.
WC_REST_Products_V1_Controller
REST API Products controller class.
WC_REST_Report_Sales_V1_Controller
REST API Report Sales controller class.
WC_REST_Report_Top_Sellers_V1_Controller
REST API Report Top Sellers controller class.
WC_REST_Reports_V1_Controller
REST API Reports controller class.
WC_REST_Tax_Classes_V1_Controller
REST API Tax Classes controller class.
WC_REST_Taxes_V1_Controller
REST API Taxes controller class.
WC_REST_Webhook_Deliveries_V1_Controller
REST API Webhook Deliveries controller class.
WC_REST_Webhooks_V1_Controller
REST API Webhooks controller class.
WC_REST_Coupons_V2_Controller
REST API Coupons controller class.
WC_REST_Customer_Downloads_V2_Controller
REST API Customers controller class.
WC_REST_Customers_V2_Controller
REST API Customers controller class.
WC_REST_Network_Orders_V2_Controller
REST API Network Orders controller class.
WC_REST_Order_Notes_V2_Controller
REST API Order Notes controller class.
WC_REST_Order_Refunds_V2_Controller
REST API Order Refunds controller class.
WC_REST_Orders_V2_Controller
REST API Orders controller class.
WC_REST_Payment_Gateways_V2_Controller
Paymenga gateways controller class.
WC_REST_Product_Attribute_Terms_V2_Controller
REST API Product Attribute Terms controller class.
WC_REST_Product_Attributes_V2_Controller
REST API Product Attributes controller class.
WC_REST_Product_Categories_V2_Controller
REST API Product Categories controller class.
WC_REST_Product_Reviews_V2_Controller
REST API Product Reviews Controller Class.
WC_REST_Product_Shipping_Classes_V2_Controller
REST API Product Shipping Classes controller class.
WC_REST_Product_Tags_V2_Controller
REST API Product Tags controller class.
WC_REST_Product_Variations_V2_Controller
REST API variations controller class.
WC_REST_Products_V2_Controller
REST API Products controller class.
WC_REST_Report_Sales_V2_Controller
REST API Report Sales controller class.
WC_REST_Report_Top_Sellers_V2_Controller
REST API Report Top Sellers controller class.
WC_REST_Reports_V2_Controller
REST API Reports controller class.
WC_REST_Setting_Options_V2_Controller
REST API Setting Options controller class.
WC_REST_Settings_V2_Controller
REST API Settings controller class.
WC_REST_Shipping_Methods_V2_Controller
Shipping methods controller class.
WC_REST_Shipping_Zone_Locations_V2_Controller
REST API Shipping Zone Locations class.
WC_REST_Shipping_Zone_Methods_V2_Controller
REST API Shipping Zone Methods class.
WC_REST_Shipping_Zones_V2_Controller
REST API Shipping Zones class.
WC_REST_System_Status_Tools_V2_Controller
System status tools controller.
WC_REST_System_Status_V2_Controller
System status controller class.
WC_REST_Tax_Classes_V2_Controller
REST API Tax Classes controller class.
WC_REST_Taxes_V2_Controller
REST API Taxes controller class.
WC_REST_Webhook_Deliveries_V2_Controller
REST API Webhook Deliveries controller class.
WC_REST_Webhooks_V2_Controller
REST API Webhooks controller class.
WC_REST_Controller
Abstract Rest Controller Class
WC_REST_Coupons_Controller
REST API Coupons controller class.
WC_REST_CRUD_Controller
WC_REST_CRUD_Controller class.
WC_REST_Customer_Downloads_Controller
REST API Customers controller class.
WC_REST_Customers_Controller
REST API Customers controller class.
WC_REST_Data_Continents_Controller
REST API Data continents controller class.
WC_REST_Data_Controller
REST API Data controller class.
WC_REST_Data_Countries_Controller
REST API Data countries controller class.
WC_REST_Data_Currencies_Controller
REST API Data Currencies controller class.
WC_REST_Network_Orders_Controller
REST API Network Orders controller class.
WC_REST_Order_Notes_Controller
REST API Order Notes controller class.
WC_REST_Order_Refunds_Controller
REST API Order Refunds controller class.
WC_REST_Orders_Controller
REST API Orders controller class.
WC_REST_Payment_Gateways_Controller
Paymenga gateways controller class.
WC_REST_Posts_Controller
WC_REST_Posts_Controller
WC_REST_Product_Attribute_Terms_Controller
REST API Product Attribute Terms controller class.
WC_REST_Product_Attributes_Controller
REST API Product Attributes controller class.
WC_REST_Product_Categories_Controller
REST API Product Categories controller class.
WC_REST_Product_Reviews_Controller
REST API Product Reviews Controller Class.
WC_REST_Product_Shipping_Classes_Controller
REST API Product Shipping Classes controller class.
WC_REST_Product_Tags_Controller
REST API Product Tags controller class.
WC_REST_Product_Variations_Controller
REST API variations controller class.
WC_REST_Products_Controller
REST API Products controller class.
WC_REST_Report_Coupons_Totals_Controller
REST API Reports Coupons Totals controller class.
WC_REST_Report_Customers_Totals_Controller
REST API Reports Customers Totals controller class.
WC_REST_Report_Orders_Totals_Controller
REST API Reports Orders Totals controller class.
WC_REST_Report_Products_Totals_Controller
REST API Reports Products Totals controller class.
WC_REST_Report_Reviews_Totals_Controller
REST API Reports Reviews Totals controller class.
WC_REST_Report_Sales_Controller
REST API Report Sales controller class.
WC_REST_Report_Top_Sellers_Controller
REST API Report Top Sellers controller class.
WC_REST_Reports_Controller
REST API Reports controller class.
WC_REST_Setting_Options_Controller
REST API Setting Options controller class.
WC_REST_Settings_Controller
REST API Settings controller class.
WC_REST_Shipping_Methods_Controller
Shipping methods controller class.
WC_REST_Shipping_Zone_Locations_Controller
REST API Shipping Zone Locations class.
WC_REST_Shipping_Zone_Methods_Controller
REST API Shipping Zone Methods class.
WC_REST_Shipping_Zones_Controller_Base
REST API Shipping Zones base class.
WC_REST_Shipping_Zones_Controller
REST API Shipping Zones class.
WC_REST_System_Status_Controller
System status controller class.
WC_REST_System_Status_Tools_Controller
System status tools controller.
WC_REST_Tax_Classes_Controller
REST API Tax Classes controller class.
WC_REST_Taxes_Controller
REST API Taxes controller class.
WC_REST_Terms_Controller
Terms controller class.
WC_REST_Webhooks_Controller
REST API Webhooks controller class.
WC_Shipping_Flat_Rate
WC_Shipping_Flat_Rate class.
WC_Shipping_Free_Shipping
Free Shipping Method.
WC_Shipping_Legacy_Flat_Rate
Flat Rate Shipping Method.
WC_Shipping_Legacy_Free_Shipping
Free Shipping Method.
WC_Shipping_Legacy_International_Delivery
International Delivery - Based on the Flat Rate Shipping Method.
WC_Shipping_Legacy_Local_Delivery
Local Delivery Shipping Method.
WC_Shipping_Legacy_Local_Pickup
Local Pickup Shipping Method.
WC_Shipping_Local_Pickup
Local Pickup Shipping Method.
WC_Shortcode_Cart
Shortcode cart class.
WC_Shortcode_Checkout
Shortcode checkout class.
WC_Shortcode_My_Account
Shortcode my account class.
WC_Shortcode_Order_Tracking
Shortcode order tracking class.
WC_Shortcode_Products
Products shortcode class.
WC_Twenty_Eleven
WC_Twenty_Eleven class.
WC_Twenty_Fifteen
WC_Twenty_Fifteen class.
WC_Twenty_Fourteen
WC_Twenty_Fourteen class.
WC_Twenty_Nineteen
WC_Twenty_Nineteen class.
WC_Twenty_Seventeen
WC_Twenty_Seventeen class.
WC_Twenty_Sixteen
WC_Twenty_Sixteen class.
WC_Twenty_Ten
WC_Twenty_Ten class.
WC_Twenty_Thirteen
WC_Twenty_Thirteen class.
WC_Twenty_Twelve
WC_Twenty_Twelve class.
WC_Twenty_Twenty_One
WC_Twenty_Twenty_One class.
WC_Twenty_Twenty_Three
WC_Twenty_Twenty_Three class.
WC_Twenty_Twenty_Two
WC_Twenty_Twenty_One class.
WC_Twenty_Twenty
WC_Twenty_Twenty class.
WC_Site_Tracking
This class adds actions to track usage of WooCommerce.
WC_Tracks_Client
WC_Tracks_Client class.
WC_Tracks_Event
WC_Tracks_Event class.
WC_Tracks_Footer_Pixel
WC_Tracks_Footer_Pixel class.
WC_Tracks
WC_Tracks class.
WC_Admin_Setup_Wizard_Tracking
This class adds actions to track usage of the WooCommerce Onboarding Wizard.
WC_Coupon_Tracking
This class adds actions to track usage of a WooCommerce Coupon.
WC_Coupons_Tracking
This class adds actions to track usage of WooCommerce Orders.
WC_Extensions_Tracking
This class adds actions to track usage of the WooCommerce Extensions page.
WC_Importer_Tracking
This class adds actions to track usage of WooCommerce Imports.
WC_Order_Tracking
This class adds actions to track usage of a WooCommerce Order.
WC_Orders_Tracking
This class adds actions to track usage of WooCommerce Orders.
WC_Products_Tracking
This class adds actions to track usage of WooCommerce Products.
WC_Settings_Tracking
This class adds actions to track usage of WooCommerce Settings.
WC_Status_Tracking
This class adds actions to track usage of WooCommerce Orders.
WC_Theme_Tracking
This class adds actions to track usage of themes on a WooCommerce store.
WC_Product_Cat_Dropdown_Walker
Product category dropdown walker class.
WC_Product_Cat_List_Walker
Product cat list walker class.
WC_WCCOM_Site_Installer_Requirements_Check
WC_WCCOM_Site_Installer_Requirements_Check Class Contains functionality to check the necessary requirements for the installer.
WC_WCCOM_Site_Installer
WC_WCCOM_Site_Installer Class
WC_WCCOM_Site
WC_WCCOM_Site Class
WC_WCCOM_Site_Installation_Manager
WC_WCCOM_Site_Installation_Manager class
WC_WCCOM_Site_Installation_State_Storage
WC_WCCOM_Site_Installation_State_Storage class
WC_WCCOM_Site_Installation_State
WC_WCCOM_Site_Installation_State class
WC_WCCOM_Site_Installation_Step_Activate_Product
WC_WCCOM_Site_Installation_Step_Activate_Product Class
WC_WCCOM_Site_Installation_Step_Download_Product
WC_WCCOM_Site_Installation_Step_Download_Product class
WC_WCCOM_Site_Installation_Step_Get_Product_Info
WC_WCCOM_Site_Installation_Step_Get_Product_Info class
WC_WCCOM_Site_Installation_Step_Move_Product
WC_WCCOM_Site_Installation_Step_Move_Product class
WC_WCCOM_Site_Installation_Step_Unpack_Product
WC_WCCOM_Site_Installation_Step_Unpack_Product class
WC_REST_WCCOM_Site_Installer_Error_Codes
WCCOM Site Installer Error Codes Class
WC_REST_WCCOM_Site_Installer_Error
WCCOM Site Installer Error Class
WC_REST_WCCOM_Site_Installer_Controller_V2
REST API WCCOM Site Installer Controller Class.
WC_REST_WCCOM_Site_Installer_Controller
REST API WCCOM Site Installer Controller Class.
WC_REST_WCCOM_Site_SSR_Controller
REST API WCCOM System Status Report Controller Class.
WC_Widget_Cart
Widget cart class.
WC_Widget_Layered_Nav_Filters
Widget layered nav filters.
WC_Widget_Layered_Nav
Widget layered nav class.
WC_Widget_Price_Filter
Widget price filter class.
WC_Widget_Product_Categories
Product categories widget class.
WC_Widget_Product_Search
Widget product search class.
WC_Widget_Product_Tag_Cloud
Widget product tag cloud
WC_Widget_Products
Widget products.
WC_Widget_Rating_Filter
Widget rating filter class.
WC_Widget_Recent_Reviews
Widget recent reviews class.
WC_Widget_Recently_Viewed
Widget recently viewed.
WC_Widget_Top_Rated_Products
Widget top rated products class.
WC_Item_Totals
Trait WC_Item_Totals.

Table of Contents

wc_importer_current_locale()  : string
Importer current locale.
wc_importer_default_english_mappings()  : array<string|int, mixed>
Add English mapping placeholders when not using English as current language.
wc_importer_default_special_english_mappings()  : array<string|int, mixed>
Add English special mapping placeholders when not using English as current language.
wc_importer_generic_mappings()  : array<string|int, mixed>
Add generic mappings.
wc_importer_shopify_mappings()  : array<string|int, mixed>
Add Shopify mappings.
wc_importer_shopify_special_mappings()  : array<string|int, mixed>
Add special wildcard Shopify mappings.
wc_importer_shopify_expand_data()  : array<string|int, mixed>
Expand special Shopify columns to WC format.
wc_importer_wordpress_mappings()  : array<string|int, mixed>
Add mappings for WordPress tables.
wc_get_screen_ids()  : array<string|int, mixed>
Get all WooCommerce screen ids.
wc_get_page_screen_id()  : string
Get page ID for a specific WC resource.
wc_create_page()  : int
Create a page and store the ID in an option.
woocommerce_admin_fields()  : mixed
Output admin fields.
woocommerce_update_options()  : mixed
Update all settings which are passed.
woocommerce_settings_get_option()  : string
Get a setting from the settings API.
wc_maybe_adjust_line_item_product_stock()  : bool|array<string|int, mixed>|WP_Error
Sees if line item stock has already reduced stock, and whether those values need adjusting e.g. after changing item qty.
wc_save_order_items()  : mixed
Save order items. Uses the CRUD.
wc_render_action_buttons()  : string
Get HTML for some action buttons. Used in list tables.
wc_render_invalid_variation_notice()  : mixed
Shows a notice if variations are missing prices.
woocommerce_wp_text_input()  : mixed
Output a text input box.
woocommerce_wp_hidden_input()  : mixed
Output a hidden input box.
woocommerce_wp_textarea_input()  : mixed
Output a textarea input box.
woocommerce_wp_checkbox()  : mixed
Output a checkbox input box.
woocommerce_wp_select()  : mixed
Output a select input box.
woocommerce_wp_radio()  : mixed
Output a radio input box.
woocommerce_wp_note()  : mixed
Output a note.
wc_admin_get_core_pages_to_connect()  : array<string|int, mixed>
Returns core WC pages to connect to WC-Admin.
wc_admin_filter_core_page_breadcrumbs()  : array<string|int, mixed>
Filter breadcrumbs for core pages that aren't explicitly connected.
wc_admin_connect_core_pages()  : bool
Render the WC-Admin header bar on all WooCommerce core pages.
wc_admin_number_format()  : string
Format a number using the decimal and thousands separator settings in WooCommerce.
wc_admin_url()  : string
Retrieves a URL to relative path inside WooCommerce admin with the provided query parameters.
wc_admin_get_feature_config()  : mixed
wc_admin_connect_page()  : mixed
Connect an existing page to WooCommerce Admin.
wc_admin_register_page()  : mixed
Register JS-powered WooCommerce Admin Page.
wc_admin_is_connected_page()  : bool
Is this page connected to WooCommerce Admin? Passthrough to PageController::is_connected_page().
wc_admin_is_registered_page()  : bool
Is this a WooCommerce Admin Page? Passthrough to PageController::is_registered_page().
wc_admin_get_breadcrumbs()  : array<string|int, mixed>
Get breadcrumbs for WooCommerce Admin Page navigation.
wc_admin_update_0201_order_status_index()  : mixed
Update order stats `status` index length.
wc_admin_update_0230_rename_gross_total()  : mixed
Rename "gross_total" to "total_sales".
wc_admin_update_0251_remove_unsnooze_action()  : mixed
Remove the note unsnoozing scheduled action.
wc_admin_update_110_remove_facebook_note()  : mixed
Remove Facebook Extension note.
wc_admin_update_130_remove_dismiss_action_from_tracking_opt_in_note()  : mixed
Remove Dismiss action from tracking opt-in admin note.
wc_admin_update_130_db_version()  : mixed
Update DB Version.
wc_admin_update_140_db_version()  : mixed
Update DB Version.
wc_admin_update_160_remove_facebook_note()  : mixed
Remove Facebook Experts note.
wc_admin_update_170_homescreen_layout()  : mixed
Set "two column" homescreen layout as default for existing stores.
wc_admin_update_270_delete_report_downloads()  : mixed
Delete the preexisting export files.
wc_admin_update_271_update_task_list_options()  : mixed
Update the old task list options.
wc_admin_update_280_order_status()  : mixed
Update order stats `status`.
wc_admin_update_290_update_apperance_task_option()  : mixed
Update the old task list options.
wc_admin_update_290_delete_default_homepage_layout_option()  : mixed
Delete the old woocommerce_default_homepage_layout option.
wc_admin_update_300_update_is_read_from_last_read()  : mixed
Use woocommerce_admin_activity_panel_inbox_last_read from the user meta to set wc_admin_notes.is_read col.
wc_admin_update_340_remove_is_primary_from_note_action()  : mixed
Delete "is_primary" column from the wc_admin_notes table.
wc_update_670_delete_deprecated_remote_inbox_notifications_option()  : mixed
Delete the deprecated remote inbox notifications option since transients are now used.
wc_lostpassword_url()  : string
Returns the url to the lost password endpoint url.
wc_customer_edit_account_url()  : string
Get the link to the edit account details page.
wc_edit_address_i18n()  : string
Get the edit address slug translation.
wc_get_account_menu_items()  : array<string|int, mixed>
Get My Account menu items.
wc_get_account_menu_item_classes()  : string
Get account menu item classes.
wc_get_account_endpoint_url()  : string
Get account endpoint URL.
wc_get_account_orders_columns()  : array<string|int, mixed>
Get My Account > Orders columns.
wc_get_account_downloads_columns()  : array<string|int, mixed>
Get My Account > Downloads columns.
wc_get_account_payment_methods_columns()  : array<string|int, mixed>
Get My Account > Payment methods columns.
wc_get_account_payment_methods_types()  : array<string|int, mixed>
Get My Account > Payment methods types
wc_get_account_orders_actions()  : array<string|int, mixed>
Get account orders actions.
wc_get_account_formatted_address()  : string
Get account formatted address.
wc_get_account_saved_payment_methods_list()  : array<string|int, mixed>
Returns an array of a user's saved payments list for output on the account tab.
wc_get_account_saved_payment_methods_list_item_cc()  : array<string|int, mixed>
Controls the output for credit cards on the my account page.
wc_get_account_saved_payment_methods_list_item_echeck()  : array<string|int, mixed>
Controls the output for eChecks on the my account page.
wc_get_text_attributes()  : array<string|int, mixed>
Gets text attributes from a string.
wc_get_text_attributes_filter_callback()  : bool
See if an attribute is actually valid.
wc_implode_text_attributes()  : string
Implode an array of attributes using WC_DELIMITER.
wc_get_attribute_taxonomies()  : array<string|int, mixed>
Get attribute taxonomies.
wc_get_attribute_taxonomy_ids()  : array<string|int, mixed>
Get (cached) attribute taxonomy ID and name pairs.
wc_get_attribute_taxonomy_labels()  : array<string|int, mixed>
Get (cached) attribute taxonomy label and name pairs.
wc_attribute_taxonomy_name()  : string
Get a product attribute name.
wc_variation_attribute_name()  : string
Get the attribute name used when storing values in post meta.
wc_attribute_taxonomy_name_by_id()  : string
Get a product attribute name by ID.
wc_attribute_taxonomy_id_by_name()  : int
Get a product attribute ID by name.
wc_attribute_label()  : string
Get a product attributes label.
wc_attribute_orderby()  : string
Get a product attributes orderby setting.
wc_get_attribute_taxonomy_names()  : array<string|int, mixed>
Get an array of product attribute taxonomies.
wc_get_attribute_types()  : array<string|int, mixed>
Get attribute types.
wc_has_custom_attribute_types()  : bool
Check if there are custom attribute types.
wc_get_attribute_type_label()  : string
Get attribute type label.
wc_check_if_attribute_name_is_reserved()  : bool
Check if attribute name is reserved.
wc_attributes_array_filter_visible()  : bool
Callback for array filter to get visible only.
wc_attributes_array_filter_variation()  : bool
Callback for array filter to get variation attributes only.
wc_is_attribute_in_product_name()  : bool
Check if an attribute is included in the attributes area of a variation name.
wc_array_filter_default_attributes()  : bool
Callback for array filter to get default attributes. Will allow for '0' string values, but regard all other class PHP FALSE equivalents normally.
wc_get_attribute()  : stdClass|null
Get attribute data by ID.
wc_create_attribute()  : int|WP_Error
Create attribute.
wc_update_attribute()  : int|WP_Error
Update an attribute.
wc_delete_attribute()  : bool
Delete attribute by ID.
wc_attribute_taxonomy_slug()  : string
Get an unprefixed product attribute name.
wc_protected_product_add_to_cart()  : bool
Prevent password protected products being added to the cart.
wc_empty_cart()  : mixed
Clears the cart session when called.
wc_load_persistent_cart()  : mixed
Load the persistent cart.
wc_get_raw_referer()  : string|false
Retrieves unvalidated referer from '_wp_http_referer' or HTTP referer.
wc_add_to_cart_message()  : mixed
Add to cart messages.
wc_format_list_of_items()  : string
Comma separate a list of item names, and replace final comma with 'and'.
wc_clear_cart_after_payment()  : mixed
Clear cart after payment.
wc_cart_totals_subtotal_html()  : mixed
Get the subtotal.
wc_cart_totals_shipping_html()  : mixed
Get shipping methods.
wc_cart_totals_taxes_total_html()  : mixed
Get taxes total.
wc_cart_totals_coupon_label()  : string
Get a coupon label.
wc_cart_totals_coupon_html()  : mixed
Get coupon display HTML.
wc_cart_totals_order_total_html()  : mixed
Get order total html including inc tax if needed.
wc_cart_totals_fee_html()  : mixed
Get the fee value.
wc_cart_totals_shipping_method_label()  : string
Get a shipping methods full label including price.
wc_cart_round_discount()  : float
Round discount.
wc_get_chosen_shipping_method_ids()  : array<string|int, string>
Gets chosen shipping method IDs from chosen_shipping_methods session, without instance IDs.
wc_get_chosen_shipping_method_for_package()  : string|bool
Get chosen method for package from session.
wc_get_default_shipping_method_for_package()  : string
Choose the default method for a package.
wc_shipping_methods_have_changed()  : bool
See if the methods have changed since the last request.
wc_get_cart_item_data_hash()  : string
Gets a hash of important product data that when changed should cause cart items to be invalidated.
is_woocommerce()  : bool
Is_woocommerce - Returns true if on a page which uses WooCommerce templates (cart and checkout are standard pages with shortcodes and thus are not included).
is_shop()  : bool
Is_shop - Returns true when viewing the product type archive (shop).
is_product_taxonomy()  : bool
Is_product_taxonomy - Returns true when viewing a product taxonomy archive.
is_product_category()  : bool
Is_product_category - Returns true when viewing a product category.
is_product_tag()  : bool
Is_product_tag - Returns true when viewing a product tag.
is_product()  : bool
Is_product - Returns true when viewing a single product.
is_cart()  : bool
Is_cart - Returns true when viewing the cart page.
is_checkout()  : bool
Is_checkout - Returns true when viewing the checkout page.
is_checkout_pay_page()  : bool
Is_checkout_pay - Returns true when viewing the checkout's pay page.
is_wc_endpoint_url()  : bool
Is_wc_endpoint_url - Check if an endpoint is showing.
is_account_page()  : bool
Is_account_page - Returns true when viewing an account page.
is_view_order_page()  : bool
Is_view_order_page - Returns true when on the view order page.
is_edit_account_page()  : bool
Check for edit account page.
is_order_received_page()  : bool
Is_order_received_page - Returns true when viewing the order received page.
is_add_payment_method_page()  : bool
Is_add_payment_method_page - Returns true when viewing the add payment method page.
is_lost_password_page()  : bool
Is_lost_password_page - Returns true when viewing the lost password page.
is_ajax()  : bool
Is_ajax - Returns true when the page is loaded via ajax.
is_store_notice_showing()  : bool
Is_store_notice_showing - Returns true when store notice is active.
is_filtered()  : bool
Is_filtered - Returns true when filtering products using layered nav or price sliders.
taxonomy_is_product_attribute()  : bool
Returns true when the passed taxonomy name is a product attribute.
meta_is_product_attribute()  : bool
Returns true when the passed meta name is a product attribute.
wc_tax_enabled()  : bool
Are store-wide taxes enabled?
wc_shipping_enabled()  : bool
Is shipping enabled?
wc_prices_include_tax()  : bool
Are prices inclusive of tax?
wc_is_valid_url()  : bool
Simple check for validating a URL, it must start with http:// or https://.
wc_site_is_https()  : bool
Check if the home URL is https. If it is, we don't need to do things such as 'force ssl'.
wc_checkout_is_https()  : bool
Check if the checkout is configured for https. Look at options, WP HTTPS plugin, or the permalink itself.
wc_post_content_has_shortcode()  : bool
Checks whether the content passed contains a specific short code.
wc_reviews_enabled()  : bool
Check if reviews are enabled.
wc_review_ratings_enabled()  : bool
Check if reviews ratings are enabled.
wc_review_ratings_required()  : bool
Check if review ratings are required.
wc_is_file_valid_csv()  : bool
Check if a CSV file is valid.
wc_current_theme_is_fse_theme()  : bool
Check if the current theme is a block theme.
wc_current_theme_supports_woocommerce_or_fse()  : bool
Check if the current theme has WooCommerce support or is a FSE theme.
wc_wp_theme_get_element_class_name()  : string
Given an element name, returns a class name.
wc_block_theme_has_styles_for_element()  : bool
Given an element name, returns true or false depending on whether the current theme has styles for that element defined in theme.json.
wc_maybe_define_constant()  : mixed
Define a constant if it is not already defined.
wc_create_order()  : WC_Order|WP_Error
Create a new order programmatically.
wc_update_order()  : WC_Order|WP_Error
Update an order. Uses wc_create_order.
wc_tokenize_path()  : string
Given a path, this will convert any of the subpaths into their corresponding tokens.
wc_untokenize_path()  : string
Given a tokenized path, this will expand the tokens to their full path.
wc_get_path_define_tokens()  : array<string|int, mixed>
Fetches an array containing all of the configurable path constants to be used in tokenization.
wc_get_template_part()  : mixed
Get template part (for templates like the shop-loop).
wc_get_template()  : mixed
Get other templates (e.g. product attributes) passing attributes and including the file.
wc_get_template_html()  : string
Like wc_get_template, but returns the HTML instead of outputting.
wc_locate_template()  : string
Locate a template and return the path for inclusion.
wc_set_template_cache()  : mixed
Add a template to the template cache.
wc_clear_template_cache()  : mixed
Clear the template cache.
get_woocommerce_currency()  : string
Get Base Currency Code.
get_woocommerce_currencies()  : array<string|int, mixed>
Get full list of currency codes.
get_woocommerce_currency_symbols()  : array<string|int, mixed>
Get all available Currency symbols.
get_woocommerce_currency_symbol()  : string
Get Currency symbol.
wc_mail()  : bool
Send HTML emails from WooCommerce.
wc_get_theme_support()  : mixed
Return "theme support" values from the current theme, if set.
wc_get_image_size()  : array<string|int, mixed>
Get an image size by name or defined dimensions.
wc_enqueue_js()  : mixed
Queue some JavaScript code to be output in the footer.
wc_print_js()  : mixed
Output any queued javascript code in the footer.
wc_setcookie()  : mixed
Set a cookie - wrapper for setcookie using WP constants.
get_woocommerce_api_url()  : string
Get the URL to the WooCommerce REST API.
wc_get_log_file_path()  : string
Get a log file path.
wc_get_log_file_name()  : string
Get a log file name.
wc_get_page_children()  : array<string|int, int>
Recursively get page children.
flush_rewrite_rules_on_shop_page_save()  : mixed
Flushes rewrite rules when the shop page (or it's children) gets saved.
wc_fix_rewrite_rules()  : array<string|int, mixed>
Various rewrite rule fixes.
wc_fix_product_attachment_link()  : string
Prevent product attachment links from breaking when using complex rewrite structures.
wc_ms_protect_download_rewite_rules()  : string
Protect downloads from ms-files.php in multisite.
wc_format_country_state_string()  : array<string|int, mixed>
Formats a string in the format COUNTRY:STATE into an array.
wc_get_base_location()  : array<string|int, mixed>
Get the store's base location.
wc_get_customer_default_location()  : array<string|int, mixed>
Get the customer's default location.
wc_get_user_agent()  : string
Get user agent string.
wc_rand_hash()  : string
Generate a rand hash.
wc_api_hash()  : string
WC API - Hash.
wc_array_cartesian()  : array<string|int, mixed>
Find all possible combinations of values from the input array and return in a logical order.
wc_transaction_query()  : mixed
Run a MySQL transaction query, if supported.
wc_get_cart_url()  : string
Gets the url to the cart page.
wc_get_checkout_url()  : string
Gets the url to the checkout page.
woocommerce_register_shipping_method()  : mixed
Register a shipping method.
wc_get_shipping_zone()  : WC_Shipping_Zone
Get the shipping zone matching a given package from the cart.
wc_get_credit_card_type_label()  : string
Get a nice name for credit card providers.
wc_back_link()  : mixed
Outputs a "back" link so admin screens can easily jump back a page.
wc_help_tip()  : string
Display a WooCommerce help tip.
wc_get_wildcard_postcodes()  : array<string|int, string>
Return a list of potential postcodes for wildcard searching.
wc_postcode_location_matcher()  : array<string|int, mixed>
Used by shipping zones and taxes to compare a given $postcode to stored postcodes to find matches for numerical ranges, and wildcards.
wc_get_shipping_method_count()  : int
Gets number of shipping methods currently enabled. Used to identify if shipping is configured.
wc_set_time_limit()  : mixed
Wrapper for set_time_limit to see if it is enabled.
wc_nocache_headers()  : mixed
Wrapper for nocache_headers which also disables page caching.
wc_product_attribute_uasort_comparison()  : int
Used to sort products attributes with uasort.
wc_shipping_zone_method_order_uasort_comparison()  : int
Used to sort shipping zone methods with uasort.
wc_checkout_fields_uasort_comparison()  : int
User to sort checkout fields based on priority with uasort.
wc_uasort_comparison()  : int
User to sort two values with ausort.
wc_ascii_uasort_comparison()  : int
Sort values based on ascii, usefull for special chars in strings.
wc_asort_by_locale()  : array<string|int, mixed>
Sort array according to current locale rules and maintaining index association.
wc_get_tax_rounding_mode()  : int
Get rounding mode for internal tax calculations.
wc_get_rounding_precision()  : int
Get rounding precision for internal WC calculations.
wc_add_number_precision()  : int|float
Add precision to a number by moving the decimal point to the right as many places as indicated by wc_get_price_decimals().
wc_remove_number_precision()  : float
Remove precision from a number and return a float.
wc_add_number_precision_deep()  : int|array<string|int, mixed>
Add precision to an array of number and return an array of int.
wc_remove_number_precision_deep()  : int|array<string|int, mixed>
Remove precision from an array of number and return an array of int.
wc_get_logger()  : WC_Logger
Get a shared logger instance.
wc_cleanup_logs()  : mixed
Trigger logging cleanup using the logging class.
wc_print_r()  : string|bool
Prints human-readable information about a variable.
wc_register_default_log_handler()  : array<string|int, mixed>
Registers the default log handler.
wc_list_pluck()  : array<string|int, mixed>
Based on wp_list_pluck, this calls a method instead of returning a property.
wc_get_permalink_structure()  : array<string|int, mixed>
Get permalink settings for things like products and taxonomies.
wc_switch_to_site_locale()  : mixed
Switch WooCommerce to site language.
wc_restore_locale()  : mixed
Switch WooCommerce language to original.
wc_make_phone_clickable()  : string
Convert plaintext phone number to clickable phone number.
wc_get_post_data_by_key()  : mixed
Get an item of post data if set, otherwise return a default value.
wc_get_var()  : mixed
Get data if set, otherwise return a default value or null. Prevents notices when data is not set.
wc_enable_wc_plugin_headers()  : array<string|int, mixed>
Read in WooCommerce headers when reading plugin headers.
wc_prevent_dangerous_auto_updates()  : bool
Prevent auto-updating the WooCommerce plugin on major releases if there are untested extensions active.
wc_delete_expired_transients()  : int
Delete expired transients.
wc_get_relative_url()  : string
Make a URL relative, if possible.
wc_is_external_resource()  : bool
See if a resource is remote.
wc_is_active_theme()  : bool
See if theme/s is activate or not.
wc_is_wp_default_theme_active()  : bool
Is the site using a default WP theme?
wc_cleanup_session_data()  : mixed
Cleans up session data - cron callback.
wc_decimal_to_fraction()  : array<string|int, mixed>|bool
Convert a decimal (e.g. 3.5) to a fraction (e.g. 7/2).
wc_round_discount()  : float
Round discount.
wc_selected()  : string
Return the html selected attribute if stringified $value is found in array of stringified $options or if stringified $value is the same as scalar stringified $options.
wc_get_server_database_version()  : array<string|int, mixed>
Retrieves the MySQL server version. Based on $wpdb.
wc_load_cart()  : void
Initialize and load the cart functionality.
wc_is_running_from_async_action_scheduler()  : bool
Test whether the context of execution comes from async action scheduler.
wc_cache_get_multiple()  : array<string|int, mixed>|bool
Polyfill for wp_cache_get_multiple for WP versions before 5.5.
wc_get_coupon_types()  : array<string|int, mixed>
Get coupon types.
wc_get_coupon_type()  : string
Get a coupon type's name.
wc_get_product_coupon_types()  : array<string|int, mixed>
Coupon types that apply to individual products. Controls which validation rules will apply.
wc_get_cart_coupon_types()  : array<string|int, mixed>
Coupon types that apply to the cart as a whole. Controls which validation rules will apply.
wc_coupons_enabled()  : bool
Check if coupons are enabled.
wc_get_coupon_code_by_id()  : string
Get coupon code by ID.
wc_get_coupon_id_by_code()  : int
Get coupon ID by code.
wc_do_deprecated_action()  : mixed
Runs a deprecated action with notice only if used.
wc_deprecated_function()  : mixed
Wrapper for deprecated functions so we can apply some extra logic.
wc_deprecated_hook()  : mixed
Wrapper for deprecated hook so we can apply some extra logic.
wc_caught_exception()  : mixed
When catching an exception, this allows us to log it if unexpected.
wc_doing_it_wrong()  : mixed
Wrapper for _doing_it_wrong().
wc_deprecated_argument()  : mixed
Wrapper for deprecated arguments so we can apply some extra logic.
woocommerce_show_messages()  : mixed
woocommerce_weekend_area_js()  : mixed
woocommerce_tooltip_js()  : mixed
woocommerce_datepicker_js()  : mixed
woocommerce_admin_scripts()  : mixed
woocommerce_create_page()  : mixed
woocommerce_readfile_chunked()  : mixed
woocommerce_format_total()  : string
Formal total costs - format to the number of decimal places for the base currency.
woocommerce_get_formatted_product_name()  : string
Get product name with extra details such as SKU price and attributes. Used within admin.
woocommerce_legacy_paypal_ipn()  : mixed
Handle IPN requests for the legacy paypal gateway by calling gateways manually if needed.
get_product()  : mixed
woocommerce_protected_product_add_to_cart()  : mixed
woocommerce_empty_cart()  : mixed
woocommerce_load_persistent_cart()  : mixed
woocommerce_add_to_cart_message()  : mixed
woocommerce_clear_cart_after_payment()  : mixed
woocommerce_cart_totals_subtotal_html()  : mixed
woocommerce_cart_totals_shipping_html()  : mixed
woocommerce_cart_totals_coupon_html()  : mixed
woocommerce_cart_totals_order_total_html()  : mixed
woocommerce_cart_totals_fee_html()  : mixed
woocommerce_cart_totals_shipping_method_label()  : mixed
woocommerce_get_template_part()  : mixed
woocommerce_get_template()  : mixed
woocommerce_locate_template()  : mixed
woocommerce_mail()  : mixed
woocommerce_disable_admin_bar()  : mixed
woocommerce_create_new_customer()  : mixed
woocommerce_set_customer_auth_cookie()  : mixed
woocommerce_update_new_customer_past_orders()  : mixed
woocommerce_paying_customer()  : mixed
woocommerce_customer_bought_product()  : mixed
woocommerce_customer_has_capability()  : mixed
woocommerce_sanitize_taxonomy_name()  : mixed
woocommerce_get_filename_from_url()  : mixed
woocommerce_get_dimension()  : mixed
woocommerce_get_weight()  : mixed
woocommerce_trim_zeros()  : mixed
woocommerce_round_tax_total()  : mixed
woocommerce_format_decimal()  : mixed
woocommerce_clean()  : mixed
woocommerce_array_overlay()  : mixed
woocommerce_price()  : mixed
woocommerce_let_to_num()  : mixed
woocommerce_date_format()  : mixed
woocommerce_time_format()  : mixed
woocommerce_timezone_string()  : mixed
woocommerce_rgb_from_hex()  : mixed
woocommerce_hex_darker()  : mixed
woocommerce_hex_lighter()  : mixed
woocommerce_light_or_dark()  : mixed
woocommerce_format_hex()  : mixed
woocommerce_get_order_id_by_order_key()  : mixed
woocommerce_downloadable_file_permission()  : mixed
woocommerce_downloadable_product_permissions()  : mixed
woocommerce_add_order_item()  : mixed
woocommerce_delete_order_item()  : mixed
woocommerce_update_order_item_meta()  : mixed
woocommerce_add_order_item_meta()  : mixed
woocommerce_delete_order_item_meta()  : mixed
woocommerce_get_order_item_meta()  : mixed
woocommerce_cancel_unpaid_orders()  : mixed
woocommerce_processing_order_count()  : mixed
woocommerce_get_page_id()  : mixed
woocommerce_get_endpoint_url()  : mixed
woocommerce_lostpassword_url()  : mixed
woocommerce_customer_edit_account_url()  : mixed
woocommerce_nav_menu_items()  : mixed
woocommerce_nav_menu_item_classes()  : mixed
woocommerce_list_pages()  : mixed
woocommerce_product_dropdown_categories()  : mixed
woocommerce_walk_category_dropdown_tree()  : mixed
woocommerce_taxonomy_metadata_wpdbfix()  : mixed
wc_taxonomy_metadata_wpdbfix()  : mixed
woocommerce_order_terms()  : mixed
woocommerce_set_term_order()  : mixed
woocommerce_terms_clauses()  : mixed
_woocommerce_term_recount()  : mixed
woocommerce_recount_after_stock_change()  : mixed
woocommerce_change_term_counts()  : mixed
woocommerce_get_product_ids_on_sale()  : mixed
woocommerce_get_featured_product_ids()  : mixed
woocommerce_get_product_terms()  : mixed
woocommerce_product_post_type_link()  : mixed
woocommerce_placeholder_img_src()  : mixed
woocommerce_placeholder_img()  : mixed
woocommerce_get_formatted_variation()  : mixed
woocommerce_scheduled_sales()  : mixed
woocommerce_get_attachment_image_attributes()  : mixed
woocommerce_prepare_attachment_for_js()  : mixed
woocommerce_track_product_view()  : mixed
woocommerce_compile_less_styles()  : mixed
woocommerce_calc_shipping_backwards_compatibility()  : string
woocommerce_calc_shipping was an option used to determine if shipping was enabled prior to version 2.6.0. This has since been replaced with wc_shipping_enabled() function and the woocommerce_ship_to_countries setting.
woocommerce_get_product_schema()  : string
_wc_save_product_price()  : mixed
Save product price.
wc_get_customer_avatar_url()  : string
Return customer avatar URL.
wc_get_core_supported_themes()  : array<string|int, string>
WooCommerce Core Supported Themes.
wc_get_min_max_price_meta_query()  : array<string|int, mixed>
Get min/max price meta query args.
wc_taxonomy_metadata_update_content_for_split_terms()  : mixed
When a term is split, ensure meta data maintained.
update_woocommerce_term_meta()  : bool
WooCommerce Term Meta API.
add_woocommerce_term_meta()  : bool
WooCommerce Term Meta API.
delete_woocommerce_term_meta()  : bool
WooCommerce Term Meta API
get_woocommerce_term_meta()  : mixed
WooCommerce Term Meta API
wc_string_to_bool()  : bool
Converts a string (e.g. 'yes' or 'no') to a bool.
wc_bool_to_string()  : string
Converts a bool to a 'yes' or 'no'.
wc_string_to_array()  : array<string|int, mixed>
Explode a string into an array by $delimiter and remove empty values.
wc_sanitize_taxonomy_name()  : string
Sanitize taxonomy names. Slug format (no spaces, lowercase).
wc_sanitize_permalink()  : string
Sanitize permalink values before insertion into DB.
wc_get_filename_from_url()  : string
Gets the filename part of a download URL.
wc_get_dimension()  : float
Normalise dimensions, unify to cm then convert to wanted unit value.
wc_get_weight()  : float
Normalise weights, unify to kg then convert to wanted unit value.
wc_trim_zeros()  : string
Trim trailing zeros off prices.
wc_round_tax_total()  : float
Round a tax amount.
wc_legacy_round_half_down()  : float
Round half down in PHP 5.2.
wc_format_refund_total()  : float
Make a refund total negative.
wc_format_decimal()  : string
Format decimal numbers ready for DB storage.
wc_float_to_string()  : string
Convert a float to a string without locale formatting which PHP adds when changing floats to strings.
wc_format_localized_price()  : string
Format a price with WC Currency Locale settings.
wc_format_localized_decimal()  : string
Format a decimal with the decimal separator for prices or PHP Locale settings.
wc_format_coupon_code()  : string
Format a coupon code.
wc_sanitize_coupon_code()  : string
Sanitize a coupon code.
wc_clean()  : string|array<string|int, mixed>
Clean variables using sanitize_text_field. Arrays are cleaned recursively.
wc_check_invalid_utf8()  : string|array<string|int, mixed>
Function wp_check_invalid_utf8 with recursive array support.
wc_sanitize_textarea()  : string
Run wc_clean over posted textarea but maintain line breaks.
wc_sanitize_tooltip()  : string
Sanitize a string destined to be a tooltip.
wc_array_overlay()  : array<string|int, mixed>
Merge two arrays.
wc_stock_amount()  : int|float
Formats a stock amount by running it through a filter.
get_woocommerce_price_format()  : string
Get the price format depending on the currency position.
wc_get_price_thousand_separator()  : string
Return the thousand separator for prices.
wc_get_price_decimal_separator()  : string
Return the decimal separator for prices.
wc_get_price_decimals()  : int
Return the number of decimals after the decimal point.
wc_price()  : string
Format the price with a currency symbol.
wc_let_to_num()  : int
Notation to numbers.
wc_date_format()  : string
WooCommerce Date Format - Allows to change date format for everything WooCommerce.
wc_time_format()  : string
WooCommerce Time Format - Allows to change time format for everything WooCommerce.
wc_string_to_timestamp()  : int
Convert mysql datetime to PHP timestamp, forcing UTC. Wrapper for strtotime.
wc_string_to_datetime()  : WC_DateTime
Convert a date string to a WC_DateTime.
wc_timezone_string()  : string
WooCommerce Timezone - helper to retrieve the timezone string for a site until.
wc_timezone_offset()  : float
Get timezone offset in seconds.
wc_flatten_meta_callback()  : mixed
Callback which can flatten post meta (gets the first value if it's an array).
wc_rgb_from_hex()  : array<string|int, mixed>
Convert RGB to HEX.
wc_hex_darker()  : string
Make HEX color darker.
wc_hex_lighter()  : string
Make HEX color lighter.
wc_hex_is_light()  : bool
Determine whether a hex color is light.
wc_light_or_dark()  : string
Detect if we should use a light or dark color on a background color.
wc_format_hex()  : string|null
Format string as hex.
wc_format_postcode()  : string
Format the postcode according to the country and length of the postcode.
wc_normalize_postcode()  : string
Normalize postcodes.
wc_format_phone_number()  : string
Format phone numbers.
wc_sanitize_phone_number()  : string
Sanitize phone number.
wc_strtoupper()  : string
Wrapper for mb_strtoupper which see's if supported first.
wc_strtolower()  : string
Make a string lowercase.
wc_trim_string()  : string
Trim a string and append a suffix.
wc_format_content()  : string
Format content to display shortcodes.
wc_format_product_short_description()  : string
Format product short description.
wc_format_option_price_separators()  : string
Formats curency symbols when saved in settings.
wc_format_option_price_num_decimals()  : string
Formats decimals when saved in settings.
wc_format_option_hold_stock_minutes()  : string
Formats hold stock option and sets cron event up.
wc_sanitize_term_text_based()  : string
Sanitize terms from an attribute text based.
wc_make_numeric_postcode()  : string
Make numeric postcode.
wc_format_stock_for_display()  : string
Format the stock amount ready for display based on settings.
wc_format_stock_quantity_for_display()  : string
Format the stock quantity ready for display.
wc_format_sale_price()  : string
Format a sale price for display.
wc_format_price_range()  : string
Format a price range for display.
wc_format_weight()  : string
Format a weight for display.
wc_format_dimensions()  : string
Format dimensions for display.
wc_format_datetime()  : string
Format a date for output.
wc_do_oembeds()  : string
Process oEmbeds.
wc_get_string_before_colon()  : string
Get part of a string before :.
wc_array_merge_recursive_numeric()  : array<string|int, mixed>
Array merge and sum function.
wc_implode_html_attributes()  : string
Implode and escape HTML attributes for output.
wc_esc_json()  : string
Escape JSON for use on HTML or attribute text nodes.
wc_parse_relative_date_option()  : array<string|int, mixed>
Parse a relative date option from the settings API into a standard format.
wc_sanitize_endpoint_slug()  : string
Format the endpoint slug, strip out anything not allowed in a url.
wc_notice_count()  : int
Get the count of notices added, either for all notices (default) or for one.
wc_has_notice()  : bool
Check if a notice has already been added.
wc_add_notice()  : mixed
Add and store a notice.
wc_set_notices()  : mixed
Set all notices at once.
wc_clear_notices()  : mixed
Unset all notices.
wc_print_notices()  : string|null
Prints messages and errors which are stored in the session, then clears them.
wc_print_notice()  : mixed
Print a single notice immediately.
wc_get_notices()  : array<string|int, array<string|int, mixed>>
Returns all queued notices, optionally filtered by a notice type.
wc_add_wp_error_notices()  : mixed
Add notices for WP Errors.
wc_kses_notice()  : string
Filters out the same tags as wp_kses_post, but allows tabindex for <a> element.
wc_get_notice_data_attr()  : string
Get notice data attribute.
wc_get_orders()  : array<string|int, WC_Order>|stdClass
Standard way of retrieving orders based on certain parameters.
wc_get_order()  : bool|WC_Order|WC_Order_Refund
Main function for returning orders, uses the WC_Order_Factory class.
wc_get_order_statuses()  : array<string|int, mixed>
Get all order statuses.
wc_is_order_status()  : bool
See if a string is an order status.
wc_get_is_paid_statuses()  : array<string|int, mixed>
Get list of statuses which are consider 'paid'.
wc_get_is_pending_statuses()  : array<string|int, mixed>
Get list of statuses which are consider 'pending payment'.
wc_get_order_status_name()  : string
Get the nice name for an order status.
wc_generate_order_key()  : string
Generate an order key with prefix.
wc_get_order_id_by_order_key()  : int
Finds an Order ID based on an order key.
wc_get_order_types()  : array<string|int, mixed>
Get all registered order types.
wc_get_order_type()  : bool|array<string|int, mixed>
Get an order type by post type name.
wc_register_order_type()  : bool
Register order type. Do not use before init.
wc_processing_order_count()  : int
Return the count of processing orders.
wc_orders_count()  : int
Return the orders count of a specific order status.
wc_downloadable_file_permission()  : int|bool
Grant downloadable product access to the file identified by $download_id.
wc_downloadable_product_permissions()  : mixed
Order Status completed - give downloadable product access to customer.
wc_delete_shop_order_transients()  : mixed
Clear all transients cache for order data.
wc_ship_to_billing_address_only()  : bool
See if we only ship to billing addresses.
wc_create_refund()  : WC_Order_Refund|WP_Error
Create a new order refund programmatically.
wc_refund_payment()  : bool|WP_Error
Try to refund the payment for an order via the gateway.
wc_restock_refunded_items()  : mixed
Restock items during refund.
wc_get_tax_class_by_tax_id()  : string
Get tax class by tax id.
wc_get_payment_gateway_by_order()  : WC_Payment_Gateway|bool
Get payment gateway class by order data.
wc_order_fully_refunded()  : mixed
When refunding an order, create a refund line item if the partial refunds do not match order total.
wc_order_search()  : array<string|int, mixed>
Search orders.
wc_update_total_sales_counts()  : mixed
Update total sales amount for each product within a paid order.
wc_update_coupon_usage_counts()  : mixed
Update used coupon amount for each coupon within an order.
wc_cancel_unpaid_orders()  : mixed
Cancel all unpaid orders after held duration to prevent stock lock for those products.
wc_sanitize_order_id()  : mixed
Sanitize order id removing unwanted characters.
wc_get_order_note()  : stdClass|null
Get an order note.
wc_get_order_notes()  : array<string|int, stdClass>
Get order notes.
wc_create_order_note()  : int|WP_Error
Create an order note.
wc_delete_order_note()  : bool
Delete an order note.
wc_add_order_item()  : int|bool
Add a item to an order (for example a line item).
wc_update_order_item()  : bool
Update an item for an order.
wc_delete_order_item()  : bool
Delete an item from the order it belongs to based on item id.
wc_update_order_item_meta()  : bool
WooCommerce Order Item Meta API - Update term meta.
wc_add_order_item_meta()  : int
WooCommerce Order Item Meta API - Add term meta.
wc_delete_order_item_meta()  : bool
WooCommerce Order Item Meta API - Delete term meta.
wc_get_order_item_meta()  : mixed
WooCommerce Order Item Meta API - Get term meta.
wc_get_order_id_by_order_item_id()  : int
Get order ID by order item ID.
wc_page_endpoint_title()  : string
Replace a page title with the endpoint title.
wc_get_page_id()  : int
Retrieve page ids - used for myaccount, edit_address, shop, cart, checkout, pay, view_order, terms. returns -1 if no page is found.
wc_get_page_permalink()  : string
Retrieve page permalink.
wc_get_endpoint_url()  : string
Get endpoint URL.
wc_nav_menu_items()  : array<string|int, mixed>
Hide menu items conditionally.
wc_nav_menu_item_classes()  : array<string|int, mixed>
Fix active class in nav for shop page.
wc_list_pages()  : string
Fix active class in wp_list_pages for shop page.
wc_get_products()  : array<string|int, mixed>|stdClass
Standard way of retrieving products based on certain parameters.
wc_get_product()  : WC_Product|null|false
Main function for returning products, uses the WC_Product_Factory class.
wc_get_product_object()  : WC_Product
Get a product object.
wc_product_sku_enabled()  : bool
Returns whether or not SKUS are enabled.
wc_product_weight_enabled()  : bool
Returns whether or not product weights are enabled.
wc_product_dimensions_enabled()  : bool
Returns whether or not product dimensions (HxWxD) are enabled.
wc_delete_product_transients()  : mixed
Clear transient cache for product data.
wc_get_product_ids_on_sale()  : array<string|int, mixed>
Function that returns an array containing the IDs of the products that are on sale.
wc_get_featured_product_ids()  : array<string|int, mixed>
Function that returns an array containing the IDs of the featured products.
wc_product_post_type_link()  : string
Filter to allow product_cat in the permalinks for products.
wc_placeholder_img_src()  : string
Get the placeholder image URL either from media, or use the fallback image.
wc_placeholder_img()  : string
Get the placeholder image.
wc_get_formatted_variation()  : string
Variation Formatting.
wc_scheduled_sales()  : mixed
Function which handles the start and end of scheduled sales via cron.
wc_get_attachment_image_attributes()  : array<string|int, mixed>
Get attachment image attributes.
wc_prepare_attachment_for_js()  : array<string|int, mixed>
Prepare attachment for JavaScript.
wc_track_product_view()  : mixed
Track product views.
wc_get_product_types()  : array<string|int, mixed>
Get product types.
wc_product_has_unique_sku()  : bool
Check if product sku is unique.
wc_product_force_unique_sku()  : mixed
Force a unique SKU.
wc_product_generate_unique_sku()  : string
Recursively appends a suffix until a unique SKU is found.
wc_get_product_id_by_sku()  : int
Get product ID by SKU.
wc_get_product_variation_attributes()  : array<string|int, mixed>
Get attributes/data for an individual variation from the database and maintain it's integrity.
wc_get_product_cat_ids()  : array<string|int, mixed>
Get all product cats for a product by ID, including hierarchy
wc_get_product_attachment_props()  : array<string|int, mixed>
Gets data about an attachment, such as alt text and captions.
wc_get_product_visibility_options()  : array<string|int, mixed>
Get product visibility options.
wc_get_product_tax_class_options()  : array<string|int, mixed>
Get product tax class options.
wc_get_product_stock_status_options()  : array<string|int, mixed>
Get stock status options.
wc_get_product_backorder_options()  : array<string|int, mixed>
Get backorder options.
wc_get_related_products()  : array<string|int, mixed>
Get related products based on product category and tags.
wc_get_product_term_ids()  : array<string|int, mixed>
Retrieves product term ids for a taxonomy.
wc_get_price_including_tax()  : float|string
For a given product, and optionally price/qty, work out the price with tax included, based on store settings.
wc_get_price_excluding_tax()  : float|string
For a given product, and optionally price/qty, work out the price with tax excluded, based on store settings.
wc_get_price_to_display()  : float
Returns the price including or excluding tax.
wc_get_product_category_list()  : string
Returns the product categories in a list.
wc_get_product_tag_list()  : string
Returns the product tags in a list.
wc_products_array_filter_visible()  : bool
Callback for array filter to get visible only.
wc_products_array_filter_visible_grouped()  : bool
Callback for array filter to get visible grouped products only.
wc_products_array_filter_editable()  : bool
Callback for array filter to get products the user can edit only.
wc_products_array_filter_readable()  : bool
Callback for array filter to get products the user can view only.
wc_products_array_orderby()  : array<string|int, mixed>
Sort an array of products by a value.
wc_products_array_orderby_title()  : int
Sort by title.
wc_products_array_orderby_id()  : int
Sort by id.
wc_products_array_orderby_date()  : int
Sort by date.
wc_products_array_orderby_modified()  : int
Sort by modified.
wc_products_array_orderby_menu_order()  : int
Sort by menu order.
wc_products_array_orderby_price()  : int
Sort by price low to high.
wc_deferred_product_sync()  : mixed
Queue a product for syncing at the end of the request.
wc_update_product_lookup_tables_is_running()  : bool
See if the lookup table is being generated already.
wc_update_product_lookup_tables()  : mixed
Populate lookup table data for products.
wc_update_product_lookup_tables_column()  : mixed
Populate lookup table column data.
wc_update_product_lookup_tables_rating_count()  : mixed
Populate rating count lookup table data for products.
wc_update_product_lookup_tables_rating_count_batch()  : mixed
Populate a batch of rating count lookup table data for products.
wc_rest_prepare_date_response()  : string|null
Parses and formats a date for ISO8601/RFC3339.
wc_rest_allowed_image_mime_types()  : array<string|int, mixed>
Returns image mime types users are allowed to upload via the API.
wc_rest_upload_image_from_url()  : array<string|int, mixed>|WP_Error
Upload image from URL.
wc_rest_set_uploaded_image_as_attachment()  : int
Set uploaded image as attachment.
wc_rest_validate_reports_request_arg()  : WP_Error|bool
Validate reports request arguments.
wc_rest_urlencode_rfc3986()  : string|array<string|int, mixed>
Encodes a value according to RFC 3986.
wc_rest_check_post_permissions()  : bool
Check permissions of posts on REST API.
wc_rest_check_user_permissions()  : bool
Check permissions of users on REST API.
wc_rest_check_product_term_permissions()  : bool
Check permissions of product terms on REST API.
wc_rest_check_manager_permissions()  : bool
Check manager permissions on REST API.
wc_rest_check_product_reviews_permissions()  : bool
Check product reviews permissions on REST API.
wc_update_product_stock()  : bool|int|null
Update a product's stock amount.
wc_update_product_stock_status()  : mixed
Update a product's stock status.
wc_maybe_reduce_stock_levels()  : mixed
When a payment is complete, we can reduce stock levels for items within an order.
wc_maybe_increase_stock_levels()  : mixed
When a payment is cancelled, restore stock.
wc_reduce_stock_levels()  : mixed
Reduce stock levels for items within an order, if stock has not already been reduced for the items.
wc_trigger_stock_change_notifications()  : mixed
After stock change events, triggers emails and adds order notes.
wc_increase_stock_levels()  : mixed
Increase stock levels for items within an order.
wc_get_held_stock_quantity()  : int
See how much stock is being held in pending orders.
wc_reserve_stock_for_order()  : mixed
Hold stock for an order.
wc_release_stock_for_order()  : mixed
Release held stock for an order.
wc_get_low_stock_amount()  : int
Return low stock amount to determine if notification needs to be sent
wc_template_redirect()  : mixed
Handle redirects before content is output - hooked into template_redirect so is_page works.
wc_send_frame_options_header()  : mixed
When loading sensitive checkout or account pages, send a HTTP header to limit rendering of pages to same origin iframes for security reasons.
wc_prevent_endpoint_indexing()  : mixed
No index our endpoints.
wc_prevent_adjacent_posts_rel_link_wp_head()  : mixed
Remove adjacent_posts_rel_link_wp_head - pointless for products.
wc_gallery_noscript()  : mixed
Show the gallery if JS is disabled.
wc_setup_product_data()  : WC_Product
When the_post is called, put product data into a global.
wc_setup_loop()  : mixed
Sets up the woocommerce_loop global from the passed args or from the main query.
wc_reset_loop()  : mixed
Resets the woocommerce_loop global.
wc_get_loop_prop()  : mixed
Gets a property from the woocommerce_loop global.
wc_set_loop_prop()  : mixed
Sets a property in the woocommerce_loop global.
wc_set_loop_product_visibility()  : mixed
Set the current visbility for a product in the woocommerce_loop global.
wc_get_loop_product_visibility()  : bool|null
Gets the cached current visibility for a product from the woocommerce_loop global.
woocommerce_product_loop()  : bool
Should the WooCommerce loop be displayed?
wc_generator_tag()  : string
Output generator tag to aid debugging.
wc_body_class()  : array<string|int, mixed>
Add body classes for WC pages.
wc_no_js()  : mixed
NO JS handling.
wc_product_cat_class()  : mixed
Display the classes for the product cat div.
wc_get_default_products_per_row()  : int
Get the default columns setting - this is how many products will be shown per row in loops.
wc_get_default_product_rows_per_page()  : int
Get the default rows setting - this is how many product rows will be shown in loops.
wc_reset_product_grid_settings()  : mixed
Reset the product grid settings when a new theme is activated.
wc_get_loop_class()  : string
Get classname for woocommerce loops.
wc_get_product_cat_class()  : array<string|int, mixed>
Get the classes for the product cat div.
wc_product_post_class()  : array<string|int, mixed>
Adds extra post classes for products via the WordPress post_class hook, if used.
wc_get_product_taxonomy_class()  : array<string|int, mixed>
Get product taxonomy HTML classes.
wc_get_product_class()  : array<string|int, mixed>
Retrieves the classes for the post div as an array.
wc_product_class()  : mixed
Display the classes for the product div.
wc_query_string_form_fields()  : string
Outputs hidden form inputs for each query string variable.
wc_terms_and_conditions_page_id()  : int
Get the terms and conditions page ID.
wc_privacy_policy_page_id()  : int
Get the privacy policy page ID.
wc_terms_and_conditions_checkbox_enabled()  : bool
See if the checkbox is enabled or not based on the existence of the terms page and checkbox text.
wc_get_terms_and_conditions_checkbox_text()  : string
Get the terms and conditions checkbox text, if set.
wc_get_privacy_policy_text()  : string
Get the privacy policy text, if set.
wc_terms_and_conditions_checkbox_text()  : mixed
Output t&c checkbox text.
wc_terms_and_conditions_page_content()  : mixed
Output t&c page's content (if set). The page can be set from checkout settings.
wc_checkout_privacy_policy_text()  : mixed
Render privacy policy text on the checkout.
wc_registration_privacy_policy_text()  : mixed
Render privacy policy text on the register forms.
wc_privacy_policy_text()  : mixed
Output privacy policy text. This is custom text which can be added via the customizer/privacy settings section.
wc_replace_policy_page_link_placeholders()  : string
Replaces placeholders with links to WooCommerce policy pages.
woocommerce_content()  : mixed
Output WooCommerce content.
woocommerce_output_content_wrapper()  : mixed
Output the start of the page wrapper.
woocommerce_output_content_wrapper_end()  : mixed
Output the end of the page wrapper.
woocommerce_get_sidebar()  : mixed
Get the shop sidebar template.
woocommerce_demo_store()  : mixed
Adds a demo store banner to the site if enabled.
woocommerce_page_title()  : string
Page Title function.
woocommerce_product_loop_start()  : string
Output the start of a product loop. By default this is a UL.
woocommerce_product_loop_end()  : string
Output the end of a product loop. By default this is a UL.
woocommerce_template_loop_product_title()  : mixed
Show the product title in the product loop. By default this is an H2.
woocommerce_template_loop_category_title()  : mixed
Show the subcategory title in the product loop.
woocommerce_template_loop_product_link_open()  : mixed
Insert the opening anchor tag for products in the loop.
woocommerce_template_loop_product_link_close()  : mixed
Insert the closing anchor tag for products in the loop.
woocommerce_template_loop_category_link_open()  : mixed
Insert the opening anchor tag for categories in the loop.
woocommerce_template_loop_category_link_close()  : mixed
Insert the closing anchor tag for categories in the loop.
woocommerce_taxonomy_archive_description()  : mixed
Show an archive description on taxonomy archives.
woocommerce_product_archive_description()  : mixed
Show a shop page description on product archives.
woocommerce_template_loop_add_to_cart()  : mixed
Get the add to cart template for the loop.
woocommerce_template_loop_product_thumbnail()  : mixed
Get the product thumbnail for the loop.
woocommerce_template_loop_price()  : mixed
Get the product price for the loop.
woocommerce_template_loop_rating()  : mixed
Display the average rating in the loop.
woocommerce_show_product_loop_sale_flash()  : mixed
Get the sale flash for the loop.
woocommerce_get_product_thumbnail()  : string
Get the product thumbnail, or the placeholder if not set.
woocommerce_result_count()  : mixed
Output the result count text (Showing x - x of x results).
woocommerce_catalog_ordering()  : mixed
Output the product sorting options.
woocommerce_pagination()  : mixed
Output the pagination.
woocommerce_show_product_images()  : mixed
Output the product image before the single product summary.
woocommerce_show_product_thumbnails()  : mixed
Output the product thumbnails.
wc_get_gallery_image_html()  : string
Get HTML for a gallery image.
woocommerce_output_product_data_tabs()  : mixed
Output the product tabs.
woocommerce_template_single_title()  : mixed
Output the product title.
woocommerce_template_single_rating()  : mixed
Output the product rating.
woocommerce_template_single_price()  : mixed
Output the product price.
woocommerce_template_single_excerpt()  : mixed
Output the product short description (excerpt).
woocommerce_template_single_meta()  : mixed
Output the product meta.
woocommerce_template_single_sharing()  : mixed
Output the product sharing.
woocommerce_show_product_sale_flash()  : mixed
Output the product sale flash.
woocommerce_template_single_add_to_cart()  : mixed
Trigger the single product add to cart action.
woocommerce_simple_add_to_cart()  : mixed
Output the simple product add to cart area.
woocommerce_grouped_add_to_cart()  : mixed
Output the grouped product add to cart area.
woocommerce_variable_add_to_cart()  : mixed
Output the variable product add to cart area.
woocommerce_external_add_to_cart()  : mixed
Output the external product add to cart area.
woocommerce_quantity_input()  : string
Output the quantity input for add to cart forms.
woocommerce_product_description_tab()  : mixed
Output the description tab content.
woocommerce_product_additional_information_tab()  : mixed
Output the attributes tab content.
woocommerce_default_product_tabs()  : array<string|int, mixed>
Add default product tabs to product pages.
woocommerce_sort_product_tabs()  : array<string|int, mixed>
Sort tabs by priority.
woocommerce_comments()  : mixed
Output the Review comments template.
woocommerce_review_display_gravatar()  : void
Display the review authors gravatar
woocommerce_review_display_rating()  : void
Display the reviewers star rating
woocommerce_review_display_meta()  : void
Display the review authors meta (name, verified owner, review date)
woocommerce_review_display_comment_text()  : mixed
Display the review content.
woocommerce_output_related_products()  : mixed
Output the related products.
woocommerce_related_products()  : mixed
Output the related products.
woocommerce_upsell_display()  : mixed
Output product up sells.
woocommerce_shipping_calculator()  : mixed
Output the cart shipping calculator.
woocommerce_cart_totals()  : mixed
Output the cart totals.
woocommerce_cross_sell_display()  : mixed
Output the cart cross-sells.
woocommerce_button_proceed_to_checkout()  : mixed
Output the proceed to checkout button.
woocommerce_widget_shopping_cart_button_view_cart()  : mixed
Output the view cart button.
woocommerce_widget_shopping_cart_proceed_to_checkout()  : mixed
Output the proceed to checkout button.
woocommerce_widget_shopping_cart_subtotal()  : mixed
Output to view cart subtotal.
woocommerce_mini_cart()  : mixed
Output the Mini-cart - used by cart widget.
woocommerce_login_form()  : mixed
Output the WooCommerce Login Form.
woocommerce_checkout_login_form()  : mixed
Output the WooCommerce Checkout Login Form.
woocommerce_breadcrumb()  : mixed
Output the WooCommerce Breadcrumb.
woocommerce_order_review()  : mixed
Output the Order review table for the checkout.
woocommerce_checkout_payment()  : mixed
Output the Payment Methods on the checkout.
woocommerce_checkout_coupon_form()  : mixed
Output the Coupon form for the checkout.
woocommerce_products_will_display()  : bool
Check if we will be showing products or not (and not sub-categories only).
woocommerce_get_loop_display_mode()  : string
See what is going to display in the loop.
woocommerce_maybe_show_product_subcategories()  : string
Maybe display categories before, or instead of, a product loop.
woocommerce_product_subcategories()  : null|bool
This is a legacy function which used to check if we needed to display subcats and then output them. It was called by templates.
woocommerce_output_product_categories()  : bool
Display product sub categories as thumbnails.
woocommerce_get_product_subcategories()  : array<string|int, mixed>
Get (and cache) product subcategories.
woocommerce_subcategory_thumbnail()  : mixed
Show subcategory thumbnails.
woocommerce_order_details_table()  : mixed
Displays order details in a table.
woocommerce_order_downloads_table()  : mixed
Displays order downloads in a table.
woocommerce_order_again_button()  : mixed
Display an 'order again' button on the view order page.
woocommerce_form_field()  : string
Outputs a checkout/address form field.
get_product_search_form()  : string
Display product search form.
woocommerce_output_auth_header()  : mixed
Output the Auth header.
woocommerce_output_auth_footer()  : mixed
Output the Auth footer.
woocommerce_single_variation()  : mixed
Output placeholders for the single variation.
woocommerce_single_variation_add_to_cart_button()  : mixed
Output the add to cart button for variations.
wc_dropdown_variation_attribute_options()  : mixed
Output a list of variation attributes for use in the cart forms.
woocommerce_account_content()  : mixed
My Account content output.
woocommerce_account_navigation()  : mixed
My Account navigation template.
woocommerce_account_orders()  : mixed
My Account > Orders template.
woocommerce_account_view_order()  : mixed
My Account > View order template.
woocommerce_account_downloads()  : mixed
My Account > Downloads template.
woocommerce_account_edit_address()  : mixed
My Account > Edit address template.
woocommerce_account_payment_methods()  : mixed
My Account > Downloads template.
woocommerce_account_add_payment_method()  : mixed
My Account > Add payment method template.
woocommerce_account_edit_account()  : mixed
My Account > Edit account template.
wc_no_products_found()  : mixed
Handles the loop when no products were found/no product exist.
wc_get_email_order_items()  : string
Get HTML for the order items to be shown in emails.
wc_display_item_meta()  : string|void
Display item meta data.
wc_display_item_downloads()  : string|void
Display item download links.
woocommerce_photoswipe()  : mixed
Get the shop sidebar template.
wc_display_product_attributes()  : mixed
Outputs a list of product attributes for a product.
wc_get_stock_html()  : string
Get HTML to show product stock.
wc_get_rating_html()  : string
Get HTML for ratings.
wc_get_star_rating_html()  : string
Get HTML for star rating.
wc_get_price_html_from_text()  : string
Returns a 'from' prefix if you want to show where prices start at.
wc_logout_url()  : string
Get logout endpoint.
wc_empty_cart_message()  : mixed
Show notice if cart is empty.
wc_page_noindex()  : mixed
Disable search engines indexing core, dynamic, cart/checkout pages.
wc_page_no_robots()  : array<string|int, mixed>
Disable search engines indexing core, dynamic, cart/checkout pages.
wc_get_theme_slug_for_templates()  : string
Get a slug identifying the current theme.
wc_get_formatted_cart_item_data()  : string
Gets and formats a list of cart item data + variations for display on the frontend.
wc_get_cart_remove_url()  : string
Gets the url to remove an item from the cart.
wc_get_cart_undo_url()  : string
Gets the url to re-add an item into the cart.
woocommerce_output_all_notices()  : mixed
Outputs all queued notices on WC pages.
wc_products_rss_feed()  : mixed
Products RSS Feed.
woocommerce_reset_loop()  : mixed
Reset the loop's index and columns when we're done outputting a product loop.
woocommerce_product_reviews_tab()  : mixed
Output the reviews tab content.
wc_get_pay_buttons()  : mixed
Display pay buttons HTML.
wc_change_get_terms_defaults()  : array<string|int, mixed>
Change get terms defaults for attributes to order by the sorting setting, or default to menu_order for sortable taxonomies.
wc_change_pre_get_terms()  : mixed
Adds support to get_terms for menu_order argument.
wc_terms_clauses()  : array<string|int, mixed>
Adjust term query to handle custom sorting parameters.
wc_get_object_terms()  : array<string|int, mixed>
Helper to get cached object terms and filter by field using wp_list_pluck().
_wc_get_cached_product_terms()  : array<string|int, mixed>
Cached version of wp_get_post_terms().
wc_get_product_terms()  : array<string|int, mixed>
Wrapper used to get terms for a product.
_wc_get_product_terms_name_num_usort_callback()  : int
Sort by name (numeric).
_wc_get_product_terms_parent_usort_callback()  : int
Sort by parent.
wc_product_dropdown_categories()  : mixed
WooCommerce Dropdown categories.
wc_walk_category_dropdown_tree()  : mixed
Custom walker for Product Categories.
wc_taxonomy_metadata_migrate_data()  : mixed
Migrate data from WC term meta to WP term meta.
wc_reorder_terms()  : int
Move a term before the a given element of its hierarchy level.
wc_set_term_order()  : int
Set the sort order of a term.
_wc_term_recount()  : mixed
Function for recounting product terms, ignoring hidden products.
wc_recount_after_stock_change()  : mixed
Recount terms after the stock amount changes.
wc_change_term_counts()  : array<string|int, mixed>
Overrides the original term count for product categories and tags with the product count.
wc_get_term_product_ids()  : array<string|int, mixed>
Return products in a given term, and cache value.
wc_clear_term_product_ids()  : mixed
When a post is updated and terms recounted (called by _update_post_term_count), clear the ids.
wc_get_product_visibility_term_ids()  : array<string|int, int>
Get full list of product visibility term ids.
wc_recount_all_terms()  : void
Recounts all terms.
_wc_recount_terms_by_product()  : void
Recounts terms by product.
wc_update_200_file_paths()  : void
Update file paths for 2.0
wc_update_200_permalinks()  : void
Update permalinks for 2.0
wc_update_200_subcat_display()  : void
Update sub-category display options for 2.0
wc_update_200_taxrates()  : void
Update tax rates for 2.0
wc_update_200_line_items()  : void
Update order item line items for 2.0
wc_update_200_images()  : void
Update image settings for 2.0
wc_update_200_db_version()  : void
Update DB version for 2.0
wc_update_209_brazillian_state()  : void
Update Brazilian States for 2.0.9
wc_update_209_db_version()  : void
Update DB version for 2.0.9
wc_update_210_remove_pages()  : void
Remove pages for 2.1
wc_update_210_file_paths()  : void
Update file paths to support multiple files for 2.1
wc_update_210_db_version()  : void
Update DB version for 2.1
wc_update_220_shipping()  : void
Update shipping options for 2.2
wc_update_220_order_status()  : void
Update order statuses for 2.2
wc_update_220_variations()  : void
Update variations for 2.2
wc_update_220_attributes()  : void
Update attributes for 2.2
wc_update_220_db_version()  : void
Update DB version for 2.2
wc_update_230_options()  : void
Update options for 2.3
wc_update_230_db_version()  : void
Update DB version for 2.3
wc_update_240_options()  : void
Update calc discount options for 2.4
wc_update_240_shipping_methods()  : void
Update shipping methods for 2.4
wc_update_240_api_keys()  : void
Update API keys for 2.4
wc_update_240_webhooks()  : void
Update webhooks for 2.4
wc_update_240_refunds()  : void
Update refunds for 2.4
wc_update_240_db_version()  : void
Update DB version for 2.4
wc_update_241_variations()  : void
Update variations for 2.4.1
wc_update_241_db_version()  : void
Update DB version for 2.4.1
wc_update_250_currency()  : void
Update currency settings for 2.5
wc_update_250_db_version()  : void
Update DB version for 2.5
wc_update_260_options()  : void
Update ship to countries options for 2.6
wc_update_260_termmeta()  : void
Update term meta for 2.6
wc_update_260_zones()  : void
Update zones for 2.6
wc_update_260_zone_methods()  : void
Update zone methods for 2.6
wc_update_260_refunds()  : void
Update refunds for 2.6
wc_update_260_db_version()  : void
Update DB version for 2.6
wc_update_300_webhooks()  : void
Update webhooks for 3.0
wc_update_300_comment_type_index()  : mixed
Add an index to the field comment_type to improve the response time of the query used by WC_Comments::wp_count_comments() to get the number of comments by type.
wc_update_300_grouped_products()  : void
Update grouped products for 3.0
wc_update_300_settings()  : void
Update shipping tax classes for 3.0
wc_update_300_product_visibility()  : mixed
Convert meta values into term for product visibility.
wc_update_300_db_version()  : mixed
Update DB Version.
wc_update_310_downloadable_products()  : mixed
Add an index to the downloadable product permissions table to improve performance of update_user_by_order_id.
wc_update_310_old_comments()  : mixed
Find old order notes and ensure they have the correct type for exclusion.
wc_update_310_db_version()  : mixed
Update DB Version.
wc_update_312_shop_manager_capabilities()  : mixed
Update shop_manager capabilities.
wc_update_312_db_version()  : mixed
Update DB Version.
wc_update_320_mexican_states()  : mixed
Update state codes for Mexico.
wc_update_320_db_version()  : mixed
Update DB Version.
wc_update_330_image_options()  : mixed
Update image settings to use new aspect ratios and widths.
wc_update_330_webhooks()  : mixed
Migrate webhooks from post type to CRUD.
wc_update_330_set_default_product_cat()  : mixed
Assign default cat to all products with no cats.
wc_update_330_product_stock_status()  : mixed
Update product stock status to use the new onbackorder status.
wc_update_330_clear_transients()  : mixed
Clear addons page transients
wc_update_330_set_paypal_sandbox_credentials()  : mixed
Set PayPal's sandbox credentials.
wc_update_330_db_version()  : mixed
Update DB Version.
wc_update_340_states()  : mixed
Update state codes for Ireland and BD.
wc_update_340_state()  : bool
Update next state in the queue.
wc_update_340_last_active()  : mixed
Set last active prop for users.
wc_update_340_db_version()  : mixed
Update DB Version.
wc_update_343_cleanup_foreign_keys()  : void
Remove duplicate foreign keys
wc_update_343_db_version()  : void
Update DB version.
wc_update_344_recreate_roles()  : void
Recreate user roles so existing users will get the new capabilities.
wc_update_344_db_version()  : void
Update DB version.
wc_update_350_reviews_comment_type()  : mixed
Set the comment type to 'review' for product reviews that don't have a comment type.
wc_update_350_db_version()  : mixed
Update DB Version.
wc_update_352_drop_download_log_fk()  : void
Drop the fk_wc_download_log_permission_id FK as we use a new one with the table and blog prefix for MS compatibility.
wc_update_354_modify_shop_manager_caps()  : mixed
Remove edit_user capabilities from shop managers and use "translated" capabilities instead.
wc_update_354_db_version()  : mixed
Update DB Version.
wc_update_360_product_lookup_tables()  : mixed
Update product lookup tables in bulk.
wc_update_360_term_meta()  : mixed
Renames ordering meta to be consistent across taxonomies.
wc_update_360_downloadable_product_permissions_index()  : void
Add new user_order_remaining_expires to speed up user download permission fetching.
wc_update_360_db_version()  : mixed
Update DB Version.
wc_update_370_tax_rate_classes()  : void
Put tax classes into a DB table.
wc_update_370_mro_std_currency()  : void
Update currency settings for 3.7.0
wc_update_370_db_version()  : mixed
Update DB Version.
wc_update_390_move_maxmind_database()  : mixed
We've moved the MaxMind database to a new location, as per the TOS' requirement that the database not be publicly accessible.
wc_update_390_change_geolocation_database_update_cron()  : mixed
So that we can best meet MaxMind's TOS, the geolocation database update cron should run once per 15 days.
wc_update_390_db_version()  : mixed
Update DB version.
wc_update_400_increase_size_of_column()  : mixed
Increase column size
wc_update_400_reset_action_scheduler_migration_status()  : mixed
Reset ActionScheduler migration status. Needs AS >= 3.0 shipped with WC >= 4.0.
wc_update_400_db_version()  : mixed
Update DB version.
wc_update_440_insert_attribute_terms_for_variable_products()  : bool
Register attributes as terms for variable products, in increments of 100 products.
wc_update_440_db_version()  : mixed
Update DB version.
wc_update_450_db_version()  : mixed
Update DB version to 4.5.0.
wc_update_450_sanitize_coupons_code()  : bool
Sanitize all coupons code.
wc_update_500_fix_product_review_count()  : mixed
Fixes product review count that might have been incorrect.
wc_update_500_db_version()  : mixed
Update DB version to 5.0.0.
wc_update_560_create_refund_returns_page()  : mixed
Creates the refund and returns policy page.
wc_update_560_db_version()  : mixed
Update DB version to 5.6.0.
wc_update_600_migrate_rate_limit_options()  : mixed
Migrate rate limit options to the new table.
wc_update_600_db_version()  : mixed
Update DB version to 6.0.0.
wc_update_630_create_product_attributes_lookup_table()  : false
Create the product attributes lookup table and initiate its filling, unless the table had been already created manually (via the tools page).
wc_update_630_db_version()  : mixed
Update DB version to 6.3.0.
wc_update_640_add_primary_key_to_product_attributes_lookup_table()  : bool
Create the primary key for the product attributes lookup table if it doesn't exist already.
wc_update_640_db_version()  : mixed
Update DB version to 6.4.0.
wc_update_650_approved_download_directories()  : mixed
Add the standard WooCommerce upload directories to the Approved Product Download Directories list and start populating it based on existing product download URLs, but do not enable the feature (for existing installations, a site admin should review and make a conscious decision to enable).
wc_update_651_approved_download_directories()  : mixed
In some cases, the approved download directories table may not have been successfully created during the update to 6.5.0. If this was the case we will need to re-initialize the feature.
wc_update_670_purge_comments_count_cache()  : mixed
Purges the comments count cache after 6.7.0 split reviews from the comments page.
wc_update_700_remove_download_log_fk()  : void
Remove unnecessary foreign keys.
wc_update_700_remove_recommended_marketing_plugins_transient()  : mixed
Remove the transient data for recommended marketing extensions.
wc_update_721_adjust_new_zealand_states()  : mixed
Update the New Zealand state codes in the database after they were updated in code to the CLDR standard.
wc_update_721_adjust_ukraine_states()  : mixed
Update the Ukraine state codes in the database after they were updated in code to the CLDR standard.
wc_update_722_adjust_new_zealand_states()  : mixed
Update the New Zealand state codes in the database after they were updated in code to the CLDR standard.
wc_update_722_adjust_ukraine_states()  : mixed
Update the Ukraine state codes in the database after they were updated in code to the CLDR standard.
wc_update_750_add_columns_to_order_stats_table()  : mixed
Add new columns date_paid and date_completed to wp_wc_order_stats table in order to provide the option of using the dates in the reports
wc_update_750_disable_new_product_management_experience()  : void
Disable the experimental product management experience.
wc_update_770_remove_multichannel_marketing_feature_options()  : mixed
Remove the multichannel marketing feature flag and options. This feature is now enabled by default.
wc_disable_admin_bar()  : bool
Prevent any user who cannot 'edit_posts' (subscribers, customers etc) from seeing the admin bar.
wc_create_new_customer()  : int|WP_Error
Create a new customer.
wc_create_new_customer_username()  : string
Create a unique username for a new customer.
wc_set_customer_auth_cookie()  : mixed
Login a customer (set auth cookie and set global user object).
wc_update_new_customer_past_orders()  : int
Get past orders (by email) and update them.
wc_paying_customer()  : mixed
Order payment completed - This is a paying customer.
wc_customer_bought_product()  : bool
Checks if a user (by email or ID or both) has bought an item.
wc_current_user_has_role()  : bool
Checks if the current user has a role.
wc_user_has_role()  : bool
Checks if a user has a role.
wc_customer_has_capability()  : array<string|int, mixed>
Checks if a user has a certain capability.
wc_shop_manager_has_capability()  : array<string|int, bool>
Safe way of allowing shop managers restricted capabilities that will remove access to the capabilities if WooCommerce is deactivated.
wc_modify_editable_roles()  : array<string|int, mixed>
Modify the list of editable roles to prevent non-admin adding admin users.
wc_modify_map_meta_cap()  : array<string|int, mixed>
Modify capabilities to prevent non-admin users editing admin users.
wc_get_customer_download_permissions()  : array<string|int, mixed>
Get customer download permissions from the database.
wc_get_customer_available_downloads()  : array<string|int, mixed>
Get customer available downloads.
wc_get_customer_total_spent()  : string
Get total spent by customer.
wc_get_customer_order_count()  : int
Get total orders by customer.
wc_reset_order_customer_id_on_deleted_user()  : mixed
Reset _customer_user on orders when a user is deleted.
wc_review_is_from_verified_owner()  : bool
Get review verification status.
wc_disable_author_archives_for_customers()  : mixed
Disable author archives for customers.
wc_update_profile_last_update_time()  : mixed
Hooks into the `profile_update` hook to set the user last updated timestamp.
wc_meta_update_last_update_time()  : mixed
Hooks into the update user meta function to set the user last updated timestamp.
wc_set_user_last_update_time()  : mixed
Sets a user's "last update" time to the current timestamp.
wc_get_customer_saved_methods_list()  : array<string|int, mixed>
Get customer saved payment methods list.
wc_get_customer_last_order()  : WC_Order|bool
Get info about customer's last order.
wc_user_search_columns()  : array<string|int, mixed>
Add support for searching by display_name.
wc_delete_user_data()  : mixed
When a user is deleted in WordPress, delete corresponding WooCommerce data.
wc_maybe_store_user_agent()  : mixed
Store user agents. Used for tracker.
wc_user_logged_in()  : mixed
Update logic triggered on login.
wc_current_user_is_active()  : mixed
Update when the user was last active.
wc_update_user_last_active()  : mixed
Set the user last active timestamp to now.
wc_translate_user_roles()  : string
Translate WC roles using the woocommerce textdomain.
wc_webhook_execute_queue()  : mixed
Process the web hooks at the end of the request.
wc_webhook_process_delivery()  : mixed
Process webhook delivery.
wc_deliver_webhook_async()  : mixed
Wrapper function to execute the `woocommerce_deliver_webhook_async` cron.
wc_is_webhook_valid_topic()  : bool
Check if the given topic is a valid webhook topic, a topic is valid if:
wc_is_webhook_valid_status()  : bool
Check if given status is a valid webhook status.
wc_get_webhook_statuses()  : array<string|int, mixed>
Get Webhook statuses.
wc_load_webhooks()  : bool
Load webhooks.
wc_get_webhook()  : WC_Webhook|null
Get webhook.
wc_get_webhook_rest_api_versions()  : array<string|int, mixed>
Get webhoook REST API versions.
wc_register_widgets()  : mixed
Register Widgets.
WC()  : WooCommerce
Returns the main instance of WC.
wc_get_container()  : Container
Returns the WooCommerce object container.

Functions

wc_importer_default_english_mappings()

Add English mapping placeholders when not using English as current language.

wc_importer_default_english_mappings(array<string|int, mixed> $mappings) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

Tags
since
3.1.0

wc_importer_default_special_english_mappings()

Add English special mapping placeholders when not using English as current language.

wc_importer_default_special_english_mappings(array<string|int, mixed> $mappings) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

Tags
since
3.1.0

wc_importer_generic_mappings()

Add generic mappings.

wc_importer_generic_mappings(array<string|int, mixed> $mappings) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

Tags
since
3.1.0

wc_importer_shopify_mappings()

Add Shopify mappings.

wc_importer_shopify_mappings(array<string|int, mixed> $mappings, array<string|int, mixed> $raw_headers) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

$raw_headers : array<string|int, mixed>

Raw headers from CSV being imported.

Tags
since
3.7.0

wc_importer_shopify_special_mappings()

Add special wildcard Shopify mappings.

wc_importer_shopify_special_mappings(array<string|int, mixed> $mappings, array<string|int, mixed> $raw_headers) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

$raw_headers : array<string|int, mixed>

Raw headers from CSV being imported.

Tags
since
3.7.0

wc_importer_shopify_expand_data()

Expand special Shopify columns to WC format.

wc_importer_shopify_expand_data(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

Array of data.

Tags
since
3.7.0

wc_importer_wordpress_mappings()

Add mappings for WordPress tables.

wc_importer_wordpress_mappings(array<string|int, mixed> $mappings) : array<string|int, mixed>
Parameters
$mappings : array<string|int, mixed>

Importer columns mappings.

Tags
since
3.1.0

wc_get_page_screen_id()

Get page ID for a specific WC resource.

wc_get_page_screen_id(string $for) : string
Parameters
$for : string

Name of the resource.

wc_create_page()

Create a page and store the ID in an option.

wc_create_page(mixed $slug[, string $option = '' ][, string $page_title = '' ][, string $page_content = '' ], int $post_parent[, string $post_status = 'publish' ]) : int
Parameters
$slug : mixed

Slug for the new page.

$option : string = ''

Option name to store the page's ID.

$page_title : string = ''

(default: '') Title for the new page.

$page_content : string = ''

(default: '') Content for the new page.

$post_parent : int

(default: 0) Parent for the new page.

$post_status : string = 'publish'

(default: publish) The post status of the new page.

woocommerce_admin_fields()

Output admin fields.

woocommerce_admin_fields(array<string|int, mixed> $options) : mixed

Loops through the woocommerce options array and outputs each field.

Parameters
$options : array<string|int, mixed>

Opens array to output.

woocommerce_update_options()

Update all settings which are passed.

woocommerce_update_options(array<string|int, mixed> $options[, array<string|int, mixed> $data = null ]) : mixed
Parameters
$options : array<string|int, mixed>

Option fields to save.

$data : array<string|int, mixed> = null

Passed data.

woocommerce_settings_get_option()

Get a setting from the settings API.

woocommerce_settings_get_option(mixed $option_name[, mixed $default = '' ]) : string
Parameters
$option_name : mixed

Option name to save.

$default : mixed = ''

Default value to save.

wc_maybe_adjust_line_item_product_stock()

Sees if line item stock has already reduced stock, and whether those values need adjusting e.g. after changing item qty.

wc_maybe_adjust_line_item_product_stock(WC_Order_Item $item[, int $item_quantity = -1 ]) : bool|array<string|int, mixed>|WP_Error
Parameters
$item : WC_Order_Item

Item object.

$item_quantity : int = -1

Optional quantity to check against. Read from object if not passed.

Tags
since
3.6.0

wc_save_order_items()

Save order items. Uses the CRUD.

wc_save_order_items(int $order_id, array<string|int, mixed> $items) : mixed
Parameters
$order_id : int

Order ID.

$items : array<string|int, mixed>

Order items to save.

Tags
since
2.2

wc_render_action_buttons()

Get HTML for some action buttons. Used in list tables.

wc_render_action_buttons(array<string|int, mixed> $actions) : string
Parameters
$actions : array<string|int, mixed>

Actions to output.

Tags
since
3.3.0

woocommerce_wp_text_input()

Output a text input box.

woocommerce_wp_text_input(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_hidden_input()

Output a hidden input box.

woocommerce_wp_hidden_input(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_textarea_input()

Output a textarea input box.

woocommerce_wp_textarea_input(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_checkbox()

Output a checkbox input box.

woocommerce_wp_checkbox(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_select()

Output a select input box.

woocommerce_wp_select(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_radio()

Output a radio input box.

woocommerce_wp_radio(array<string|int, mixed> $field[, WC_Data $data = null ]) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

$data : WC_Data = null

WC_Data object, will be preferred over post object when passed.

woocommerce_wp_note()

Output a note.

woocommerce_wp_note(array<string|int, mixed> $field) : mixed
Parameters
$field : array<string|int, mixed>

Field data.

wc_admin_filter_core_page_breadcrumbs()

Filter breadcrumbs for core pages that aren't explicitly connected.

wc_admin_filter_core_page_breadcrumbs(array<string|int, mixed> $breadcrumbs) : array<string|int, mixed>
Parameters
$breadcrumbs : array<string|int, mixed>

Breadcrumb pieces.

wc_admin_connect_core_pages()

Render the WC-Admin header bar on all WooCommerce core pages.

wc_admin_connect_core_pages(bool $is_connected, bool $current_page) : bool
Parameters
$is_connected : bool

Whether the current page is connected.

$current_page : bool

The current page, if connected.

wc_admin_number_format()

Format a number using the decimal and thousands separator settings in WooCommerce.

wc_admin_number_format(mixed $number) : string
Parameters
$number : mixed

Number to be formatted.

wc_admin_url()

Retrieves a URL to relative path inside WooCommerce admin with the provided query parameters.

wc_admin_url([string $path = null ][, array<string|int, mixed> $query = array() ]) : string
Parameters
$path : string = null

Relative path of the desired page.

$query : array<string|int, mixed> = array()

Query parameters to append to the path.

wc_admin_connect_page()

Connect an existing page to WooCommerce Admin.

wc_admin_connect_page(array<string|int, mixed> $options) : mixed

Passthrough to PageController::connect_page().

Parameters
$options : array<string|int, mixed>

Options for PageController::connect_page().

wc_admin_register_page()

Register JS-powered WooCommerce Admin Page.

wc_admin_register_page(array<string|int, mixed> $options) : mixed

Passthrough to PageController::register_page().

Parameters
$options : array<string|int, mixed>

Options for PageController::register_page().

wc_admin_update_0201_order_status_index()

Update order stats `status` index length.

wc_admin_update_0201_order_status_index() : mixed

See: https://github.com/woocommerce/woocommerce-admin/issues/2969.

wc_admin_update_0230_rename_gross_total()

Rename "gross_total" to "total_sales".

wc_admin_update_0230_rename_gross_total() : mixed

See: https://github.com/woocommerce/woocommerce-admin/issues/3175

wc_admin_update_130_remove_dismiss_action_from_tracking_opt_in_note()

Remove Dismiss action from tracking opt-in admin note.

wc_admin_update_130_remove_dismiss_action_from_tracking_opt_in_note() : mixed

wc_admin_update_300_update_is_read_from_last_read()

Use woocommerce_admin_activity_panel_inbox_last_read from the user meta to set wc_admin_notes.is_read col.

wc_admin_update_300_update_is_read_from_last_read() : mixed

wc_update_670_delete_deprecated_remote_inbox_notifications_option()

Delete the deprecated remote inbox notifications option since transients are now used.

wc_update_670_delete_deprecated_remote_inbox_notifications_option() : mixed

wc_lostpassword_url()

Returns the url to the lost password endpoint url.

wc_lostpassword_url([string $default_url = '' ]) : string
Parameters
$default_url : string = ''

Default lost password URL.

wc_edit_address_i18n()

Get the edit address slug translation.

wc_edit_address_i18n(string $id[, bool $flip = false ]) : string
Parameters
$id : string

Address ID.

$flip : bool = false

Flip the array to make it possible to retrieve the values ​​from both sides.

wc_get_account_menu_items()

Get My Account menu items.

wc_get_account_menu_items() : array<string|int, mixed>
Tags
since
2.6.0

wc_get_account_menu_item_classes()

Get account menu item classes.

wc_get_account_menu_item_classes(string $endpoint) : string
Parameters
$endpoint : string

Endpoint.

Tags
since
2.6.0

wc_get_account_endpoint_url()

Get account endpoint URL.

wc_get_account_endpoint_url(string $endpoint) : string
Parameters
$endpoint : string

Endpoint.

Tags
since
2.6.0

wc_get_account_orders_columns()

Get My Account > Orders columns.

wc_get_account_orders_columns() : array<string|int, mixed>
Tags
since
2.6.0

wc_get_account_downloads_columns()

Get My Account > Downloads columns.

wc_get_account_downloads_columns() : array<string|int, mixed>
Tags
since
2.6.0

wc_get_account_payment_methods_columns()

Get My Account > Payment methods columns.

wc_get_account_payment_methods_columns() : array<string|int, mixed>
Tags
since
2.6.0

wc_get_account_payment_methods_types()

Get My Account > Payment methods types

wc_get_account_payment_methods_types() : array<string|int, mixed>
Tags
since
2.6.0

wc_get_account_orders_actions()

Get account orders actions.

wc_get_account_orders_actions(int|WC_Order $order) : array<string|int, mixed>
Parameters
$order : int|WC_Order

Order instance or ID.

Tags
since
3.2.0

wc_get_account_formatted_address()

Get account formatted address.

wc_get_account_formatted_address([string $address_type = 'billing' ], int $customer_id) : string
Parameters
$address_type : string = 'billing'

Address type. Accepts: 'billing' or 'shipping'. Default to 'billing'.

$customer_id : int

Customer ID. Default to 0.

Tags
since
3.2.0

wc_get_account_saved_payment_methods_list()

Returns an array of a user's saved payments list for output on the account tab.

wc_get_account_saved_payment_methods_list(array<string|int, mixed> $list, int $customer_id) : array<string|int, mixed>
Parameters
$list : array<string|int, mixed>

List of payment methods passed from wc_get_customer_saved_methods_list().

$customer_id : int

The customer to fetch payment methods for.

Tags
since
2.6

wc_get_account_saved_payment_methods_list_item_cc()

Controls the output for credit cards on the my account page.

wc_get_account_saved_payment_methods_list_item_cc(array<string|int, mixed> $item, WC_Payment_Token $payment_token) : array<string|int, mixed>
Parameters
$item : array<string|int, mixed>

Individual list item from woocommerce_saved_payment_methods_list.

$payment_token : WC_Payment_Token

The payment token associated with this method entry.

Tags
since
2.6

wc_get_account_saved_payment_methods_list_item_echeck()

Controls the output for eChecks on the my account page.

wc_get_account_saved_payment_methods_list_item_echeck(array<string|int, mixed> $item, WC_Payment_Token $payment_token) : array<string|int, mixed>
Parameters
$item : array<string|int, mixed>

Individual list item from woocommerce_saved_payment_methods_list.

$payment_token : WC_Payment_Token

The payment token associated with this method entry.

Tags
since
2.6

wc_get_text_attributes()

Gets text attributes from a string.

wc_get_text_attributes(string $raw_attributes) : array<string|int, mixed>
Parameters
$raw_attributes : string

Raw attributes.

Tags
since
2.4

wc_get_text_attributes_filter_callback()

See if an attribute is actually valid.

wc_get_text_attributes_filter_callback(string $value) : bool
Parameters
$value : string

Value.

Tags
since
3.0.0

wc_implode_text_attributes()

Implode an array of attributes using WC_DELIMITER.

wc_implode_text_attributes(array<string|int, mixed> $attributes) : string
Parameters
$attributes : array<string|int, mixed>

Attributes list.

Tags
since
3.0.0

wc_get_attribute_taxonomy_ids()

Get (cached) attribute taxonomy ID and name pairs.

wc_get_attribute_taxonomy_ids() : array<string|int, mixed>
Tags
since
3.6.0

wc_get_attribute_taxonomy_labels()

Get (cached) attribute taxonomy label and name pairs.

wc_get_attribute_taxonomy_labels() : array<string|int, mixed>
Tags
since
3.6.0

wc_attribute_taxonomy_name()

Get a product attribute name.

wc_attribute_taxonomy_name(string $attribute_name) : string
Parameters
$attribute_name : string

Attribute name.

wc_variation_attribute_name()

Get the attribute name used when storing values in post meta.

wc_variation_attribute_name(string $attribute_name) : string
Parameters
$attribute_name : string

Attribute name.

Tags
since
2.6.0

wc_attribute_taxonomy_name_by_id()

Get a product attribute name by ID.

wc_attribute_taxonomy_name_by_id(int $attribute_id) : string
Parameters
$attribute_id : int

Attribute ID.

Tags
since
2.4.0

wc_attribute_taxonomy_id_by_name()

Get a product attribute ID by name.

wc_attribute_taxonomy_id_by_name(string $name) : int
Parameters
$name : string

Attribute name.

Tags
since
2.6.0

wc_attribute_orderby()

Get a product attributes orderby setting.

wc_attribute_orderby(string $name) : string
Parameters
$name : string

Attribute name.

wc_get_attribute_taxonomy_names()

Get an array of product attribute taxonomies.

wc_get_attribute_taxonomy_names() : array<string|int, mixed>

wc_get_attribute_type_label()

Get attribute type label.

wc_get_attribute_type_label(string $type) : string
Parameters
$type : string

Attribute type slug.

Tags
since
3.0.0

wc_check_if_attribute_name_is_reserved()

Check if attribute name is reserved.

wc_check_if_attribute_name_is_reserved(string $attribute_name) : bool

https://codex.wordpress.org/Function_Reference/register_taxonomy#Reserved_Terms.

Parameters
$attribute_name : string

Attribute name.

Tags
since
2.4.0

wc_is_attribute_in_product_name()

Check if an attribute is included in the attributes area of a variation name.

wc_is_attribute_in_product_name(string $attribute, string $name) : bool
Parameters
$attribute : string

Attribute value to check for.

$name : string

Product name to check in.

Tags
since
3.0.2

wc_array_filter_default_attributes()

Callback for array filter to get default attributes. Will allow for '0' string values, but regard all other class PHP FALSE equivalents normally.

wc_array_filter_default_attributes(mixed $attribute) : bool
Parameters
$attribute : mixed

Attribute being considered for exclusion from parent array.

Tags
since
3.1.0

wc_get_attribute()

Get attribute data by ID.

wc_get_attribute(int $id) : stdClass|null
Parameters
$id : int

Attribute ID.

Tags
since
3.2.0

wc_create_attribute()

Create attribute.

wc_create_attribute(array<string|int, mixed> $args) : int|WP_Error
Parameters
$args : array<string|int, mixed>

Attribute arguments { Array of attribute parameters.

@type int    $id           Unique identifier, used to update an attribute.
@type string $name         Attribute name. Always required.
@type string $slug         Attribute alphanumeric identifier.
@type string $type         Type of attribute.
                           Core by default accepts: 'select' and 'text'.
                           Default to 'select'.
@type string $order_by     Sort order.
                           Accepts: 'menu_order', 'name', 'name_num' and 'id'.
                           Default to 'menu_order'.
@type bool   $has_archives Enable or disable attribute archives. False by default.

}

Tags
since
3.2.0

wc_update_attribute()

Update an attribute.

wc_update_attribute(int $id, array<string|int, mixed> $args) : int|WP_Error

For available args see wc_create_attribute().

Parameters
$id : int

Attribute ID.

$args : array<string|int, mixed>

Attribute arguments.

Tags
since
3.2.0

wc_delete_attribute()

Delete attribute by ID.

wc_delete_attribute(int $id) : bool
Parameters
$id : int

Attribute ID.

Tags
since
3.2.0

wc_attribute_taxonomy_slug()

Get an unprefixed product attribute name.

wc_attribute_taxonomy_slug(string $attribute_name) : string
Parameters
$attribute_name : string

Attribute name.

Tags
since
3.6.0

wc_protected_product_add_to_cart()

Prevent password protected products being added to the cart.

wc_protected_product_add_to_cart(bool $passed, int $product_id) : bool
Parameters
$passed : bool

Validation.

$product_id : int

Product ID.

wc_load_persistent_cart()

Load the persistent cart.

wc_load_persistent_cart(string $user_login, WP_User $user) : mixed
Parameters
$user_login : string

User login.

$user : WP_User

User data.

Tags
deprecated
2.3

wc_get_raw_referer()

Retrieves unvalidated referer from '_wp_http_referer' or HTTP referer.

wc_get_raw_referer() : string|false

Do not use for redirects, use {@see} instead.

Tags
since
2.6.1

wc_add_to_cart_message()

Add to cart messages.

wc_add_to_cart_message(int|array<string|int, mixed> $products[, bool $show_qty = false ][, bool $return = false ]) : mixed
Parameters
$products : int|array<string|int, mixed>

Product ID list or single product ID.

$show_qty : bool = false

Should quantities be shown? Added in 2.6.0.

$return : bool = false

Return message rather than add it.

wc_format_list_of_items()

Comma separate a list of item names, and replace final comma with 'and'.

wc_format_list_of_items(array<string|int, mixed> $items) : string
Parameters
$items : array<string|int, mixed>

Cart items.

wc_cart_totals_coupon_label()

Get a coupon label.

wc_cart_totals_coupon_label(string|WC_Coupon $coupon[, bool $echo = true ]) : string
Parameters
$coupon : string|WC_Coupon

Coupon data or code.

$echo : bool = true

Echo or return.

wc_cart_totals_order_total_html()

Get order total html including inc tax if needed.

wc_cart_totals_order_total_html() : mixed

wc_cart_totals_fee_html()

Get the fee value.

wc_cart_totals_fee_html(object $fee) : mixed
Parameters
$fee : object

Fee data.

wc_cart_round_discount()

Round discount.

wc_cart_round_discount(float $value, int $precision) : float
Parameters
$value : float

Amount to round.

$precision : int

DP to round.

wc_get_chosen_shipping_method_ids()

Gets chosen shipping method IDs from chosen_shipping_methods session, without instance IDs.

wc_get_chosen_shipping_method_ids() : array<string|int, string>
Tags
since
2.6.2

wc_get_chosen_shipping_method_for_package()

Get chosen method for package from session.

wc_get_chosen_shipping_method_for_package(int $key, array<string|int, mixed> $package) : string|bool
Parameters
$key : int

Key of package.

$package : array<string|int, mixed>

Package data array.

Tags
since
3.2.0

wc_get_default_shipping_method_for_package()

Choose the default method for a package.

wc_get_default_shipping_method_for_package(int $key, array<string|int, mixed> $package, string $chosen_method) : string
Parameters
$key : int

Key of package.

$package : array<string|int, mixed>

Package data array.

$chosen_method : string

Chosen method id.

Tags
since
3.2.0

wc_shipping_methods_have_changed()

See if the methods have changed since the last request.

wc_shipping_methods_have_changed(int $key, array<string|int, mixed> $package) : bool
Parameters
$key : int

Key of package.

$package : array<string|int, mixed>

Package data array.

Tags
since
3.2.0

wc_get_cart_item_data_hash()

Gets a hash of important product data that when changed should cause cart items to be invalidated.

wc_get_cart_item_data_hash(WC_Product $product) : string

The woocommerce_cart_item_data_to_validate filter can be used to add custom properties.

Parameters
$product : WC_Product

Product object.

is_woocommerce()

Is_woocommerce - Returns true if on a page which uses WooCommerce templates (cart and checkout are standard pages with shortcodes and thus are not included).

is_woocommerce() : bool

is_product_category()

Is_product_category - Returns true when viewing a product category.

is_product_category([string $term = '' ]) : bool
Parameters
$term : string = ''

(default: '') The term slug your checking for. Leave blank to return true on any.

is_product_tag()

Is_product_tag - Returns true when viewing a product tag.

is_product_tag([string $term = '' ]) : bool
Parameters
$term : string = ''

(default: '') The term slug your checking for. Leave blank to return true on any.

is_wc_endpoint_url()

Is_wc_endpoint_url - Check if an endpoint is showing.

is_wc_endpoint_url([string|false $endpoint = false ]) : bool
Parameters
$endpoint : string|false = false

Whether endpoint.

is_edit_account_page()

Check for edit account page.

is_edit_account_page() : bool

Returns true when viewing the edit account page.

Tags
since
2.5.1

is_add_payment_method_page()

Is_add_payment_method_page - Returns true when viewing the add payment method page.

is_add_payment_method_page() : bool

is_ajax()

Is_ajax - Returns true when the page is loaded via ajax.

is_ajax() : bool
Tags
see
wp_doing_ajax()

for an equivalent function provided by WordPress since 4.7.0

taxonomy_is_product_attribute()

Returns true when the passed taxonomy name is a product attribute.

taxonomy_is_product_attribute(string $name) : bool
Parameters
$name : string

of the attribute.

Tags
uses

$wc_product_attributes global which stores taxonomy names upon registration

meta_is_product_attribute()

Returns true when the passed meta name is a product attribute.

meta_is_product_attribute(string $name, string $value, int $product_id) : bool
Parameters
$name : string

of the attribute.

$value : string

of the attribute.

$product_id : int

to check for attribute.

wc_is_valid_url()

Simple check for validating a URL, it must start with http:// or https://.

wc_is_valid_url(string $url) : bool

and pass FILTER_VALIDATE_URL validation.

Parameters
$url : string

to check.

wc_site_is_https()

Check if the home URL is https. If it is, we don't need to do things such as 'force ssl'.

wc_site_is_https() : bool
Tags
since
2.4.13

wc_checkout_is_https()

Check if the checkout is configured for https. Look at options, WP HTTPS plugin, or the permalink itself.

wc_checkout_is_https() : bool
Tags
since
2.5.0

wc_post_content_has_shortcode()

Checks whether the content passed contains a specific short code.

wc_post_content_has_shortcode([string $tag = '' ]) : bool
Parameters
$tag : string = ''

Shortcode tag to check.

wc_is_file_valid_csv()

Check if a CSV file is valid.

wc_is_file_valid_csv(string $file[, bool $check_path = true ]) : bool
Parameters
$file : string

File name.

$check_path : bool = true

If should check for the path.

Tags
since
3.6.5

wc_current_theme_supports_woocommerce_or_fse()

Check if the current theme has WooCommerce support or is a FSE theme.

wc_current_theme_supports_woocommerce_or_fse() : bool
Tags
since
6.0.0

wc_wp_theme_get_element_class_name()

Given an element name, returns a class name.

wc_wp_theme_get_element_class_name(string $element) : string

If the WP-related function is not defined or current theme is not a FSE theme, return empty string.

Parameters
$element : string

The name of the element.

Tags
since
7.0.1

wc_block_theme_has_styles_for_element()

Given an element name, returns true or false depending on whether the current theme has styles for that element defined in theme.json.

wc_block_theme_has_styles_for_element(string $element) : bool

If the theme is not a block theme or the WP-related function is not defined, return false.

Parameters
$element : string

The name of the element.

Tags
since
7.4.0

wc_maybe_define_constant()

Define a constant if it is not already defined.

wc_maybe_define_constant(string $name, mixed $value) : mixed
Parameters
$name : string

Constant name.

$value : mixed

Value.

Tags
since
3.0.0

wc_create_order()

Create a new order programmatically.

wc_create_order([array<string|int, mixed> $args = array() ]) : WC_Order|WP_Error

Returns a new order object on success which can then be used to add additional data.

Parameters
$args : array<string|int, mixed> = array()

Order arguments.

wc_update_order()

Update an order. Uses wc_create_order.

wc_update_order(array<string|int, mixed> $args) : WC_Order|WP_Error
Parameters
$args : array<string|int, mixed>

Order arguments.

wc_tokenize_path()

Given a path, this will convert any of the subpaths into their corresponding tokens.

wc_tokenize_path(string $path, array<string|int, mixed> $path_tokens) : string
Parameters
$path : string

The absolute path to tokenize.

$path_tokens : array<string|int, mixed>

An array keyed with the token, containing paths that should be replaced.

Tags
since
4.3.0

wc_untokenize_path()

Given a tokenized path, this will expand the tokens to their full path.

wc_untokenize_path(string $path, array<string|int, mixed> $path_tokens) : string
Parameters
$path : string

The absolute path to expand.

$path_tokens : array<string|int, mixed>

An array keyed with the token, containing paths that should be expanded.

Tags
since
4.3.0

wc_get_path_define_tokens()

Fetches an array containing all of the configurable path constants to be used in tokenization.

wc_get_path_define_tokens() : array<string|int, mixed>

wc_get_template_part()

Get template part (for templates like the shop-loop).

wc_get_template_part(mixed $slug[, string $name = '' ]) : mixed

WC_TEMPLATE_DEBUG_MODE will prevent overrides in themes from taking priority.

Parameters
$slug : mixed

Template slug.

$name : string = ''

Template name (default: '').

wc_get_template()

Get other templates (e.g. product attributes) passing attributes and including the file.

wc_get_template(string $template_name[, array<string|int, mixed> $args = array() ][, string $template_path = '' ][, string $default_path = '' ]) : mixed
Parameters
$template_name : string

Template name.

$args : array<string|int, mixed> = array()

Arguments. (default: array).

$template_path : string = ''

Template path. (default: '').

$default_path : string = ''

Default path. (default: '').

wc_get_template_html()

Like wc_get_template, but returns the HTML instead of outputting.

wc_get_template_html(string $template_name[, array<string|int, mixed> $args = array() ][, string $template_path = '' ][, string $default_path = '' ]) : string
Parameters
$template_name : string

Template name.

$args : array<string|int, mixed> = array()

Arguments. (default: array).

$template_path : string = ''

Template path. (default: '').

$default_path : string = ''

Default path. (default: '').

Tags
see
wc_get_template
since
2.5.0

wc_locate_template()

Locate a template and return the path for inclusion.

wc_locate_template(string $template_name[, string $template_path = '' ][, string $default_path = '' ]) : string

This is the load order:

yourtheme/$template_path/$template_name yourtheme/$template_name $default_path/$template_name

Parameters
$template_name : string

Template name.

$template_path : string = ''

Template path. (default: '').

$default_path : string = ''

Default path. (default: '').

wc_set_template_cache()

Add a template to the template cache.

wc_set_template_cache(string $cache_key, string $template) : mixed
Parameters
$cache_key : string

Object cache key.

$template : string

Located template.

Tags
since
4.3.0

get_woocommerce_currencies()

Get full list of currency codes.

get_woocommerce_currencies() : array<string|int, mixed>

Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)

get_woocommerce_currency_symbols()

Get all available Currency symbols.

get_woocommerce_currency_symbols() : array<string|int, mixed>

Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)

Tags
since
4.1.0

get_woocommerce_currency_symbol()

Get Currency symbol.

get_woocommerce_currency_symbol([string $currency = '' ]) : string

Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols)

Parameters
$currency : string = ''

Currency. (default: '').

wc_mail()

Send HTML emails from WooCommerce.

wc_mail(mixed $to, mixed $subject, mixed $message[, string $headers = "Content-Type: text/html " ][, string $attachments = '' ]) : bool
Parameters
$to : mixed

Receiver.

$subject : mixed

Subject.

$message : mixed

Message.

$headers : string = "Content-Type: text/html "

Headers. (default: "Content-Type: text/html\r\n").

$attachments : string = ''

Attachments. (default: "").

wc_get_theme_support()

Return "theme support" values from the current theme, if set.

wc_get_theme_support([string $prop = '' ][, mixed $default = null ]) : mixed
Parameters
$prop : string = ''

Name of prop (or key::subkey for arrays of props) if you want a specific value. Leave blank to get all props as an array.

$default : mixed = null

Optional value to return if the theme does not declare support for a prop.

Tags
since
3.3.0

wc_get_image_size()

Get an image size by name or defined dimensions.

wc_get_image_size(array<string|int, mixed>|string $image_size) : array<string|int, mixed>

The returned variable is filtered by woocommerce_get_image_size_{image_size} filter to allow 3rd party customisation.

Sizes defined by the theme take priority over settings. Settings are hidden when a theme defines sizes.

Parameters
$image_size : array<string|int, mixed>|string

Name of the image size to get, or an array of dimensions.

wc_enqueue_js()

Queue some JavaScript code to be output in the footer.

wc_enqueue_js(string $code) : mixed
Parameters
$code : string

Code.

wc_setcookie()

Set a cookie - wrapper for setcookie using WP constants.

wc_setcookie(string $name, string $value, int $expire[, bool $secure = false ][, bool $httponly = false ]) : mixed
Parameters
$name : string

Name of the cookie being set.

$value : string

Value of the cookie.

$expire : int

Expiry of the cookie.

$secure : bool = false

Whether the cookie should be served only over https.

$httponly : bool = false

Whether the cookie is only accessible over HTTP, not scripting languages like JavaScript. @since 3.6.0.

get_woocommerce_api_url()

Get the URL to the WooCommerce REST API.

get_woocommerce_api_url(string $path) : string
Parameters
$path : string

an endpoint to include in the URL.

Tags
since
2.1

wc_get_log_file_path()

Get a log file path.

wc_get_log_file_path(string $handle) : string
Parameters
$handle : string

name.

Tags
since
2.2

wc_get_log_file_name()

Get a log file name.

wc_get_log_file_name(string $handle) : string
Parameters
$handle : string

Name.

Tags
since
3.3

wc_get_page_children()

Recursively get page children.

wc_get_page_children(int $page_id) : array<string|int, int>
Parameters
$page_id : int

Page ID.

flush_rewrite_rules_on_shop_page_save()

Flushes rewrite rules when the shop page (or it's children) gets saved.

flush_rewrite_rules_on_shop_page_save() : mixed

wc_fix_rewrite_rules()

Various rewrite rule fixes.

wc_fix_rewrite_rules(array<string|int, mixed> $rules) : array<string|int, mixed>
Parameters
$rules : array<string|int, mixed>

Rules.

Tags
since
2.2

Prevent product attachment links from breaking when using complex rewrite structures.

wc_fix_product_attachment_link(string $link, int $post_id) : string
Parameters
$link : string

Link.

$post_id : int

Post ID.

wc_ms_protect_download_rewite_rules()

Protect downloads from ms-files.php in multisite.

wc_ms_protect_download_rewite_rules(string $rewrite) : string
Parameters
$rewrite : string

rewrite rules.

wc_format_country_state_string()

Formats a string in the format COUNTRY:STATE into an array.

wc_format_country_state_string(string $country_string) : array<string|int, mixed>
Parameters
$country_string : string

Country string.

Tags
since
2.3.0

wc_get_base_location()

Get the store's base location.

wc_get_base_location() : array<string|int, mixed>
Tags
since
2.3.0

wc_get_customer_default_location()

Get the customer's default location.

wc_get_customer_default_location() : array<string|int, mixed>

Filtered, and set to base location or left blank. If cache-busting, this should only be used when 'location' is set in the querystring.

Tags
since
2.3.0

wc_api_hash()

WC API - Hash.

wc_api_hash(string $data) : string
Parameters
$data : string

Message to be hashed.

Tags
since
2.4.0

wc_array_cartesian()

Find all possible combinations of values from the input array and return in a logical order.

wc_array_cartesian(array<string|int, mixed> $input) : array<string|int, mixed>
Parameters
$input : array<string|int, mixed>

Input.

Tags
since
2.5.0

wc_transaction_query()

Run a MySQL transaction query, if supported.

wc_transaction_query([string $type = 'start' ][, bool $force = false ]) : mixed
Parameters
$type : string = 'start'

Types: start (default), commit, rollback.

$force : bool = false

use of transactions.

Tags
since
2.5.0

woocommerce_register_shipping_method()

Register a shipping method.

woocommerce_register_shipping_method(string|object $shipping_method) : mixed
Parameters
$shipping_method : string|object

class name (string) or a class object.

Tags
since
1.5.7

wc_get_shipping_zone()

Get the shipping zone matching a given package from the cart.

wc_get_shipping_zone(array<string|int, mixed> $package) : WC_Shipping_Zone
Parameters
$package : array<string|int, mixed>

Shipping package.

Tags
since
2.6.0
uses
WC_Shipping_Zones::get_zone_matching_package

wc_get_credit_card_type_label()

Get a nice name for credit card providers.

wc_get_credit_card_type_label(string $type) : string
Parameters
$type : string

Provider Slug/Type.

Tags
since
2.6.0

Outputs a "back" link so admin screens can easily jump back a page.

wc_back_link(string $label, string $url) : mixed
Parameters
$label : string

Title of the page to return to.

$url : string

URL of the page to return to.

wc_help_tip()

Display a WooCommerce help tip.

wc_help_tip(string $tip[, bool $allow_html = false ]) : string
Parameters
$tip : string

Help tip text.

$allow_html : bool = false

Allow sanitized HTML if true or escape.

Tags
since
2.5.0

wc_get_wildcard_postcodes()

Return a list of potential postcodes for wildcard searching.

wc_get_wildcard_postcodes(string $postcode[, string $country = '' ]) : array<string|int, string>
Parameters
$postcode : string

Postcode.

$country : string = ''

Country to format postcode for matching.

Tags
since
2.6.0

wc_postcode_location_matcher()

Used by shipping zones and taxes to compare a given $postcode to stored postcodes to find matches for numerical ranges, and wildcards.

wc_postcode_location_matcher(string $postcode, array<string|int, mixed> $objects, string $object_id_key, string $object_compare_key[, string $country = '' ]) : array<string|int, mixed>
Parameters
$postcode : string

Postcode you want to match against stored postcodes.

$objects : array<string|int, mixed>

Array of postcode objects from Database.

$object_id_key : string

DB column name for the ID.

$object_compare_key : string

DB column name for the value.

$country : string = ''

Country from which this postcode belongs. Allows for formatting.

Tags
since
2.6.0

wc_get_shipping_method_count()

Gets number of shipping methods currently enabled. Used to identify if shipping is configured.

wc_get_shipping_method_count([bool $include_legacy = false ][, bool $enabled_only = false ]) : int
Parameters
$include_legacy : bool = false

Count legacy shipping methods too.

$enabled_only : bool = false

Whether non-legacy shipping methods should be restricted to enabled ones. It doesn't affect legacy shipping methods. @since 4.3.0.

Tags
since
2.6.0

wc_set_time_limit()

Wrapper for set_time_limit to see if it is enabled.

wc_set_time_limit(int $limit) : mixed
Parameters
$limit : int

Time limit.

Tags
since
2.6.0

wc_nocache_headers()

Wrapper for nocache_headers which also disables page caching.

wc_nocache_headers() : mixed
Tags
since
3.2.4

wc_product_attribute_uasort_comparison()

Used to sort products attributes with uasort.

wc_product_attribute_uasort_comparison(array<string|int, mixed> $a, array<string|int, mixed> $b) : int
Parameters
$a : array<string|int, mixed>

First attribute to compare.

$b : array<string|int, mixed>

Second attribute to compare.

Tags
since
2.6.0

wc_shipping_zone_method_order_uasort_comparison()

Used to sort shipping zone methods with uasort.

wc_shipping_zone_method_order_uasort_comparison(array<string|int, mixed> $a, array<string|int, mixed> $b) : int
Parameters
$a : array<string|int, mixed>

First shipping zone method to compare.

$b : array<string|int, mixed>

Second shipping zone method to compare.

Tags
since
3.0.0

wc_checkout_fields_uasort_comparison()

User to sort checkout fields based on priority with uasort.

wc_checkout_fields_uasort_comparison(array<string|int, mixed> $a, array<string|int, mixed> $b) : int
Parameters
$a : array<string|int, mixed>

First field to compare.

$b : array<string|int, mixed>

Second field to compare.

Tags
since
3.5.1

wc_uasort_comparison()

User to sort two values with ausort.

wc_uasort_comparison(int $a, int $b) : int
Parameters
$a : int

First value to compare.

$b : int

Second value to compare.

Tags
since
3.5.1

wc_ascii_uasort_comparison()

Sort values based on ascii, usefull for special chars in strings.

wc_ascii_uasort_comparison(string $a, string $b) : int
Parameters
$a : string

First value.

$b : string

Second value.

wc_asort_by_locale()

Sort array according to current locale rules and maintaining index association.

wc_asort_by_locale(array<string|int, mixed> &$data[, string $locale = '' ]) : array<string|int, mixed>

By default tries to use Collator from PHP Internationalization Functions if available. If PHP Collator class doesn't exists it fallback to removing accepts from a array and by sorting with uasort( $data, 'strcmp' ) giving support for ASCII values.

Parameters
$data : array<string|int, mixed>

List of values to sort.

$locale : string = ''

Locale.

Tags
since
4.6.0

wc_get_tax_rounding_mode()

Get rounding mode for internal tax calculations.

wc_get_tax_rounding_mode() : int
Tags
since
3.2.4

wc_get_rounding_precision()

Get rounding precision for internal WC calculations.

wc_get_rounding_precision() : int

Will return the value of wc_get_price_decimals increased by 2 decimals, with WC_ROUNDING_PRECISION being the minimum.

Tags
since
2.6.3

wc_add_number_precision()

Add precision to a number by moving the decimal point to the right as many places as indicated by wc_get_price_decimals().

wc_add_number_precision(float|null $value[, bool $round = true ]) : int|float

Optionally the result is rounded so that the total number of digits equals wc_get_rounding_precision() plus one.

Parameters
$value : float|null

Number to add precision to.

$round : bool = true

If the result should be rounded.

Tags
since
3.2.0

wc_remove_number_precision()

Remove precision from a number and return a float.

wc_remove_number_precision(float $value) : float
Parameters
$value : float

Number to add precision to.

Tags
since
3.2.0

wc_add_number_precision_deep()

Add precision to an array of number and return an array of int.

wc_add_number_precision_deep(array<string|int, mixed> $value[, bool $round = true ]) : int|array<string|int, mixed>
Parameters
$value : array<string|int, mixed>

Number to add precision to.

$round : bool = true

Should we round after adding precision?.

Tags
since
3.2.0

wc_remove_number_precision_deep()

Remove precision from an array of number and return an array of int.

wc_remove_number_precision_deep(array<string|int, mixed> $value) : int|array<string|int, mixed>
Parameters
$value : array<string|int, mixed>

Number to add precision to.

Tags
since
3.2.0

wc_get_logger()

Get a shared logger instance.

wc_get_logger() : WC_Logger

Use the woocommerce_logging_class filter to change the logging class. You may provide one of the following: - a class name which will be instantiated as new $class with no arguments - an instance which will be used directly as the logger In either case, the class or instance must implement WC_Logger_Interface.

Tags
see
WC_Logger_Interface

wc_print_r()

Prints human-readable information about a variable.

wc_print_r(mixed $expression[, bool $return = false ]) : string|bool

Some server environments block some debugging functions. This function provides a safe way to turn an expression into a printable, readable form without calling blocked functions.

Parameters
$expression : mixed

The expression to be printed.

$return : bool = false

Optional. Default false. Set to true to return the human-readable string.

Tags
since
3.0

wc_register_default_log_handler()

Registers the default log handler.

wc_register_default_log_handler(array<string|int, mixed> $handlers) : array<string|int, mixed>
Parameters
$handlers : array<string|int, mixed>

Handlers.

Tags
since
3.0

wc_list_pluck()

Based on wp_list_pluck, this calls a method instead of returning a property.

wc_list_pluck(array<string|int, mixed> $list, int|string $callback_or_field[, int|string $index_key = null ]) : array<string|int, mixed>
Parameters
$list : array<string|int, mixed>

List of objects or arrays.

$callback_or_field : int|string

Callback method from the object to place instead of the entire object.

$index_key : int|string = null

Optional. Field from the object to use as keys for the new array. Default null.

Tags
since
3.0.0

Get permalink settings for things like products and taxonomies.

wc_get_permalink_structure() : array<string|int, mixed>

As of 3.3.0, the permalink settings are stored to the option instead of being blank and inheritting from the locale. This speeds up page loading times by negating the need to switch locales on each page load.

This is more inline with WP core behavior which does not localize slugs.

Tags
since
3.0.0

wc_switch_to_site_locale()

Switch WooCommerce to site language.

wc_switch_to_site_locale() : mixed
Tags
since
3.1.0

wc_make_phone_clickable()

Convert plaintext phone number to clickable phone number.

wc_make_phone_clickable(string $phone) : string

Remove formatting and allow "+". Example and specs: https://developer.mozilla.org/en/docs/Web/HTML/Element/a#Creating_a_phone_link

Parameters
$phone : string

Content to convert phone number.

Tags
since
3.1.0

wc_get_post_data_by_key()

Get an item of post data if set, otherwise return a default value.

wc_get_post_data_by_key(string $key[, string $default = '' ]) : mixed
Parameters
$key : string

Meta key.

$default : string = ''

Default value.

Tags
since
3.0.9

wc_get_var()

Get data if set, otherwise return a default value or null. Prevents notices when data is not set.

wc_get_var(mixed &$var[, string $default = null ]) : mixed
Parameters
$var : mixed

Variable.

$default : string = null

Default value.

Tags
since
3.2.0

wc_enable_wc_plugin_headers()

Read in WooCommerce headers when reading plugin headers.

wc_enable_wc_plugin_headers(array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
$headers : array<string|int, mixed>

Headers.

Tags
since
3.2.0

wc_prevent_dangerous_auto_updates()

Prevent auto-updating the WooCommerce plugin on major releases if there are untested extensions active.

wc_prevent_dangerous_auto_updates(bool $should_update, object $plugin) : bool
Parameters
$should_update : bool

If should update.

$plugin : object

Plugin data.

Tags
since
3.2.0

wc_delete_expired_transients()

Delete expired transients.

wc_delete_expired_transients() : int

Deletes all expired transients. The multi-table delete syntax is used. to delete the transient record from table a, and the corresponding. transient_timeout record from table b.

Based on code inside core's upgrade_network() function.

Tags
since
3.2.0

wc_get_relative_url()

Make a URL relative, if possible.

wc_get_relative_url(string $url) : string
Parameters
$url : string

URL to make relative.

Tags
since
3.2.0

wc_is_external_resource()

See if a resource is remote.

wc_is_external_resource(string $url) : bool
Parameters
$url : string

URL to check.

Tags
since
3.2.0

wc_is_active_theme()

See if theme/s is activate or not.

wc_is_active_theme(string|array<string|int, mixed> $theme) : bool
Parameters
$theme : string|array<string|int, mixed>

Theme name or array of theme names to check.

Tags
since
3.3.0

wc_cleanup_session_data()

Cleans up session data - cron callback.

wc_cleanup_session_data() : mixed
Tags
since
3.3.0

wc_decimal_to_fraction()

Convert a decimal (e.g. 3.5) to a fraction (e.g. 7/2).

wc_decimal_to_fraction(float $decimal) : array<string|int, mixed>|bool

From: https://www.designedbyaturtle.co.uk/2015/converting-a-decimal-to-a-fraction-in-php/

Parameters
$decimal : float

the decimal number.

wc_round_discount()

Round discount.

wc_round_discount(float $value, int $precision) : float
Parameters
$value : float

Amount to round.

$precision : int

DP to round.

wc_selected()

Return the html selected attribute if stringified $value is found in array of stringified $options or if stringified $value is the same as scalar stringified $options.

wc_selected(string|int $value, string|int|array<string|int, mixed> $options) : string
Parameters
$value : string|int

Value to find within options.

$options : string|int|array<string|int, mixed>

Options to go through when looking for value.

wc_get_server_database_version()

Retrieves the MySQL server version. Based on $wpdb.

wc_get_server_database_version() : array<string|int, mixed>
Tags
since
3.4.1

wc_is_running_from_async_action_scheduler()

Test whether the context of execution comes from async action scheduler.

wc_is_running_from_async_action_scheduler() : bool
Tags
since
4.0.0

wc_cache_get_multiple()

Polyfill for wp_cache_get_multiple for WP versions before 5.5.

wc_cache_get_multiple(array<string|int, mixed> $keys[, string $group = '' ][, bool $force = false ]) : array<string|int, mixed>|bool
Parameters
$keys : array<string|int, mixed>

Array of keys to get from group.

$group : string = ''

Optional. Where the cache contents are grouped. Default empty.

$force : bool = false

Optional. Whether to force an update of the local cache from the persistent cache. Default false.

wc_get_coupon_type()

Get a coupon type's name.

wc_get_coupon_type([string $type = '' ]) : string
Parameters
$type : string = ''

Coupon type.

wc_get_product_coupon_types()

Coupon types that apply to individual products. Controls which validation rules will apply.

wc_get_product_coupon_types() : array<string|int, mixed>
Tags
since
2.5.0

wc_get_cart_coupon_types()

Coupon types that apply to the cart as a whole. Controls which validation rules will apply.

wc_get_cart_coupon_types() : array<string|int, mixed>
Tags
since
2.5.0

wc_get_coupon_code_by_id()

Get coupon code by ID.

wc_get_coupon_code_by_id(int $id) : string
Parameters
$id : int

Coupon ID.

Tags
since
3.0.0

wc_get_coupon_id_by_code()

Get coupon ID by code.

wc_get_coupon_id_by_code(string $code, int $exclude) : int
Parameters
$code : string

Coupon code.

$exclude : int

Used to exclude an ID from the check if you're checking existence.

Tags
since
3.0.0

wc_do_deprecated_action()

Runs a deprecated action with notice only if used.

wc_do_deprecated_action(string $tag, array<string|int, mixed> $args, string $version[, string $replacement = null ][, string $message = null ]) : mixed
Parameters
$tag : string

The name of the action hook.

$args : array<string|int, mixed>

Array of additional function arguments to be passed to do_action().

$version : string

The version of WooCommerce that deprecated the hook.

$replacement : string = null

The hook that should have been used.

$message : string = null

A message regarding the change.

Tags
since
3.0.0

wc_deprecated_function()

Wrapper for deprecated functions so we can apply some extra logic.

wc_deprecated_function(string $function, string $version[, string $replacement = null ]) : mixed
Parameters
$function : string

Function used.

$version : string

Version the message was added in.

$replacement : string = null

Replacement for the called function.

Tags
since
3.0.0

wc_deprecated_hook()

Wrapper for deprecated hook so we can apply some extra logic.

wc_deprecated_hook(string $hook, string $version[, string $replacement = null ][, string $message = null ]) : mixed
Parameters
$hook : string

The hook that was used.

$version : string

The version of WordPress that deprecated the hook.

$replacement : string = null

The hook that should have been used.

$message : string = null

A message regarding the change.

Tags
since
3.3.0

wc_caught_exception()

When catching an exception, this allows us to log it if unexpected.

wc_caught_exception(Exception $exception_object[, string $function = '' ][, array<string|int, mixed> $args = array() ]) : mixed
Parameters
$exception_object : Exception

The exception object.

$function : string = ''

The function which threw exception.

$args : array<string|int, mixed> = array()

The args passed to the function.

Tags
since
3.3.0

wc_doing_it_wrong()

Wrapper for _doing_it_wrong().

wc_doing_it_wrong(string $function, string $message, string $version) : mixed
Parameters
$function : string

Function used.

$message : string

Message to log.

$version : string

Version the message was added in.

Tags
since
3.0.0

wc_deprecated_argument()

Wrapper for deprecated arguments so we can apply some extra logic.

wc_deprecated_argument(string $argument, string $version[, mixed $message = null ]) : mixed
Parameters
$argument : string
$version : string
$message : mixed = null
Tags
since
3.0.0

woocommerce_create_page()

woocommerce_create_page(mixed $slug[, mixed $option = '' ][, mixed $page_title = '' ][, mixed $page_content = '' ], mixed $post_parent) : mixed
Parameters
$slug : mixed
$option : mixed = ''
$page_title : mixed = ''
$page_content : mixed = ''
$post_parent : mixed
Tags
deprecated
2.1

woocommerce_readfile_chunked()

woocommerce_readfile_chunked(mixed $file[, mixed $retbytes = true ]) : mixed
Parameters
$file : mixed
$retbytes : mixed = true
Tags
deprecated
2.1

woocommerce_format_total()

Formal total costs - format to the number of decimal places for the base currency.

woocommerce_format_total(mixed $number) : string
Parameters
$number : mixed
Tags
access

public

deprecated
2.1

woocommerce_get_formatted_product_name()

Get product name with extra details such as SKU price and attributes. Used within admin.

woocommerce_get_formatted_product_name(WC_Product $product) : string
Parameters
$product : WC_Product
Tags
access

public

deprecated
2.1

woocommerce_legacy_paypal_ipn()

Handle IPN requests for the legacy paypal gateway by calling gateways manually if needed.

woocommerce_legacy_paypal_ipn() : mixed
Tags
access

public

get_product()

get_product([mixed $the_product = false ][, mixed $args = array() ]) : mixed
Parameters
$the_product : mixed = false
$args : mixed = array()
Tags
deprecated
3.0

woocommerce_protected_product_add_to_cart()

woocommerce_protected_product_add_to_cart(mixed $passed, mixed $product_id) : mixed
Parameters
$passed : mixed
$product_id : mixed
Tags
deprecated
3.0

woocommerce_load_persistent_cart()

woocommerce_load_persistent_cart(mixed $user_login, mixed $user) : mixed
Parameters
$user_login : mixed
$user : mixed
Tags
deprecated
3.0

woocommerce_add_to_cart_message()

woocommerce_add_to_cart_message(mixed $product_id) : mixed
Parameters
$product_id : mixed
Tags
deprecated
3.0

woocommerce_cart_totals_coupon_html()

woocommerce_cart_totals_coupon_html(mixed $coupon) : mixed
Parameters
$coupon : mixed
Tags
deprecated
3.0

woocommerce_cart_totals_shipping_method_label()

woocommerce_cart_totals_shipping_method_label(mixed $method) : mixed
Parameters
$method : mixed
Tags
deprecated
3.0

woocommerce_get_template_part()

woocommerce_get_template_part(mixed $slug[, mixed $name = '' ]) : mixed
Parameters
$slug : mixed
$name : mixed = ''
Tags
deprecated
3.0

woocommerce_get_template()

woocommerce_get_template(mixed $template_name[, mixed $args = array() ][, mixed $template_path = '' ][, mixed $default_path = '' ]) : mixed
Parameters
$template_name : mixed
$args : mixed = array()
$template_path : mixed = ''
$default_path : mixed = ''
Tags
deprecated
3.0

woocommerce_locate_template()

woocommerce_locate_template(mixed $template_name[, mixed $template_path = '' ][, mixed $default_path = '' ]) : mixed
Parameters
$template_name : mixed
$template_path : mixed = ''
$default_path : mixed = ''
Tags
deprecated
3.0

woocommerce_mail()

woocommerce_mail(mixed $to, mixed $subject, mixed $message[, mixed $headers = "Content-Type: text/html " ][, mixed $attachments = "" ]) : mixed
Parameters
$to : mixed
$subject : mixed
$message : mixed
$headers : mixed = "Content-Type: text/html "
$attachments : mixed = ""
Tags
deprecated
3.0

woocommerce_disable_admin_bar()

woocommerce_disable_admin_bar(mixed $show_admin_bar) : mixed
Parameters
$show_admin_bar : mixed
Tags
deprecated
3.0

woocommerce_create_new_customer()

woocommerce_create_new_customer(mixed $email[, mixed $username = '' ][, mixed $password = '' ]) : mixed
Parameters
$email : mixed
$username : mixed = ''
$password : mixed = ''
Tags
deprecated
3.0
woocommerce_set_customer_auth_cookie(mixed $customer_id) : mixed
Parameters
$customer_id : mixed
Tags
deprecated
3.0

woocommerce_update_new_customer_past_orders()

woocommerce_update_new_customer_past_orders(mixed $customer_id) : mixed
Parameters
$customer_id : mixed
Tags
deprecated
3.0

woocommerce_customer_bought_product()

woocommerce_customer_bought_product(mixed $customer_email, mixed $user_id, mixed $product_id) : mixed
Parameters
$customer_email : mixed
$user_id : mixed
$product_id : mixed
Tags
deprecated
3.0

woocommerce_customer_has_capability()

woocommerce_customer_has_capability(mixed $allcaps, mixed $caps, mixed $args) : mixed
Parameters
$allcaps : mixed
$caps : mixed
$args : mixed
Tags
deprecated
3.0

woocommerce_sanitize_taxonomy_name()

woocommerce_sanitize_taxonomy_name(mixed $taxonomy) : mixed
Parameters
$taxonomy : mixed
Tags
deprecated
3.0

woocommerce_get_filename_from_url()

woocommerce_get_filename_from_url(mixed $file_url) : mixed
Parameters
$file_url : mixed
Tags
deprecated
3.0

woocommerce_get_dimension()

woocommerce_get_dimension(mixed $dim, mixed $to_unit) : mixed
Parameters
$dim : mixed
$to_unit : mixed
Tags
deprecated
3.0

woocommerce_get_weight()

woocommerce_get_weight(mixed $weight, mixed $to_unit) : mixed
Parameters
$weight : mixed
$to_unit : mixed
Tags
deprecated
3.0

woocommerce_format_decimal()

woocommerce_format_decimal(mixed $number[, mixed $dp = false ][, mixed $trim_zeros = false ]) : mixed
Parameters
$number : mixed
$dp : mixed = false
$trim_zeros : mixed = false
Tags
deprecated
3.0

woocommerce_array_overlay()

woocommerce_array_overlay(mixed $a1, mixed $a2) : mixed
Parameters
$a1 : mixed
$a2 : mixed
Tags
deprecated
3.0

woocommerce_price()

woocommerce_price(mixed $price[, mixed $args = array() ]) : mixed
Parameters
$price : mixed
$args : mixed = array()
Tags
deprecated
3.0

woocommerce_hex_darker()

woocommerce_hex_darker(mixed $color[, mixed $factor = 30 ]) : mixed
Parameters
$color : mixed
$factor : mixed = 30
Tags
deprecated
3.0

woocommerce_hex_lighter()

woocommerce_hex_lighter(mixed $color[, mixed $factor = 30 ]) : mixed
Parameters
$color : mixed
$factor : mixed = 30
Tags
deprecated
3.0

woocommerce_light_or_dark()

woocommerce_light_or_dark(mixed $color[, mixed $dark = '#000000' ][, mixed $light = '#FFFFFF' ]) : mixed
Parameters
$color : mixed
$dark : mixed = '#000000'
$light : mixed = '#FFFFFF'
Tags
deprecated
3.0

woocommerce_get_order_id_by_order_key()

woocommerce_get_order_id_by_order_key(mixed $order_key) : mixed
Parameters
$order_key : mixed
Tags
deprecated
3.0

woocommerce_downloadable_file_permission()

woocommerce_downloadable_file_permission(mixed $download_id, mixed $product_id, mixed $order) : mixed
Parameters
$download_id : mixed
$product_id : mixed
$order : mixed
Tags
deprecated
3.0

woocommerce_downloadable_product_permissions()

woocommerce_downloadable_product_permissions(mixed $order_id) : mixed
Parameters
$order_id : mixed
Tags
deprecated
3.0

woocommerce_add_order_item()

woocommerce_add_order_item(mixed $order_id, mixed $item) : mixed
Parameters
$order_id : mixed
$item : mixed
Tags
deprecated
3.0

woocommerce_update_order_item_meta()

woocommerce_update_order_item_meta(mixed $item_id, mixed $meta_key, mixed $meta_value[, mixed $prev_value = '' ]) : mixed
Parameters
$item_id : mixed
$meta_key : mixed
$meta_value : mixed
$prev_value : mixed = ''
Tags
deprecated
3.0

woocommerce_add_order_item_meta()

woocommerce_add_order_item_meta(mixed $item_id, mixed $meta_key, mixed $meta_value[, mixed $unique = false ]) : mixed
Parameters
$item_id : mixed
$meta_key : mixed
$meta_value : mixed
$unique : mixed = false
Tags
deprecated
3.0

woocommerce_delete_order_item_meta()

woocommerce_delete_order_item_meta(mixed $item_id, mixed $meta_key[, mixed $meta_value = '' ][, mixed $delete_all = false ]) : mixed
Parameters
$item_id : mixed
$meta_key : mixed
$meta_value : mixed = ''
$delete_all : mixed = false
Tags
deprecated
3.0

woocommerce_get_order_item_meta()

woocommerce_get_order_item_meta(mixed $item_id, mixed $key[, mixed $single = true ]) : mixed
Parameters
$item_id : mixed
$key : mixed
$single : mixed = true
Tags
deprecated
3.0

woocommerce_get_endpoint_url()

woocommerce_get_endpoint_url(mixed $endpoint[, mixed $value = '' ][, mixed $permalink = '' ]) : mixed
Parameters
$endpoint : mixed
$value : mixed = ''
$permalink : mixed = ''
Tags
deprecated
3.0

woocommerce_nav_menu_items()

woocommerce_nav_menu_items(mixed $items, mixed $args) : mixed
Parameters
$items : mixed
$args : mixed
Tags
deprecated
3.0

woocommerce_nav_menu_item_classes()

woocommerce_nav_menu_item_classes(mixed $menu_items, mixed $args) : mixed
Parameters
$menu_items : mixed
$args : mixed
Tags
deprecated
3.0

woocommerce_product_dropdown_categories()

woocommerce_product_dropdown_categories([mixed $args = array() ][, mixed $deprecated_hierarchical = 1 ][, mixed $deprecated_show_uncategorized = 1 ][, mixed $deprecated_orderby = '' ]) : mixed
Parameters
$args : mixed = array()
$deprecated_hierarchical : mixed = 1
$deprecated_show_uncategorized : mixed = 1
$deprecated_orderby : mixed = ''
Tags
deprecated
3.0

woocommerce_walk_category_dropdown_tree()

woocommerce_walk_category_dropdown_tree([mixed $a1 = '' ][, mixed $a2 = '' ][, mixed $a3 = '' ]) : mixed
Parameters
$a1 : mixed = ''
$a2 : mixed = ''
$a3 : mixed = ''
Tags
deprecated
3.0

woocommerce_order_terms()

woocommerce_order_terms(mixed $the_term, mixed $next_id, mixed $taxonomy, mixed $index[, mixed $terms = null ]) : mixed
Parameters
$the_term : mixed
$next_id : mixed
$taxonomy : mixed
$index : mixed
$terms : mixed = null
Tags
deprecated
3.0

woocommerce_set_term_order()

woocommerce_set_term_order(mixed $term_id, mixed $index, mixed $taxonomy[, mixed $recursive = false ]) : mixed
Parameters
$term_id : mixed
$index : mixed
$taxonomy : mixed
$recursive : mixed = false
Tags
deprecated
3.0

woocommerce_terms_clauses()

woocommerce_terms_clauses(mixed $clauses, mixed $taxonomies, mixed $args) : mixed
Parameters
$clauses : mixed
$taxonomies : mixed
$args : mixed
Tags
deprecated
3.0

_woocommerce_term_recount()

_woocommerce_term_recount(mixed $terms, mixed $taxonomy, mixed $callback, mixed $terms_are_term_taxonomy_ids) : mixed
Parameters
$terms : mixed
$taxonomy : mixed
$callback : mixed
$terms_are_term_taxonomy_ids : mixed
Tags
deprecated
3.0

woocommerce_recount_after_stock_change()

woocommerce_recount_after_stock_change(mixed $product_id) : mixed
Parameters
$product_id : mixed
Tags
deprecated
3.0

woocommerce_change_term_counts()

woocommerce_change_term_counts(mixed $terms, mixed $taxonomies, mixed $args) : mixed
Parameters
$terms : mixed
$taxonomies : mixed
$args : mixed
Tags
deprecated
3.0

woocommerce_get_product_terms()

woocommerce_get_product_terms(mixed $object_id, mixed $taxonomy[, mixed $fields = 'all' ]) : mixed
Parameters
$object_id : mixed
$taxonomy : mixed
$fields : mixed = 'all'
Tags
deprecated
3.0

woocommerce_product_post_type_link()

woocommerce_product_post_type_link(mixed $permalink, mixed $post) : mixed
Parameters
$permalink : mixed
$post : mixed
Tags
deprecated
3.0

woocommerce_placeholder_img()

woocommerce_placeholder_img([mixed $size = 'woocommerce_thumbnail' ]) : mixed
Parameters
$size : mixed = 'woocommerce_thumbnail'
Tags
deprecated
3.0

woocommerce_get_formatted_variation()

woocommerce_get_formatted_variation([mixed $variation = '' ][, mixed $flat = false ]) : mixed
Parameters
$variation : mixed = ''
$flat : mixed = false
Tags
deprecated
3.0

woocommerce_get_attachment_image_attributes()

woocommerce_get_attachment_image_attributes(mixed $attr) : mixed
Parameters
$attr : mixed
Tags
deprecated
3.0

woocommerce_prepare_attachment_for_js()

woocommerce_prepare_attachment_for_js(mixed $response) : mixed
Parameters
$response : mixed
Tags
deprecated
3.0

woocommerce_calc_shipping_backwards_compatibility()

woocommerce_calc_shipping was an option used to determine if shipping was enabled prior to version 2.6.0. This has since been replaced with wc_shipping_enabled() function and the woocommerce_ship_to_countries setting.

woocommerce_calc_shipping_backwards_compatibility(mixed $value) : string
Parameters
$value : mixed
Tags
deprecated
2.6.0

_wc_save_product_price()

Save product price.

_wc_save_product_price(int $product_id, float $regular_price[, float $sale_price = '' ][, string $date_from = '' ][, string $date_to = '' ]) : mixed

This is a private function (internal use ONLY) used until a data manipulation api is built.

Parameters
$product_id : int
$regular_price : float
$sale_price : float = ''
$date_from : string = ''
$date_to : string = ''
Tags
deprecated
3.0.0

wc_get_customer_avatar_url()

Return customer avatar URL.

wc_get_customer_avatar_url(string $email) : string
Parameters
$email : string

the customer's email.

Tags
deprecated
3.1.0
since
2.6.0

wc_get_core_supported_themes()

WooCommerce Core Supported Themes.

wc_get_core_supported_themes() : array<string|int, string>
Tags
deprecated
3.3.0
since
2.2

wc_get_min_max_price_meta_query()

Get min/max price meta query args.

wc_get_min_max_price_meta_query(array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$args : array<string|int, mixed>

Min price and max price arguments.

Tags
deprecated
3.6.0
since
3.0.0

wc_taxonomy_metadata_update_content_for_split_terms()

When a term is split, ensure meta data maintained.

wc_taxonomy_metadata_update_content_for_split_terms(int $old_term_id, int $new_term_id, string $term_taxonomy_id, string $taxonomy) : mixed
Parameters
$old_term_id : int

Old term ID.

$new_term_id : int

New term ID.

$term_taxonomy_id : string

Term taxonomy ID.

$taxonomy : string

Taxonomy.

Tags
deprecated
3.6.0

update_woocommerce_term_meta()

WooCommerce Term Meta API.

update_woocommerce_term_meta(int $term_id, string $meta_key, mixed $meta_value[, string $prev_value = '' ]) : bool

WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. This function serves as a wrapper, using the new table if present, or falling back to the WC table.

Parameters
$term_id : int

Term ID.

$meta_key : string

Meta key.

$meta_value : mixed

Meta value.

$prev_value : string = ''

Previous value. (default: '').

Tags
deprecated
3.6.0

add_woocommerce_term_meta()

WooCommerce Term Meta API.

add_woocommerce_term_meta(int $term_id, string $meta_key, mixed $meta_value[, bool $unique = false ]) : bool

WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. This function serves as a wrapper, using the new table if present, or falling back to the WC table.

Parameters
$term_id : int

Term ID.

$meta_key : string

Meta key.

$meta_value : mixed

Meta value.

$unique : bool = false

Make meta key unique. (default: false).

Tags
deprecated
3.6.0

delete_woocommerce_term_meta()

WooCommerce Term Meta API

delete_woocommerce_term_meta(int $term_id, string $meta_key[, mixed $meta_value = '' ][, bool $deprecated = false ]) : bool

WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. This function serves as a wrapper, using the new table if present, or falling back to the WC table.

Parameters
$term_id : int

Term ID.

$meta_key : string

Meta key.

$meta_value : mixed = ''

Meta value (default: '').

$deprecated : bool = false

Deprecated param (default: false).

Tags
deprecated
3.6.0

get_woocommerce_term_meta()

WooCommerce Term Meta API

get_woocommerce_term_meta(int $term_id, string $key[, bool $single = true ]) : mixed

WC tables for storing term meta are deprecated from WordPress 4.4 since 4.4 has its own table. This function serves as a wrapper, using the new table if present, or falling back to the WC table.

Parameters
$term_id : int

Term ID.

$key : string

Meta key.

$single : bool = true

Whether to return a single value. (default: true).

Tags
deprecated
3.6.0

wc_string_to_bool()

Converts a string (e.g. 'yes' or 'no') to a bool.

wc_string_to_bool(string|bool $string) : bool
Parameters
$string : string|bool

String to convert. If a bool is passed it will be returned as-is.

Tags
since
3.0.0

wc_bool_to_string()

Converts a bool to a 'yes' or 'no'.

wc_bool_to_string(bool|string $bool) : string
Parameters
$bool : bool|string

Bool to convert. If a string is passed it will first be converted to a bool.

Tags
since
3.0.0

wc_string_to_array()

Explode a string into an array by $delimiter and remove empty values.

wc_string_to_array(string $string[, string $delimiter = ',' ]) : array<string|int, mixed>
Parameters
$string : string

String to convert.

$delimiter : string = ','

Delimiter, defaults to ','.

Tags
since
3.0.0

wc_sanitize_taxonomy_name()

Sanitize taxonomy names. Slug format (no spaces, lowercase).

wc_sanitize_taxonomy_name(string $taxonomy) : string

Urldecode is used to reverse munging of UTF8 characters.

Parameters
$taxonomy : string

Taxonomy name.

Sanitize permalink values before insertion into DB.

wc_sanitize_permalink(string $value) : string

Cannot use wc_clean because it sometimes strips % chars and breaks the user's setting.

Parameters
$value : string

Permalink.

Tags
since
2.6.0

wc_get_filename_from_url()

Gets the filename part of a download URL.

wc_get_filename_from_url(string $file_url) : string
Parameters
$file_url : string

File URL.

wc_get_dimension()

Normalise dimensions, unify to cm then convert to wanted unit value.

wc_get_dimension(int|float $dimension, string $to_unit[, string $from_unit = '' ]) : float

Usage: wc_get_dimension( 55, 'in' ); wc_get_dimension( 55, 'in', 'm' );

Parameters
$dimension : int|float

Dimension.

$to_unit : string

Unit to convert to. Options: 'in', 'mm', 'cm', 'm'.

$from_unit : string = ''

Unit to convert from. Defaults to ''. Options: 'in', 'mm', 'cm', 'm'.

wc_get_weight()

Normalise weights, unify to kg then convert to wanted unit value.

wc_get_weight(int|float $weight, string $to_unit[, string $from_unit = '' ]) : float

Usage: wc_get_weight(55, 'kg'); wc_get_weight(55, 'kg', 'lbs');

Parameters
$weight : int|float

Weight.

$to_unit : string

Unit to convert to. Options: 'g', 'kg', 'lbs', 'oz'.

$from_unit : string = ''

Unit to convert from. Defaults to ''. Options: 'g', 'kg', 'lbs', 'oz'.

wc_trim_zeros()

Trim trailing zeros off prices.

wc_trim_zeros(string|float|int $price) : string
Parameters
$price : string|float|int

Price.

wc_round_tax_total()

Round a tax amount.

wc_round_tax_total(float $value[, int $precision = null ]) : float
Parameters
$value : float

Amount to round.

$precision : int = null

DP to round. Defaults to wc_get_price_decimals.

wc_legacy_round_half_down()

Round half down in PHP 5.2.

wc_legacy_round_half_down(float $value, int $precision) : float
Parameters
$value : float

Value to round.

$precision : int

Precision to round down to.

Tags
since
3.2.6

wc_format_refund_total()

Make a refund total negative.

wc_format_refund_total(float $amount) : float
Parameters
$amount : float

Refunded amount.

wc_format_decimal()

Format decimal numbers ready for DB storage.

wc_format_decimal(float|string $number[, mixed $dp = false ][, bool $trim_zeros = false ]) : string

Sanitize, optionally remove decimals, and optionally round + trim off zeros.

This function does not remove thousands - this should be done before passing a value to the function.

Parameters
$number : float|string

Expects either a float or a string with a decimal separator only (no thousands).

$dp : mixed = false

number Number of decimal points to use, blank to use woocommerce_price_num_decimals, or false to avoid all rounding.

$trim_zeros : bool = false

From end of string.

wc_float_to_string()

Convert a float to a string without locale formatting which PHP adds when changing floats to strings.

wc_float_to_string(float $float) : string
Parameters
$float : float

Float value to format.

wc_format_localized_price()

Format a price with WC Currency Locale settings.

wc_format_localized_price(string $value) : string
Parameters
$value : string

Price to localize.

wc_format_localized_decimal()

Format a decimal with the decimal separator for prices or PHP Locale settings.

wc_format_localized_decimal(string $value) : string
Parameters
$value : string

Decimal to localize.

wc_format_coupon_code()

Format a coupon code.

wc_format_coupon_code(string $value) : string
Parameters
$value : string

Coupon code to format.

Tags
since
3.0.0

wc_sanitize_coupon_code()

Sanitize a coupon code.

wc_sanitize_coupon_code(string $value) : string

Uses sanitize_post_field since coupon codes are stored as post_titles - the sanitization and escaping must match.

Parameters
$value : string

Coupon code to format.

Tags
since
3.6.0

wc_clean()

Clean variables using sanitize_text_field. Arrays are cleaned recursively.

wc_clean(string|array<string|int, mixed> $var) : string|array<string|int, mixed>

Non-scalar values are ignored.

Parameters
$var : string|array<string|int, mixed>

Data to sanitize.

wc_check_invalid_utf8()

Function wp_check_invalid_utf8 with recursive array support.

wc_check_invalid_utf8(string|array<string|int, mixed> $var) : string|array<string|int, mixed>
Parameters
$var : string|array<string|int, mixed>

Data to sanitize.

wc_sanitize_textarea()

Run wc_clean over posted textarea but maintain line breaks.

wc_sanitize_textarea(string $var) : string
Parameters
$var : string

Data to sanitize.

Tags
since
3.0.0

wc_sanitize_tooltip()

Sanitize a string destined to be a tooltip.

wc_sanitize_tooltip(string $var) : string
Parameters
$var : string

Data to sanitize.

Tags
since
2.3.10

Tooltips are encoded with htmlspecialchars to prevent XSS. Should not be used in conjunction with esc_attr()

wc_array_overlay()

Merge two arrays.

wc_array_overlay(array<string|int, mixed> $a1, array<string|int, mixed> $a2) : array<string|int, mixed>
Parameters
$a1 : array<string|int, mixed>

First array to merge.

$a2 : array<string|int, mixed>

Second array to merge.

wc_stock_amount()

Formats a stock amount by running it through a filter.

wc_stock_amount(int|float $amount) : int|float
Parameters
$amount : int|float

Stock amount.

wc_price()

Format the price with a currency symbol.

wc_price(float $price[, array<string|int, mixed> $args = array() ]) : string
Parameters
$price : float

Raw price.

$args : array<string|int, mixed> = array()

Arguments to format a price { Array of arguments. Defaults to empty array.

@type bool   $ex_tax_label       Adds exclude tax label.
                                 Defaults to false.
@type string $currency           Currency code.
                                 Defaults to empty string (Use the result from get_woocommerce_currency()).
@type string $decimal_separator  Decimal separator.
                                 Defaults the result of wc_get_price_decimal_separator().
@type string $thousand_separator Thousand separator.
                                 Defaults the result of wc_get_price_thousand_separator().
@type string $decimals           Number of decimals.
                                 Defaults the result of wc_get_price_decimals().
@type string $price_format       Price format depending on the currency position.
                                 Defaults the result of get_woocommerce_price_format().

}

wc_let_to_num()

Notation to numbers.

wc_let_to_num(string $size) : int

This function transforms the php.ini notation for numbers (like '2M') to an integer.

Parameters
$size : string

Size value.

wc_string_to_timestamp()

Convert mysql datetime to PHP timestamp, forcing UTC. Wrapper for strtotime.

wc_string_to_timestamp(string $time_string[, int|null $from_timestamp = null ]) : int

Based on wcs_strtotime_dark_knight() from WC Subscriptions by Prospress.

Parameters
$time_string : string

Time string.

$from_timestamp : int|null = null

Timestamp to convert from.

Tags
since
3.0.0

wc_timezone_string()

WooCommerce Timezone - helper to retrieve the timezone string for a site until.

wc_timezone_string() : string

a WP core method exists (see https://core.trac.wordpress.org/ticket/24730).

Adapted from https://secure.php.net/manual/en/function.timezone-name-from-abbr.php#89155.

Tags
since
2.1

wc_flatten_meta_callback()

Callback which can flatten post meta (gets the first value if it's an array).

wc_flatten_meta_callback(array<string|int, mixed> $value) : mixed
Parameters
$value : array<string|int, mixed>

Value to flatten.

Tags
since
3.0.0

wc_hex_darker()

Make HEX color darker.

wc_hex_darker(mixed $color[, int $factor = 30 ]) : string
Parameters
$color : mixed

Color.

$factor : int = 30

Darker factor. Defaults to 30.

wc_hex_lighter()

Make HEX color lighter.

wc_hex_lighter(mixed $color[, int $factor = 30 ]) : string
Parameters
$color : mixed

Color.

$factor : int = 30

Lighter factor. Defaults to 30.

wc_light_or_dark()

Detect if we should use a light or dark color on a background color.

wc_light_or_dark(mixed $color[, string $dark = '#000000' ][, string $light = '#FFFFFF' ]) : string
Parameters
$color : mixed

Color.

$dark : string = '#000000'

Darkest reference. Defaults to '#000000'.

$light : string = '#FFFFFF'

Lightest reference. Defaults to '#FFFFFF'.

wc_format_postcode()

Format the postcode according to the country and length of the postcode.

wc_format_postcode(string $postcode, string $country) : string
Parameters
$postcode : string

Unformatted postcode.

$country : string

Base country.

wc_normalize_postcode()

Normalize postcodes.

wc_normalize_postcode(string $postcode) : string

Remove spaces and convert characters to uppercase.

Parameters
$postcode : string

Postcode.

Tags
since
2.6.0

wc_format_phone_number()

Format phone numbers.

wc_format_phone_number(string $phone) : string
Parameters
$phone : string

Phone number.

wc_sanitize_phone_number()

Sanitize phone number.

wc_sanitize_phone_number(string $phone) : string

Allows only numbers and "+" (plus sign).

Parameters
$phone : string

Phone number.

Tags
since
3.6.0

wc_strtoupper()

Wrapper for mb_strtoupper which see's if supported first.

wc_strtoupper(string $string) : string
Parameters
$string : string

String to format.

Tags
since
3.1.0

wc_strtolower()

Make a string lowercase.

wc_strtolower(string $string) : string

Try to use mb_strtolower() when available.

Parameters
$string : string

String to format.

Tags
since
2.3

wc_trim_string()

Trim a string and append a suffix.

wc_trim_string(string $string[, int $chars = 200 ][, string $suffix = '...' ]) : string
Parameters
$string : string

String to trim.

$chars : int = 200

Amount of characters. Defaults to 200.

$suffix : string = '...'

Suffix. Defaults to '...'.

wc_format_content()

Format content to display shortcodes.

wc_format_content(string $raw_string) : string
Parameters
$raw_string : string

Raw string.

Tags
since
2.3.0

wc_format_product_short_description()

Format product short description.

wc_format_product_short_description(string $content) : string

Adds support for Jetpack Markdown.

Parameters
$content : string

Product short description.

Tags
codeCoverageIgnore
since
2.4.0

wc_format_option_price_separators()

Formats curency symbols when saved in settings.

wc_format_option_price_separators(string $value, array<string|int, mixed> $option, string $raw_value) : string
Parameters
$value : string

Option value.

$option : array<string|int, mixed>

Option name.

$raw_value : string

Raw value.

Tags
codeCoverageIgnore

wc_format_option_price_num_decimals()

Formats decimals when saved in settings.

wc_format_option_price_num_decimals(string $value, array<string|int, mixed> $option, string $raw_value) : string
Parameters
$value : string

Option value.

$option : array<string|int, mixed>

Option name.

$raw_value : string

Raw value.

Tags
codeCoverageIgnore

wc_format_option_hold_stock_minutes()

Formats hold stock option and sets cron event up.

wc_format_option_hold_stock_minutes(string $value, array<string|int, mixed> $option, string $raw_value) : string
Parameters
$value : string

Option value.

$option : array<string|int, mixed>

Option name.

$raw_value : string

Raw value.

Tags
codeCoverageIgnore

wc_sanitize_term_text_based()

Sanitize terms from an attribute text based.

wc_sanitize_term_text_based(string $term) : string
Parameters
$term : string

Term value.

Tags
since
2.4.5

wc_make_numeric_postcode()

Make numeric postcode.

wc_make_numeric_postcode(string $postcode) : string

Converts letters to numbers so we can do a simple range check on postcodes. E.g. PE30 becomes 16050300 (P = 16, E = 05, 3 = 03, 0 = 00)

Parameters
$postcode : string

Regular postcode.

Tags
since
2.6.0

wc_format_stock_for_display()

Format the stock amount ready for display based on settings.

wc_format_stock_for_display(WC_Product $product) : string
Parameters
$product : WC_Product

Product object for which the stock you need to format.

Tags
since
3.0.0

wc_format_stock_quantity_for_display()

Format the stock quantity ready for display.

wc_format_stock_quantity_for_display(int $stock_quantity, WC_Product $product) : string
Parameters
$stock_quantity : int

Stock quantity.

$product : WC_Product

Product instance so that we can pass through the filters.

Tags
since
3.0.0

wc_format_sale_price()

Format a sale price for display.

wc_format_sale_price(string $regular_price, string $sale_price) : string
Parameters
$regular_price : string

Regular price.

$sale_price : string

Sale price.

Tags
since
3.0.0

wc_format_price_range()

Format a price range for display.

wc_format_price_range(string $from, string $to) : string
Parameters
$from : string

Price from.

$to : string

Price to.

wc_format_weight()

Format a weight for display.

wc_format_weight(float $weight) : string
Parameters
$weight : float

Weight.

Tags
since
3.0.0

wc_format_dimensions()

Format dimensions for display.

wc_format_dimensions(array<string|int, mixed> $dimensions) : string
Parameters
$dimensions : array<string|int, mixed>

Array of dimensions.

Tags
since
3.0.0

wc_format_datetime()

Format a date for output.

wc_format_datetime(WC_DateTime $date[, string $format = '' ]) : string
Parameters
$date : WC_DateTime

Instance of WC_DateTime.

$format : string = ''

Data format. Defaults to the wc_date_format function if not set.

Tags
since
3.0.0

wc_get_string_before_colon()

Get part of a string before :.

wc_get_string_before_colon(string $string) : string

Used for example in shipping methods ids where they take the format method_id:instance_id

Parameters
$string : string

String to extract.

Tags
since
3.2.0

wc_array_merge_recursive_numeric()

Array merge and sum function.

wc_array_merge_recursive_numeric() : array<string|int, mixed>

Source: https://gist.github.com/Nickology/f700e319cbafab5eaedc

Tags
since
3.2.0

wc_implode_html_attributes()

Implode and escape HTML attributes for output.

wc_implode_html_attributes(array<string|int, mixed> $raw_attributes) : string
Parameters
$raw_attributes : array<string|int, mixed>

Attribute name value pairs.

Tags
since
3.3.0

wc_esc_json()

Escape JSON for use on HTML or attribute text nodes.

wc_esc_json(string $json[, bool $html = false ]) : string
Parameters
$json : string

JSON to escape.

$html : bool = false

True if escaping for HTML text node, false for attributes. Determines how quotes are handled.

Tags
since
3.5.5

wc_parse_relative_date_option()

Parse a relative date option from the settings API into a standard format.

wc_parse_relative_date_option(mixed $raw_value) : array<string|int, mixed>
Parameters
$raw_value : mixed

Value stored in DB.

Tags
since
3.4.0

wc_sanitize_endpoint_slug()

Format the endpoint slug, strip out anything not allowed in a url.

wc_sanitize_endpoint_slug(string $raw_value) : string
Parameters
$raw_value : string

The raw value.

Tags
since
3.5.0

wc_notice_count()

Get the count of notices added, either for all notices (default) or for one.

wc_notice_count([string $notice_type = '' ]) : int

particular notice type specified by $notice_type.

Parameters
$notice_type : string = ''

Optional. The name of the notice type - either error, success or notice.

Tags
since
2.1

wc_has_notice()

Check if a notice has already been added.

wc_has_notice(string $message[, string $notice_type = 'success' ]) : bool
Parameters
$message : string

The text to display in the notice.

$notice_type : string = 'success'

Optional. The name of the notice type - either error, success or notice.

Tags
since
2.1

wc_add_notice()

Add and store a notice.

wc_add_notice(string $message[, string $notice_type = 'success' ][, array<string|int, mixed> $data = array() ]) : mixed
Parameters
$message : string

The text to display in the notice.

$notice_type : string = 'success'

Optional. The name of the notice type - either error, success or notice.

$data : array<string|int, mixed> = array()

Optional notice data.

Tags
since
2.1
version
3.9.0

wc_set_notices()

Set all notices at once.

wc_set_notices(array<string|int, array<string|int, mixed>> $notices) : mixed
Parameters
$notices : array<string|int, array<string|int, mixed>>

Array of notices.

Tags
since
2.6.0

wc_print_notices()

Prints messages and errors which are stored in the session, then clears them.

wc_print_notices([bool $return = false ]) : string|null
Parameters
$return : bool = false

true to return rather than echo. @since 3.5.0.

Tags
since
2.1

wc_print_notice()

Print a single notice immediately.

wc_print_notice(string $message[, string $notice_type = 'success' ][, array<string|int, mixed> $data = array() ][, bool $return = false ]) : mixed
Parameters
$message : string

The text to display in the notice.

$notice_type : string = 'success'

Optional. The singular name of the notice type - either error, success or notice.

$data : array<string|int, mixed> = array()

Optional notice data. @since 3.9.0.

$return : bool = false

true to return rather than echo. @since 7.7.0.

Tags
since
2.1
version
3.9.0

wc_get_notices()

Returns all queued notices, optionally filtered by a notice type.

wc_get_notices([string $notice_type = '' ]) : array<string|int, array<string|int, mixed>>
Parameters
$notice_type : string = ''

Optional. The singular name of the notice type - either error, success or notice.

Tags
since
2.1
version
3.9.0

wc_add_wp_error_notices()

Add notices for WP Errors.

wc_add_wp_error_notices(WP_Error $errors) : mixed
Parameters
$errors : WP_Error

Errors.

wc_kses_notice()

Filters out the same tags as wp_kses_post, but allows tabindex for <a> element.

wc_kses_notice(string $message) : string
Parameters
$message : string

Content to filter through kses.

Tags
since
3.5.0

wc_get_notice_data_attr()

Get notice data attribute.

wc_get_notice_data_attr(array<string|int, mixed> $notice) : string
Parameters
$notice : array<string|int, mixed>

Notice data.

Tags
since
3.9.0

wc_get_orders()

Standard way of retrieving orders based on certain parameters.

wc_get_orders(array<string|int, mixed> $args) : array<string|int, WC_Order>|stdClass

This function should be used for order retrieval so that when we move to custom tables, functions still work.

Args and usage: https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query

Parameters
$args : array<string|int, mixed>

Array of args (above).

Tags
since
2.6.0

wc_get_order()

Main function for returning orders, uses the WC_Order_Factory class.

wc_get_order([mixed $the_order = false ]) : bool|WC_Order|WC_Order_Refund
Parameters
$the_order : mixed = false

Post object or post ID of the order.

Tags
since
2.2

wc_get_order_statuses()

Get all order statuses.

wc_get_order_statuses() : array<string|int, mixed>
Tags
since
2.2
used-by

WC_Order::set_status

wc_is_order_status()

See if a string is an order status.

wc_is_order_status(string $maybe_status) : bool
Parameters
$maybe_status : string

Status, including any wc- prefix.

wc_get_is_paid_statuses()

Get list of statuses which are consider 'paid'.

wc_get_is_paid_statuses() : array<string|int, mixed>
Tags
since
3.0.0

wc_get_is_pending_statuses()

Get list of statuses which are consider 'pending payment'.

wc_get_is_pending_statuses() : array<string|int, mixed>
Tags
since
3.6.0

wc_get_order_status_name()

Get the nice name for an order status.

wc_get_order_status_name(string $status) : string
Parameters
$status : string

Status.

Tags
since
2.2

wc_generate_order_key()

Generate an order key with prefix.

wc_generate_order_key([string $key = '' ]) : string
Parameters
$key : string = ''

Order key without a prefix. By default generates a 13 digit secret.

Tags
since
3.5.4

wc_get_order_id_by_order_key()

Finds an Order ID based on an order key.

wc_get_order_id_by_order_key(string $order_key) : int
Parameters
$order_key : string

An order key has generated by.

wc_get_order_types()

Get all registered order types.

wc_get_order_types([string $for = '' ]) : array<string|int, mixed>
Parameters
$for : string = ''

Optionally define what you are getting order types for so only relevant types are returned. e.g. for 'order-meta-boxes', 'order-count'.

Tags
since
2.2

wc_get_order_type()

Get an order type by post type name.

wc_get_order_type(string $type) : bool|array<string|int, mixed>
Parameters
$type : string

Post type name.

wc_register_order_type()

Register order type. Do not use before init.

wc_register_order_type(string $type[, array<string|int, mixed> $args = array() ]) : bool

Wrapper for register post type, as well as a method of telling WC which. post types are types of orders, and having them treated as such.

$args are passed to register_post_type, but there are a few specific to this function: - exclude_from_orders_screen (bool) Whether or not this order type also get shown in the main. orders screen. - add_order_meta_boxes (bool) Whether or not the order type gets shop_order meta boxes. - exclude_from_order_count (bool) Whether or not this order type is excluded from counts. - exclude_from_order_views (bool) Whether or not this order type is visible by customers when. viewing orders e.g. on the my account page. - exclude_from_order_reports (bool) Whether or not to exclude this type from core reports. - exclude_from_order_sales_reports (bool) Whether or not to exclude this type from core sales reports.

Parameters
$type : string

Post type. (max. 20 characters, can not contain capital letters or spaces).

$args : array<string|int, mixed> = array()

An array of arguments.

Tags
since
2.2
see
register_post_type

for $args used in that function

wc_orders_count()

Return the orders count of a specific order status.

wc_orders_count(string $status[, string $type = '' ]) : int
Parameters
$status : string

Status.

$type : string = ''

(Optional) Order type. Leave empty to include all 'for order-count' order types. @{see wc_get_order_types()}.

wc_downloadable_file_permission()

Grant downloadable product access to the file identified by $download_id.

wc_downloadable_file_permission(string $download_id, int|WC_Product $product, WC_Order $order[, int $qty = 1 ][, WC_Order_Item $item = null ]) : int|bool
Parameters
$download_id : string

File identifier.

$product : int|WC_Product

Product instance or ID.

$order : WC_Order

Order data.

$qty : int = 1

Quantity purchased.

$item : WC_Order_Item = null

Item of the order.

wc_downloadable_product_permissions()

Order Status completed - give downloadable product access to customer.

wc_downloadable_product_permissions(int $order_id[, bool $force = false ]) : mixed
Parameters
$order_id : int

Order ID.

$force : bool = false

Force downloadable permissions.

wc_ship_to_billing_address_only()

See if we only ship to billing addresses.

wc_ship_to_billing_address_only() : bool

wc_create_refund()

Create a new order refund programmatically.

wc_create_refund([array<string|int, mixed> $args = array() ]) : WC_Order_Refund|WP_Error

Returns a new refund object on success which can then be used to add additional data.

Parameters
$args : array<string|int, mixed> = array()

New refund arguments.

Tags
since
2.2
throws
Exception

Throws exceptions when fail to create, but returns WP_Error instead.

wc_refund_payment()

Try to refund the payment for an order via the gateway.

wc_refund_payment(WC_Order $order, string $amount[, string $reason = '' ]) : bool|WP_Error
Parameters
$order : WC_Order

Order instance.

$amount : string

Amount to refund.

$reason : string = ''

Refund reason.

Tags
since
3.0.0
throws
Exception

Throws exceptions when fail to refund, but returns WP_Error instead.

wc_restock_refunded_items()

Restock items during refund.

wc_restock_refunded_items(WC_Order $order, array<string|int, mixed> $refunded_line_items) : mixed
Parameters
$order : WC_Order

Order instance.

$refunded_line_items : array<string|int, mixed>

Refunded items list.

Tags
since
3.0.0

wc_get_tax_class_by_tax_id()

Get tax class by tax id.

wc_get_tax_class_by_tax_id(int $tax_id) : string
Parameters
$tax_id : int

Tax ID.

Tags
since
2.2

wc_order_fully_refunded()

When refunding an order, create a refund line item if the partial refunds do not match order total.

wc_order_fully_refunded(int $order_id) : mixed

This is manual; no gateway refund will be performed.

Parameters
$order_id : int

Order ID.

Tags
since
2.4

Search orders.

wc_order_search(string $term) : array<string|int, mixed>
Parameters
$term : string

Term to search.

Tags
since
2.6.0

wc_update_total_sales_counts()

Update total sales amount for each product within a paid order.

wc_update_total_sales_counts(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

Tags
since
3.0.0

wc_update_coupon_usage_counts()

Update used coupon amount for each coupon within an order.

wc_update_coupon_usage_counts(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

Tags
since
3.0.0

wc_cancel_unpaid_orders()

Cancel all unpaid orders after held duration to prevent stock lock for those products.

wc_cancel_unpaid_orders() : mixed

wc_sanitize_order_id()

Sanitize order id removing unwanted characters.

wc_sanitize_order_id(int $order_id) : mixed

E.g Users can sometimes try to track an order id using # with no success. This function will fix this.

Parameters
$order_id : int

Order ID.

Tags
since
3.1.0

wc_get_order_note()

Get an order note.

wc_get_order_note(int|WP_Comment $data) : stdClass|null
Parameters
$data : int|WP_Comment

Note ID (or WP_Comment instance for internal use only).

Tags
since
3.2.0

wc_get_order_notes()

Get order notes.

wc_get_order_notes(array<string|int, mixed> $args) : array<string|int, stdClass>
Parameters
$args : array<string|int, mixed>

Query arguments { Array of query parameters.

@type string $limit         Maximum number of notes to retrieve.
                            Default empty (no limit).
@type int    $order_id      Limit results to those affiliated with a given order ID.
                            Default 0.
@type array  $order__in     Array of order IDs to include affiliated notes for.
                            Default empty.
@type array  $order__not_in Array of order IDs to exclude affiliated notes for.
                            Default empty.
@type string $orderby       Define how should sort notes.
                            Accepts 'date_created', 'date_created_gmt' or 'id'.
                            Default: 'id'.
@type string $order         How to order retrieved notes.
                            Accepts 'ASC' or 'DESC'.
                            Default: 'DESC'.
@type string $type          Define what type of note should retrieve.
                            Accepts 'customer', 'internal' or empty for both.
                            Default empty.

}

Tags
since
3.2.0

wc_create_order_note()

Create an order note.

wc_create_order_note(int $order_id, string $note[, bool $is_customer_note = false ][, bool $added_by_user = false ]) : int|WP_Error
Parameters
$order_id : int

Order ID.

$note : string

Note to add.

$is_customer_note : bool = false

If is a costumer note.

$added_by_user : bool = false

If note is create by an user.

Tags
since
3.2.0

wc_delete_order_note()

Delete an order note.

wc_delete_order_note(int $note_id) : bool
Parameters
$note_id : int

Order note.

Tags
since
3.2.0

wc_add_order_item()

Add a item to an order (for example a line item).

wc_add_order_item(int $order_id, array<string|int, mixed> $item_array) : int|bool
Parameters
$order_id : int

Order ID.

$item_array : array<string|int, mixed>

Items list.

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_update_order_item()

Update an item for an order.

wc_update_order_item(int $item_id, array<string|int, mixed> $args) : bool
Parameters
$item_id : int

Item ID.

$args : array<string|int, mixed>

Either order_item_type or order_item_name.

Tags
since
2.2
throws
Exception

When WC_Data_Store::load validation fails.

wc_delete_order_item()

Delete an item from the order it belongs to based on item id.

wc_delete_order_item(int $item_id) : bool
Parameters
$item_id : int

Item ID.

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_update_order_item_meta()

WooCommerce Order Item Meta API - Update term meta.

wc_update_order_item_meta(int $item_id, string $meta_key, mixed $meta_value[, string $prev_value = '' ]) : bool
Parameters
$item_id : int

Item ID.

$meta_key : string

Meta key.

$meta_value : mixed

Meta value.

$prev_value : string = ''

Previous value (default: '').

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_add_order_item_meta()

WooCommerce Order Item Meta API - Add term meta.

wc_add_order_item_meta(int $item_id, string $meta_key, mixed $meta_value[, bool $unique = false ]) : int
Parameters
$item_id : int

Item ID.

$meta_key : string

Meta key.

$meta_value : mixed

Meta value.

$unique : bool = false

If meta data should be unique (default: false).

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_delete_order_item_meta()

WooCommerce Order Item Meta API - Delete term meta.

wc_delete_order_item_meta(int $item_id, string $meta_key[, mixed $meta_value = '' ][, bool $delete_all = false ]) : bool
Parameters
$item_id : int

Item ID.

$meta_key : string

Meta key.

$meta_value : mixed = ''

Meta value (default: '').

$delete_all : bool = false

Delete all meta data, defaults to false.

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_get_order_item_meta()

WooCommerce Order Item Meta API - Get term meta.

wc_get_order_item_meta(int $item_id, string $key[, bool $single = true ]) : mixed
Parameters
$item_id : int

Item ID.

$key : string

Meta key.

$single : bool = true

Whether to return a single value. (default: true).

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_get_order_id_by_order_item_id()

Get order ID by order item ID.

wc_get_order_id_by_order_item_id(int $item_id) : int
Parameters
$item_id : int

Item ID.

Tags
throws
Exception

When WC_Data_Store::load validation fails.

wc_page_endpoint_title()

Replace a page title with the endpoint title.

wc_page_endpoint_title(string $title) : string
Parameters
$title : string

Post title.

wc_get_page_id()

Retrieve page ids - used for myaccount, edit_address, shop, cart, checkout, pay, view_order, terms. returns -1 if no page is found.

wc_get_page_id(string $page) : int
Parameters
$page : string

Page slug.

Retrieve page permalink.

wc_get_page_permalink(string $page[, string|bool $fallback = null ]) : string
Parameters
$page : string

page slug.

$fallback : string|bool = null

Fallback URL if page is not set. Defaults to home URL. @since 3.4.0.

wc_get_endpoint_url()

Get endpoint URL.

wc_get_endpoint_url(string $endpoint[, string $value = '' ][, string $permalink = '' ]) : string

Gets the URL for an endpoint, which varies depending on permalink settings.

Parameters
$endpoint : string

Endpoint slug.

$value : string = ''

Query param value.

$permalink : string = ''

Permalink.

wc_nav_menu_items()

Hide menu items conditionally.

wc_nav_menu_items(array<string|int, mixed> $items) : array<string|int, mixed>
Parameters
$items : array<string|int, mixed>

Navigation items.

wc_nav_menu_item_classes()

Fix active class in nav for shop page.

wc_nav_menu_item_classes(array<string|int, mixed> $menu_items) : array<string|int, mixed>
Parameters
$menu_items : array<string|int, mixed>

Menu items.

wc_list_pages()

Fix active class in wp_list_pages for shop page.

wc_list_pages(string $pages) : string

See details in https://github.com/woocommerce/woocommerce/issues/177.

Parameters
$pages : string

Pages list.

wc_get_products()

Standard way of retrieving products based on certain parameters.

wc_get_products(array<string|int, mixed> $args) : array<string|int, mixed>|stdClass

This function should be used for product retrieval so that we have a data agnostic way to get a list of products.

Args and usage: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query

Parameters
$args : array<string|int, mixed>

Array of args (above).

Tags
since
3.0.0

wc_get_product()

Main function for returning products, uses the WC_Product_Factory class.

wc_get_product([mixed $the_product = false ][, array<string|int, mixed> $deprecated = array() ]) : WC_Product|null|false

This function should only be called after 'init' action is finished, as there might be taxonomies that are getting registered during the init action.

Parameters
$the_product : mixed = false

Post object or post ID of the product.

$deprecated : array<string|int, mixed> = array()

Previously used to pass arguments to the factory, e.g. to force a type.

Tags
since
2.2.0

wc_get_product_object()

Get a product object.

wc_get_product_object(string $product_type, int $product_id) : WC_Product
Parameters
$product_type : string

Product type. If used an invalid type a WC_Product_Simple instance will be returned.

$product_id : int

Product ID.

Tags
see
WC_Product_Factory::get_product_classname
since
3.9.0

wc_product_dimensions_enabled()

Returns whether or not product dimensions (HxWxD) are enabled.

wc_product_dimensions_enabled() : bool

wc_delete_product_transients()

Clear transient cache for product data.

wc_delete_product_transients(int $post_id) : mixed
Parameters
$post_id : int

(default: 0) The product ID.

wc_get_product_ids_on_sale()

Function that returns an array containing the IDs of the products that are on sale.

wc_get_product_ids_on_sale() : array<string|int, mixed>
Tags
since
2.0

Function that returns an array containing the IDs of the featured products.

wc_get_featured_product_ids() : array<string|int, mixed>
Tags
since
2.1

wc_product_post_type_link()

Filter to allow product_cat in the permalinks for products.

wc_product_post_type_link(string $permalink, WP_Post $post) : string
Parameters
$permalink : string

The existing permalink URL.

$post : WP_Post

WP_Post object.

wc_placeholder_img_src()

Get the placeholder image URL either from media, or use the fallback image.

wc_placeholder_img_src([string $size = 'woocommerce_thumbnail' ]) : string
Parameters
$size : string = 'woocommerce_thumbnail'

Thumbnail size to use.

wc_placeholder_img()

Get the placeholder image.

wc_placeholder_img([string $size = 'woocommerce_thumbnail' ][, string|array<string|int, mixed> $attr = '' ]) : string

Uses wp_get_attachment_image if using an attachment ID @since 3.6.0 to handle responsiveness.

Parameters
$size : string = 'woocommerce_thumbnail'

Image size.

$attr : string|array<string|int, mixed> = ''

Optional. Attributes for the image markup. Default empty.

wc_get_formatted_variation()

Variation Formatting.

wc_get_formatted_variation(array<string|int, mixed>|WC_Product_Variation $variation[, bool $flat = false ][, bool $include_names = true ][, bool $skip_attributes_in_name = false ]) : string

Gets a formatted version of variation data or item meta.

Parameters
$variation : array<string|int, mixed>|WC_Product_Variation

Variation object.

$flat : bool = false

Should this be a flat list or HTML list? (default: false).

$include_names : bool = true

include attribute names/labels in the list.

$skip_attributes_in_name : bool = false

Do not list attributes already part of the variation name.

wc_get_attachment_image_attributes()

Get attachment image attributes.

wc_get_attachment_image_attributes(array<string|int, mixed> $attr) : array<string|int, mixed>
Parameters
$attr : array<string|int, mixed>

Image attributes.

wc_prepare_attachment_for_js()

Prepare attachment for JavaScript.

wc_prepare_attachment_for_js(array<string|int, mixed> $response) : array<string|int, mixed>
Parameters
$response : array<string|int, mixed>

JS version of a attachment post object.

wc_product_has_unique_sku()

Check if product sku is unique.

wc_product_has_unique_sku(int $product_id, string $sku) : bool
Parameters
$product_id : int

Product ID.

$sku : string

Product SKU.

Tags
since
2.2

wc_product_force_unique_sku()

Force a unique SKU.

wc_product_force_unique_sku(int $product_id) : mixed
Parameters
$product_id : int

Product ID.

Tags
since
3.0.0

wc_product_generate_unique_sku()

Recursively appends a suffix until a unique SKU is found.

wc_product_generate_unique_sku(int $product_id, string $sku, int $index) : string
Parameters
$product_id : int

Product ID.

$sku : string

Product SKU.

$index : int

An optional index that can be added to the product SKU.

Tags
since
3.0.0

wc_get_product_id_by_sku()

Get product ID by SKU.

wc_get_product_id_by_sku(string $sku) : int
Parameters
$sku : string

Product SKU.

Tags
since
2.3.0

wc_get_product_variation_attributes()

Get attributes/data for an individual variation from the database and maintain it's integrity.

wc_get_product_variation_attributes(int $variation_id) : array<string|int, mixed>
Parameters
$variation_id : int

Variation ID.

Tags
since
2.4.0

wc_get_product_cat_ids()

Get all product cats for a product by ID, including hierarchy

wc_get_product_cat_ids(int $product_id) : array<string|int, mixed>
Parameters
$product_id : int

Product ID.

Tags
since
2.5.0

wc_get_product_attachment_props()

Gets data about an attachment, such as alt text and captions.

wc_get_product_attachment_props([int|null $attachment_id = null ][, WC_Product|bool $product = false ]) : array<string|int, mixed>
Parameters
$attachment_id : int|null = null

Attachment ID.

$product : WC_Product|bool = false

WC_Product object.

Tags
since
2.6.0

wc_get_product_visibility_options()

Get product visibility options.

wc_get_product_visibility_options() : array<string|int, mixed>
Tags
since
3.0.0

wc_get_product_tax_class_options()

Get product tax class options.

wc_get_product_tax_class_options() : array<string|int, mixed>
Tags
since
3.0.0

wc_get_product_stock_status_options()

Get stock status options.

wc_get_product_stock_status_options() : array<string|int, mixed>
Tags
since
3.0.0

wc_get_product_backorder_options()

Get backorder options.

wc_get_product_backorder_options() : array<string|int, mixed>
Tags
since
3.0.0

Get related products based on product category and tags.

wc_get_related_products(int $product_id[, int $limit = 5 ][, array<string|int, mixed> $exclude_ids = array() ]) : array<string|int, mixed>
Parameters
$product_id : int

Product ID.

$limit : int = 5

Limit of results.

$exclude_ids : array<string|int, mixed> = array()

Exclude IDs from the results.

Tags
since
3.0.0

wc_get_product_term_ids()

Retrieves product term ids for a taxonomy.

wc_get_product_term_ids(int $product_id, string $taxonomy) : array<string|int, mixed>
Parameters
$product_id : int

Product ID.

$taxonomy : string

Taxonomy slug.

Tags
since
3.0.0

wc_get_price_including_tax()

For a given product, and optionally price/qty, work out the price with tax included, based on store settings.

wc_get_price_including_tax(WC_Product $product[, array<string|int, mixed> $args = array() ]) : float|string
Parameters
$product : WC_Product

WC_Product object.

$args : array<string|int, mixed> = array()

Optional arguments to pass product quantity and price.

Tags
since
3.0.0

wc_get_price_excluding_tax()

For a given product, and optionally price/qty, work out the price with tax excluded, based on store settings.

wc_get_price_excluding_tax(WC_Product $product[, array<string|int, mixed> $args = array() ]) : float|string
Parameters
$product : WC_Product

WC_Product object.

$args : array<string|int, mixed> = array()

Optional arguments to pass product quantity and price.

Tags
since
3.0.0

wc_get_price_to_display()

Returns the price including or excluding tax.

wc_get_price_to_display(WC_Product $product[, array<string|int, mixed> $args = array() ]) : float

By default it's based on the 'woocommerce_tax_display_shop' setting. Set $arg['display_context'] to 'cart' to base on the 'woocommerce_tax_display_cart' setting instead.

Parameters
$product : WC_Product

WC_Product object.

$args : array<string|int, mixed> = array()

Optional arguments to pass product quantity and price.

Tags
since
3.0.0
since
7.6.0

Added display_context argument.

wc_get_product_category_list()

Returns the product categories in a list.

wc_get_product_category_list(int $product_id[, string $sep = ', ' ][, string $before = '' ][, string $after = '' ]) : string
Parameters
$product_id : int

Product ID.

$sep : string = ', '

(default: ', ').

$before : string = ''

(default: '').

$after : string = ''

(default: '').

wc_get_product_tag_list()

Returns the product tags in a list.

wc_get_product_tag_list(int $product_id[, string $sep = ', ' ][, string $before = '' ][, string $after = '' ]) : string
Parameters
$product_id : int

Product ID.

$sep : string = ', '

(default: ', ').

$before : string = ''

(default: '').

$after : string = ''

(default: '').

wc_products_array_filter_visible_grouped()

Callback for array filter to get visible grouped products only.

wc_products_array_filter_visible_grouped(WC_Product $product) : bool
Parameters
$product : WC_Product

WC_Product object.

Tags
since
3.1.0

wc_products_array_filter_editable()

Callback for array filter to get products the user can edit only.

wc_products_array_filter_editable(WC_Product $product) : bool
Parameters
$product : WC_Product

WC_Product object.

Tags
since
3.0.0

wc_products_array_filter_readable()

Callback for array filter to get products the user can view only.

wc_products_array_filter_readable(WC_Product $product) : bool
Parameters
$product : WC_Product

WC_Product object.

Tags
since
3.4.0

wc_products_array_orderby()

Sort an array of products by a value.

wc_products_array_orderby(array<string|int, mixed> $products[, string $orderby = 'date' ][, string $order = 'desc' ]) : array<string|int, mixed>
Parameters
$products : array<string|int, mixed>

List of products to be ordered.

$orderby : string = 'date'

Optional order criteria.

$order : string = 'desc'

Ascending or descending order.

Tags
since
3.0.0

wc_deferred_product_sync()

Queue a product for syncing at the end of the request.

wc_deferred_product_sync(int $product_id) : mixed
Parameters
$product_id : int

Product ID.

wc_update_product_lookup_tables_is_running()

See if the lookup table is being generated already.

wc_update_product_lookup_tables_is_running() : bool
Tags
since
3.6.0

wc_update_product_lookup_tables()

Populate lookup table data for products.

wc_update_product_lookup_tables() : mixed
Tags
since
3.6.0

wc_update_product_lookup_tables_column()

Populate lookup table column data.

wc_update_product_lookup_tables_column(string $column) : mixed
Parameters
$column : string

Column name to set.

Tags
since
3.6.0

wc_update_product_lookup_tables_rating_count()

Populate rating count lookup table data for products.

wc_update_product_lookup_tables_rating_count(array<string|int, mixed> $rows) : mixed
Parameters
$rows : array<string|int, mixed>

Rows of rating counts to update in lookup table.

Tags
since
3.6.0

wc_update_product_lookup_tables_rating_count_batch()

Populate a batch of rating count lookup table data for products.

wc_update_product_lookup_tables_rating_count_batch(array<string|int, mixed> $offset, array<string|int, mixed> $limit) : mixed
Parameters
$offset : array<string|int, mixed>

Offset to query.

$limit : array<string|int, mixed>

Limit to query.

Tags
since
3.6.2

wc_rest_prepare_date_response()

Parses and formats a date for ISO8601/RFC3339.

wc_rest_prepare_date_response(string|null|WC_DateTime $date[, bool $utc = true ]) : string|null

Required WP 4.4 or later. See https://developer.wordpress.org/reference/functions/mysql_to_rfc3339/

Parameters
$date : string|null|WC_DateTime

Date.

$utc : bool = true

Send false to get local/offset time.

Tags
since
2.6.0

wc_rest_allowed_image_mime_types()

Returns image mime types users are allowed to upload via the API.

wc_rest_allowed_image_mime_types() : array<string|int, mixed>
Tags
since
2.6.4

wc_rest_upload_image_from_url()

Upload image from URL.

wc_rest_upload_image_from_url(string $image_url) : array<string|int, mixed>|WP_Error
Parameters
$image_url : string

Image URL.

Tags
since
2.6.0

wc_rest_set_uploaded_image_as_attachment()

Set uploaded image as attachment.

wc_rest_set_uploaded_image_as_attachment(array<string|int, mixed> $upload, int $id) : int
Parameters
$upload : array<string|int, mixed>

Upload information from wp_upload_bits.

$id : int

Post ID. Default to 0.

Tags
since
2.6.0

wc_rest_validate_reports_request_arg()

Validate reports request arguments.

wc_rest_validate_reports_request_arg(mixed $value, WP_REST_Request $request, string $param) : WP_Error|bool
Parameters
$value : mixed

Value to validate.

$request : WP_REST_Request

Request instance.

$param : string

Param to validate.

Tags
since
2.6.0

wc_rest_urlencode_rfc3986()

Encodes a value according to RFC 3986.

wc_rest_urlencode_rfc3986(string|array<string|int, mixed> $value) : string|array<string|int, mixed>

Supports multidimensional arrays.

Parameters
$value : string|array<string|int, mixed>

The value to encode.

Tags
since
2.6.0

wc_rest_check_post_permissions()

Check permissions of posts on REST API.

wc_rest_check_post_permissions(string $post_type[, string $context = 'read' ], int $object_id) : bool
Parameters
$post_type : string

Post type.

$context : string = 'read'

Request context.

$object_id : int

Post ID.

Tags
since
2.6.0

wc_rest_check_user_permissions()

Check permissions of users on REST API.

wc_rest_check_user_permissions([string $context = 'read' ], int $object_id) : bool
Parameters
$context : string = 'read'

Request context.

$object_id : int

Post ID.

Tags
since
2.6.0

wc_rest_check_product_term_permissions()

Check permissions of product terms on REST API.

wc_rest_check_product_term_permissions(string $taxonomy[, string $context = 'read' ], int $object_id) : bool
Parameters
$taxonomy : string

Taxonomy.

$context : string = 'read'

Request context.

$object_id : int

Post ID.

Tags
since
2.6.0

wc_rest_check_manager_permissions()

Check manager permissions on REST API.

wc_rest_check_manager_permissions(string $object[, string $context = 'read' ]) : bool
Parameters
$object : string

Object.

$context : string = 'read'

Request context.

Tags
since
2.6.0

wc_rest_check_product_reviews_permissions()

Check product reviews permissions on REST API.

wc_rest_check_product_reviews_permissions([string $context = 'read' ], string $object_id) : bool
Parameters
$context : string = 'read'

Request context.

$object_id : string

Object ID.

Tags
since
3.5.0

wc_update_product_stock()

Update a product's stock amount.

wc_update_product_stock(int|WC_Product $product[, int|null $stock_quantity = null ][, string $operation = 'set' ][, bool $updating = false ]) : bool|int|null

Uses queries rather than update_post_meta so we can do this in one query (to avoid stock issues).

Parameters
$product : int|WC_Product

Product ID or product instance.

$stock_quantity : int|null = null

Stock quantity.

$operation : string = 'set'

Type of operation, allows 'set', 'increase' and 'decrease'.

$updating : bool = false

If true, the product object won't be saved here as it will be updated later.

Tags
since
3.0.0

this supports set, increase and decrease.

wc_update_product_stock_status()

Update a product's stock status.

wc_update_product_stock_status(int $product_id, string $status) : mixed
Parameters
$product_id : int

Product ID.

$status : string

Status.

wc_maybe_reduce_stock_levels()

When a payment is complete, we can reduce stock levels for items within an order.

wc_maybe_reduce_stock_levels(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

Tags
since
3.0.0

wc_maybe_increase_stock_levels()

When a payment is cancelled, restore stock.

wc_maybe_increase_stock_levels(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

Tags
since
3.0.0

wc_reduce_stock_levels()

Reduce stock levels for items within an order, if stock has not already been reduced for the items.

wc_reduce_stock_levels(int|WC_Order $order_id) : mixed
Parameters
$order_id : int|WC_Order

Order ID or order instance.

Tags
since
3.0.0

wc_trigger_stock_change_notifications()

After stock change events, triggers emails and adds order notes.

wc_trigger_stock_change_notifications(WC_Order $order, array<string|int, mixed> $changes) : mixed
Parameters
$order : WC_Order

order object.

$changes : array<string|int, mixed>

Array of changes.

Tags
since
3.5.0

wc_increase_stock_levels()

Increase stock levels for items within an order.

wc_increase_stock_levels(int|WC_Order $order_id) : mixed
Parameters
$order_id : int|WC_Order

Order ID or order instance.

Tags
since
3.0.0

wc_get_held_stock_quantity()

See how much stock is being held in pending orders.

wc_get_held_stock_quantity(WC_Product $product, int $exclude_order_id) : int
Parameters
$product : WC_Product

Product to check.

$exclude_order_id : int

Order ID to exclude.

Tags
since
3.5.0

wc_reserve_stock_for_order()

Hold stock for an order.

wc_reserve_stock_for_order(WC_Order|int $order) : mixed
Parameters
$order : WC_Order|int

Order ID or instance.

Tags
throws
ReserveStockException

If reserve stock fails.

since
4.1.0

wc_get_low_stock_amount()

Return low stock amount to determine if notification needs to be sent

wc_get_low_stock_amount(WC_Product $product) : int

Since 5.2.0, this function no longer redirects from variation to its parent product. Low stock amount can now be attached to the variation itself and if it isn't, only then we check the parent product, and if it's not there, then we take the default from the store-wide setting.

Parameters
$product : WC_Product

Product to get data from.

Tags
since
3.5.0

wc_template_redirect()

Handle redirects before content is output - hooked into template_redirect so is_page works.

wc_template_redirect() : mixed

wc_send_frame_options_header()

When loading sensitive checkout or account pages, send a HTTP header to limit rendering of pages to same origin iframes for security reasons.

wc_send_frame_options_header() : mixed

Can be disabled with: remove_action( 'template_redirect', 'wc_send_frame_options_header' );

Tags
since
2.3.10

wc_prevent_endpoint_indexing()

No index our endpoints.

wc_prevent_endpoint_indexing() : mixed

Prevent indexing pages like order-received.

Tags
since
2.5.3

Remove adjacent_posts_rel_link_wp_head - pointless for products.

wc_prevent_adjacent_posts_rel_link_wp_head() : mixed
Tags
since
3.0.0

wc_setup_loop()

Sets up the woocommerce_loop global from the passed args or from the main query.

wc_setup_loop([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Args to pass into the global.

Tags
since
3.3.0

wc_get_loop_prop()

Gets a property from the woocommerce_loop global.

wc_get_loop_prop(string $prop[, string $default = '' ]) : mixed
Parameters
$prop : string

Prop to get.

$default : string = ''

Default if the prop does not exist.

Tags
since
3.3.0

wc_set_loop_prop()

Sets a property in the woocommerce_loop global.

wc_set_loop_prop(string $prop[, string $value = '' ]) : mixed
Parameters
$prop : string

Prop to set.

$value : string = ''

Value to set.

Tags
since
3.3.0

wc_set_loop_product_visibility()

Set the current visbility for a product in the woocommerce_loop global.

wc_set_loop_product_visibility(int $product_id, bool $value) : mixed
Parameters
$product_id : int

Product it to cache visbiility for.

$value : bool

The poduct visibility value to cache.

Tags
since
4.4.0

wc_get_loop_product_visibility()

Gets the cached current visibility for a product from the woocommerce_loop global.

wc_get_loop_product_visibility(int $product_id) : bool|null
Parameters
$product_id : int

Product id to get the cached visibility for.

Tags
since
4.4.0

woocommerce_product_loop()

Should the WooCommerce loop be displayed?

woocommerce_product_loop() : bool

This will return true if we have posts (products) or if we have subcats to display.

Tags
since
3.4.0

wc_generator_tag()

Output generator tag to aid debugging.

wc_generator_tag(string $gen, string $type) : string
Parameters
$gen : string

Generator.

$type : string

Type.

wc_body_class()

Add body classes for WC pages.

wc_body_class(array<string|int, mixed> $classes) : array<string|int, mixed>
Parameters
$classes : array<string|int, mixed>

Body Classes.

wc_product_cat_class()

Display the classes for the product cat div.

wc_product_cat_class([string|array<string|int, mixed> $class = '' ][, object $category = null ]) : mixed
Parameters
$class : string|array<string|int, mixed> = ''

One or more classes to add to the class list.

$category : object = null

object Optional.

Tags
since
2.4.0

wc_get_default_products_per_row()

Get the default columns setting - this is how many products will be shown per row in loops.

wc_get_default_products_per_row() : int
Tags
since
3.3.0

wc_get_default_product_rows_per_page()

Get the default rows setting - this is how many product rows will be shown in loops.

wc_get_default_product_rows_per_page() : int
Tags
since
3.3.0

wc_reset_product_grid_settings()

Reset the product grid settings when a new theme is activated.

wc_reset_product_grid_settings() : mixed
Tags
since
3.3.0

wc_get_product_cat_class()

Get the classes for the product cat div.

wc_get_product_cat_class([string|array<string|int, mixed> $class = '' ][, object $category = null ]) : array<string|int, mixed>
Parameters
$class : string|array<string|int, mixed> = ''

One or more classes to add to the class list.

$category : object = null

object Optional.

Tags
since
2.4.0

wc_product_post_class()

Adds extra post classes for products via the WordPress post_class hook, if used.

wc_product_post_class(array<string|int, mixed> $classes[, string|array<string|int, mixed> $class = '' ], int $post_id) : array<string|int, mixed>

Note: For performance reasons we instead recommend using wc_product_class/wc_get_product_class instead.

Parameters
$classes : array<string|int, mixed>

Current classes.

$class : string|array<string|int, mixed> = ''

Additional class.

$post_id : int

Post ID.

Tags
since
2.1.0

wc_get_product_taxonomy_class()

Get product taxonomy HTML classes.

wc_get_product_taxonomy_class(array<string|int, mixed> $term_ids, string $taxonomy) : array<string|int, mixed>
Parameters
$term_ids : array<string|int, mixed>

Array of terms IDs or objects.

$taxonomy : string

Taxonomy.

Tags
since
3.4.0

wc_get_product_class()

Retrieves the classes for the post div as an array.

wc_get_product_class([string|array<string|int, mixed> $class = '' ][, int|WP_Post|WC_Product $product = null ]) : array<string|int, mixed>

This method was modified from WordPress's get_post_class() to allow the removal of taxonomies (for performance reasons). Previously wc_product_post_class was hooked into post_class. @since 3.6.0

Parameters
$class : string|array<string|int, mixed> = ''

One or more classes to add to the class list.

$product : int|WP_Post|WC_Product = null

Product ID or product object.

Tags
since
3.4.0

wc_product_class()

Display the classes for the product div.

wc_product_class([string|array<string|int, mixed> $class = '' ][, int|WP_Post|WC_Product $product_id = null ]) : mixed
Parameters
$class : string|array<string|int, mixed> = ''

One or more classes to add to the class list.

$product_id : int|WP_Post|WC_Product = null

Product ID or product object.

Tags
since
3.4.0

wc_query_string_form_fields()

Outputs hidden form inputs for each query string variable.

wc_query_string_form_fields([string|array<string|int, mixed> $values = null ][, array<string|int, mixed> $exclude = array() ][, string $current_key = '' ][, bool $return = false ]) : string
Parameters
$values : string|array<string|int, mixed> = null

Name value pairs, or a URL to parse.

$exclude : array<string|int, mixed> = array()

Keys to exclude.

$current_key : string = ''

Current key we are outputting.

$return : bool = false

Whether to return.

Tags
since
3.0.0

wc_terms_and_conditions_page_id()

Get the terms and conditions page ID.

wc_terms_and_conditions_page_id() : int
Tags
since
3.4.0

wc_terms_and_conditions_checkbox_enabled()

See if the checkbox is enabled or not based on the existence of the terms page and checkbox text.

wc_terms_and_conditions_checkbox_enabled() : bool
Tags
since
3.4.0

wc_get_terms_and_conditions_checkbox_text()

Get the terms and conditions checkbox text, if set.

wc_get_terms_and_conditions_checkbox_text() : string
Tags
since
3.4.0

wc_get_privacy_policy_text()

Get the privacy policy text, if set.

wc_get_privacy_policy_text([string $type = '' ]) : string
Parameters
$type : string = ''

Type of policy to load. Valid values include registration and checkout.

Tags
since
3.4.0

wc_terms_and_conditions_checkbox_text()

Output t&c checkbox text.

wc_terms_and_conditions_checkbox_text() : mixed
Tags
since
3.4.0

wc_terms_and_conditions_page_content()

Output t&c page's content (if set). The page can be set from checkout settings.

wc_terms_and_conditions_page_content() : mixed
Tags
since
3.4.0

wc_checkout_privacy_policy_text()

Render privacy policy text on the checkout.

wc_checkout_privacy_policy_text() : mixed
Tags
since
3.4.0

wc_registration_privacy_policy_text()

Render privacy policy text on the register forms.

wc_registration_privacy_policy_text() : mixed
Tags
since
3.4.0

wc_privacy_policy_text()

Output privacy policy text. This is custom text which can be added via the customizer/privacy settings section.

wc_privacy_policy_text([string $type = 'checkout' ]) : mixed

Loads the relevant policy for the current page unless a specific policy text is required.

Parameters
$type : string = 'checkout'

Type of policy to load. Valid values include registration and checkout.

Tags
since
3.4.0

Replaces placeholders with links to WooCommerce policy pages.

wc_replace_policy_page_link_placeholders(string $text) : string
Parameters
$text : string

Text to find/replace within.

Tags
since
3.4.0

woocommerce_content()

Output WooCommerce content.

woocommerce_content() : mixed

This function is only used in the optional 'woocommerce.php' template. which people can add to their themes to add basic woocommerce support. without hooks or modifying core templates.

woocommerce_page_title()

Page Title function.

woocommerce_page_title([bool $echo = true ]) : string
Parameters
$echo : bool = true

Should echo title.

woocommerce_product_loop_start()

Output the start of a product loop. By default this is a UL.

woocommerce_product_loop_start([bool $echo = true ]) : string
Parameters
$echo : bool = true

Should echo?.

woocommerce_product_loop_end()

Output the end of a product loop. By default this is a UL.

woocommerce_product_loop_end([bool $echo = true ]) : string
Parameters
$echo : bool = true

Should echo?.

woocommerce_template_loop_product_title()

Show the product title in the product loop. By default this is an H2.

woocommerce_template_loop_product_title() : mixed

woocommerce_template_loop_category_title()

Show the subcategory title in the product loop.

woocommerce_template_loop_category_title(object $category) : mixed
Parameters
$category : object

Category object.

Insert the opening anchor tag for products in the loop.

woocommerce_template_loop_product_link_open() : mixed

Insert the closing anchor tag for products in the loop.

woocommerce_template_loop_product_link_close() : mixed

Insert the opening anchor tag for categories in the loop.

woocommerce_template_loop_category_link_open(int|object|string $category) : mixed
Parameters
$category : int|object|string

Category ID, Object or String.

Insert the closing anchor tag for categories in the loop.

woocommerce_template_loop_category_link_close() : mixed

woocommerce_taxonomy_archive_description()

Show an archive description on taxonomy archives.

woocommerce_taxonomy_archive_description() : mixed

woocommerce_product_archive_description()

Show a shop page description on product archives.

woocommerce_product_archive_description() : mixed

woocommerce_template_loop_add_to_cart()

Get the add to cart template for the loop.

woocommerce_template_loop_add_to_cart([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Arguments.

woocommerce_template_loop_product_thumbnail()

Get the product thumbnail for the loop.

woocommerce_template_loop_product_thumbnail() : mixed

woocommerce_show_product_loop_sale_flash()

Get the sale flash for the loop.

woocommerce_show_product_loop_sale_flash() : mixed

woocommerce_get_product_thumbnail()

Get the product thumbnail, or the placeholder if not set.

woocommerce_get_product_thumbnail([string $size = 'woocommerce_thumbnail' ][, array<string|int, mixed> $attr = array() ][, bool $placeholder = true ]) : string
Parameters
$size : string = 'woocommerce_thumbnail'

(default: 'woocommerce_thumbnail').

$attr : array<string|int, mixed> = array()

Image attributes.

$placeholder : bool = true

True to return $placeholder if no image is found, or false to return an empty string.

woocommerce_show_product_images()

Output the product image before the single product summary.

woocommerce_show_product_images() : mixed

Get HTML for a gallery image.

wc_get_gallery_image_html(int $attachment_id[, bool $main_image = false ]) : string

Hooks: woocommerce_gallery_thumbnail_size, woocommerce_gallery_image_size and woocommerce_gallery_full_size accept name based image sizes, or an array of width/height values.

Parameters
$attachment_id : int

Attachment ID.

$main_image : bool = false

Is this the main image or a thumbnail?.

Tags
since
3.3.2

woocommerce_template_single_excerpt()

Output the product short description (excerpt).

woocommerce_template_single_excerpt() : mixed

woocommerce_template_single_add_to_cart()

Trigger the single product add to cart action.

woocommerce_template_single_add_to_cart() : mixed

woocommerce_quantity_input()

Output the quantity input for add to cart forms.

woocommerce_quantity_input([array<string|int, mixed> $args = array() ][, WC_Product|null $product = null ][, bool $echo = true ]) : string
Parameters
$args : array<string|int, mixed> = array()

Args for the input.

$product : WC_Product|null = null

Product.

$echo : bool = true

Whether to return or echo|string.

woocommerce_product_additional_information_tab()

Output the attributes tab content.

woocommerce_product_additional_information_tab() : mixed

woocommerce_default_product_tabs()

Add default product tabs to product pages.

woocommerce_default_product_tabs([array<string|int, mixed> $tabs = array() ]) : array<string|int, mixed>
Parameters
$tabs : array<string|int, mixed> = array()

Array of tabs.

woocommerce_sort_product_tabs()

Sort tabs by priority.

woocommerce_sort_product_tabs([array<string|int, mixed> $tabs = array() ]) : array<string|int, mixed>
Parameters
$tabs : array<string|int, mixed> = array()

Array of tabs.

woocommerce_comments()

Output the Review comments template.

woocommerce_comments(WP_Comment $comment, array<string|int, mixed> $args, int $depth) : mixed
Parameters
$comment : WP_Comment

Comment object.

$args : array<string|int, mixed>

Arguments.

$depth : int

Depth.

woocommerce_review_display_gravatar()

Display the review authors gravatar

woocommerce_review_display_gravatar(array<string|int, mixed> $comment) : void
Parameters
$comment : array<string|int, mixed>

WP_Comment.

woocommerce_review_display_meta()

Display the review authors meta (name, verified owner, review date)

woocommerce_review_display_meta() : void

Output the related products.

woocommerce_related_products([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Provided arguments.

woocommerce_upsell_display()

Output product up sells.

woocommerce_upsell_display([int $limit = '-1' ][, int $columns = 4 ][, string $orderby = 'rand' ][, string $order = 'desc' ]) : mixed
Parameters
$limit : int = '-1'

(default: -1).

$columns : int = 4

(default: 4).

$orderby : string = 'rand'

Supported values - rand, title, ID, date, modified, menu_order, price.

$order : string = 'desc'

Sort direction.

woocommerce_shipping_calculator()

Output the cart shipping calculator.

woocommerce_shipping_calculator([string $button_text = '' ]) : mixed
Parameters
$button_text : string = ''

Text for the shipping calculation toggle.

woocommerce_cross_sell_display()

Output the cart cross-sells.

woocommerce_cross_sell_display([int $limit = 2 ][, int $columns = 2 ][, string $orderby = 'rand' ][, string $order = 'desc' ]) : mixed
Parameters
$limit : int = 2

(default: 2).

$columns : int = 2

(default: 2).

$orderby : string = 'rand'

(default: 'rand').

$order : string = 'desc'

(default: 'desc').

woocommerce_button_proceed_to_checkout()

Output the proceed to checkout button.

woocommerce_button_proceed_to_checkout() : mixed

woocommerce_widget_shopping_cart_button_view_cart()

Output the view cart button.

woocommerce_widget_shopping_cart_button_view_cart() : mixed

woocommerce_widget_shopping_cart_proceed_to_checkout()

Output the proceed to checkout button.

woocommerce_widget_shopping_cart_proceed_to_checkout() : mixed

woocommerce_widget_shopping_cart_subtotal()

Output to view cart subtotal.

woocommerce_widget_shopping_cart_subtotal() : mixed
Tags
since
3.7.0

woocommerce_mini_cart()

Output the Mini-cart - used by cart widget.

woocommerce_mini_cart([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Arguments.

woocommerce_login_form()

Output the WooCommerce Login Form.

woocommerce_login_form([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Arguments.

woocommerce_breadcrumb()

Output the WooCommerce Breadcrumb.

woocommerce_breadcrumb([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Arguments.

woocommerce_order_review()

Output the Order review table for the checkout.

woocommerce_order_review([bool $deprecated = false ]) : mixed
Parameters
$deprecated : bool = false

Deprecated param.

woocommerce_products_will_display()

Check if we will be showing products or not (and not sub-categories only).

woocommerce_products_will_display() : bool

woocommerce_get_loop_display_mode()

See what is going to display in the loop.

woocommerce_get_loop_display_mode() : string
Tags
since
3.3.0

woocommerce_maybe_show_product_subcategories()

Maybe display categories before, or instead of, a product loop.

woocommerce_maybe_show_product_subcategories([string $loop_html = '' ]) : string
Parameters
$loop_html : string = ''

HTML.

Tags
since
3.3.0

woocommerce_product_subcategories()

This is a legacy function which used to check if we needed to display subcats and then output them. It was called by templates.

woocommerce_product_subcategories([array<string|int, mixed> $args = array() ]) : null|bool

From 3.3 onwards this is all handled via hooks and the woocommerce_maybe_show_product_subcategories function.

Since some templates have not updated compatibility, to avoid showing incorrect categories this function has been deprecated and will return nothing. Replace usage with woocommerce_output_product_categories to render the category list manually.

This is a legacy function which also checks if things should display. Themes no longer need to call these functions. It's all done via hooks.

Parameters
$args : array<string|int, mixed> = array()

Arguments.

Tags
deprecated
3.3.1

@todo Add a notice in a future version.

woocommerce_output_product_categories()

Display product sub categories as thumbnails.

woocommerce_output_product_categories([array<string|int, mixed> $args = array() ]) : bool

This is a replacement for woocommerce_product_subcategories which also does some logic based on the loop. This function however just outputs when called.

Parameters
$args : array<string|int, mixed> = array()

Arguments.

Tags
since
3.3.1

woocommerce_get_product_subcategories()

Get (and cache) product subcategories.

woocommerce_get_product_subcategories(int $parent_id) : array<string|int, mixed>
Parameters
$parent_id : int

Get subcategories of this ID.

woocommerce_subcategory_thumbnail()

Show subcategory thumbnails.

woocommerce_subcategory_thumbnail(mixed $category) : mixed
Parameters
$category : mixed

Category.

woocommerce_order_details_table()

Displays order details in a table.

woocommerce_order_details_table(mixed $order_id) : mixed
Parameters
$order_id : mixed

Order ID.

woocommerce_order_downloads_table()

Displays order downloads in a table.

woocommerce_order_downloads_table(array<string|int, mixed> $downloads) : mixed
Parameters
$downloads : array<string|int, mixed>

Downloads.

Tags
since
3.2.0

woocommerce_order_again_button()

Display an 'order again' button on the view order page.

woocommerce_order_again_button(object $order) : mixed
Parameters
$order : object

Order.

woocommerce_form_field()

Outputs a checkout/address form field.

woocommerce_form_field(string $key, mixed $args[, string $value = null ]) : string
Parameters
$key : string

Key.

$args : mixed

Arguments.

$value : string = null

(default: null).

get_product_search_form()

Display product search form.

get_product_search_form([bool $echo = true ]) : string

Will first attempt to locate the product-searchform.php file in either the child or. the parent, then load it. If it doesn't exist, then the default search form. will be displayed.

The default searchform uses html5.

Parameters
$echo : bool = true

(default: true).

woocommerce_single_variation_add_to_cart_button()

Output the add to cart button for variations.

woocommerce_single_variation_add_to_cart_button() : mixed

wc_dropdown_variation_attribute_options()

Output a list of variation attributes for use in the cart forms.

wc_dropdown_variation_attribute_options([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Arguments.

Tags
since
2.4.0

woocommerce_account_orders()

My Account > Orders template.

woocommerce_account_orders(int $current_page) : mixed
Parameters
$current_page : int

Current page number.

woocommerce_account_view_order()

My Account > View order template.

woocommerce_account_view_order(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

woocommerce_account_edit_address()

My Account > Edit address template.

woocommerce_account_edit_address(string $type) : mixed
Parameters
$type : string

Address type.

woocommerce_account_add_payment_method()

My Account > Add payment method template.

woocommerce_account_add_payment_method() : mixed

wc_get_email_order_items()

Get HTML for the order items to be shown in emails.

wc_get_email_order_items(WC_Order $order[, array<string|int, mixed> $args = array() ]) : string
Parameters
$order : WC_Order

Order object.

$args : array<string|int, mixed> = array()

Arguments.

Tags
since
3.0.0

wc_display_item_meta()

Display item meta data.

wc_display_item_meta(WC_Order_Item $item[, array<string|int, mixed> $args = array() ]) : string|void
Parameters
$item : WC_Order_Item

Order Item.

$args : array<string|int, mixed> = array()

Arguments.

Tags
since
3.0.0

wc_display_item_downloads()

Display item download links.

wc_display_item_downloads(WC_Order_Item $item[, array<string|int, mixed> $args = array() ]) : string|void
Parameters
$item : WC_Order_Item

Order Item.

$args : array<string|int, mixed> = array()

Arguments.

Tags
since
3.0.0

wc_get_rating_html()

Get HTML for ratings.

wc_get_rating_html(float $rating, int $count) : string
Parameters
$rating : float

Rating being shown.

$count : int

Total number of ratings.

Tags
since
3.0.0

wc_get_star_rating_html()

Get HTML for star rating.

wc_get_star_rating_html(float $rating, int $count) : string
Parameters
$rating : float

Rating being shown.

$count : int

Total number of ratings.

Tags
since
3.1.0

wc_get_price_html_from_text()

Returns a 'from' prefix if you want to show where prices start at.

wc_get_price_html_from_text() : string
Tags
since
3.0.0

wc_logout_url()

Get logout endpoint.

wc_logout_url([string $redirect = '' ]) : string
Parameters
$redirect : string = ''

Redirect URL.

Tags
since
2.6.9

wc_page_noindex()

Disable search engines indexing core, dynamic, cart/checkout pages.

wc_page_noindex() : mixed
Tags
todo

Deprecated this function after dropping support for WP 5.6.

since
3.2.0

wc_page_no_robots()

Disable search engines indexing core, dynamic, cart/checkout pages.

wc_page_no_robots(array<string|int, mixed> $robots) : array<string|int, mixed>

Uses "wp_robots" filter introduced in WP 5.7.

Parameters
$robots : array<string|int, mixed>

Associative array of robots directives.

Tags
since
5.0.0

wc_get_theme_slug_for_templates()

Get a slug identifying the current theme.

wc_get_theme_slug_for_templates() : string
Tags
since
3.3.0

wc_get_formatted_cart_item_data()

Gets and formats a list of cart item data + variations for display on the frontend.

wc_get_formatted_cart_item_data(array<string|int, mixed> $cart_item[, bool $flat = false ]) : string
Parameters
$cart_item : array<string|int, mixed>

Cart item object.

$flat : bool = false

Should the data be returned flat or in a list.

Tags
since
3.3.0

wc_get_cart_remove_url()

Gets the url to remove an item from the cart.

wc_get_cart_remove_url(string $cart_item_key) : string
Parameters
$cart_item_key : string

contains the id of the cart item.

Tags
since
3.3.0

wc_get_cart_undo_url()

Gets the url to re-add an item into the cart.

wc_get_cart_undo_url(string $cart_item_key) : string
Parameters
$cart_item_key : string

Cart item key to undo.

Tags
since
3.3.0

woocommerce_output_all_notices()

Outputs all queued notices on WC pages.

woocommerce_output_all_notices() : mixed
Tags
since
3.5.0

woocommerce_reset_loop()

Reset the loop's index and columns when we're done outputting a product loop.

woocommerce_reset_loop() : mixed
Tags
deprecated
3.3

woocommerce_product_reviews_tab()

Output the reviews tab content.

woocommerce_product_reviews_tab() : mixed
Tags
deprecated
2.4.0

Unused.

wc_change_get_terms_defaults()

Change get terms defaults for attributes to order by the sorting setting, or default to menu_order for sortable taxonomies.

wc_change_get_terms_defaults(array<string|int, mixed> $defaults, array<string|int, mixed> $taxonomies) : array<string|int, mixed>
Parameters
$defaults : array<string|int, mixed>

An array of default get_terms() arguments.

$taxonomies : array<string|int, mixed>

An array of taxonomies.

Tags
since
3.6.0

Sorting options are now set as the default automatically, so you no longer have to request to orderby menu_order.

wc_change_pre_get_terms()

Adds support to get_terms for menu_order argument.

wc_change_pre_get_terms(WP_Term_Query $terms_query) : mixed
Parameters
$terms_query : WP_Term_Query

Instance of WP_Term_Query.

Tags
since
3.6.0

wc_terms_clauses()

Adjust term query to handle custom sorting parameters.

wc_terms_clauses(array<string|int, mixed> $clauses, array<string|int, mixed> $taxonomies, array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$clauses : array<string|int, mixed>

Clauses.

$taxonomies : array<string|int, mixed>

Taxonomies.

$args : array<string|int, mixed>

Arguments.

wc_get_object_terms()

Helper to get cached object terms and filter by field using wp_list_pluck().

wc_get_object_terms(int $object_id, string $taxonomy[, string $field = null ][, string $index_key = null ]) : array<string|int, mixed>

Works as a cached alternative for wp_get_post_terms() and wp_get_object_terms().

Parameters
$object_id : int

Object ID.

$taxonomy : string

Taxonomy slug.

$field : string = null

Field name.

$index_key : string = null

Index key name.

Tags
since
3.0.0

_wc_get_cached_product_terms()

Cached version of wp_get_post_terms().

_wc_get_cached_product_terms(int $product_id, string $taxonomy[, array<string|int, mixed> $args = array() ]) : array<string|int, mixed>

This is a private function (internal use ONLY).

Parameters
$product_id : int

Product ID.

$taxonomy : string

Taxonomy slug.

$args : array<string|int, mixed> = array()

Query arguments.

Tags
since
3.0.0

wc_get_product_terms()

Wrapper used to get terms for a product.

wc_get_product_terms(int $product_id, string $taxonomy[, array<string|int, mixed> $args = array() ]) : array<string|int, mixed>
Parameters
$product_id : int

Product ID.

$taxonomy : string

Taxonomy slug.

$args : array<string|int, mixed> = array()

Query arguments.

_wc_get_product_terms_name_num_usort_callback()

Sort by name (numeric).

_wc_get_product_terms_name_num_usort_callback(WP_Post $a, WP_Post $b) : int
Parameters
$a : WP_Post

First item to compare.

$b : WP_Post

Second item to compare.

_wc_get_product_terms_parent_usort_callback()

Sort by parent.

_wc_get_product_terms_parent_usort_callback(WP_Post $a, WP_Post $b) : int
Parameters
$a : WP_Post

First item to compare.

$b : WP_Post

Second item to compare.

wc_product_dropdown_categories()

WooCommerce Dropdown categories.

wc_product_dropdown_categories([array<string|int, mixed> $args = array() ]) : mixed
Parameters
$args : array<string|int, mixed> = array()

Args to control display of dropdown.

wc_walk_category_dropdown_tree()

Custom walker for Product Categories.

wc_walk_category_dropdown_tree(mixed ...$args) : mixed

Previously used by wc_product_dropdown_categories, but wp_dropdown_categories has been fixed in core.

Parameters
$args : mixed

Variable number of parameters to be passed to the walker.

wc_taxonomy_metadata_migrate_data()

Migrate data from WC term meta to WP term meta.

wc_taxonomy_metadata_migrate_data(string $wp_db_version, string $wp_current_db_version) : mixed

When the database is updated to support term meta, migrate WC term meta data across. We do this when the new version is >= 34370, and the old version is < 34370 (34370 is when term meta table was added).

Parameters
$wp_db_version : string

The new $wp_db_version.

$wp_current_db_version : string

The old (current) $wp_db_version.

wc_reorder_terms()

Move a term before the a given element of its hierarchy level.

wc_reorder_terms(int $the_term, int $next_id, string $taxonomy, int $index[, mixed $terms = null ]) : int
Parameters
$the_term : int

Term ID.

$next_id : int

The id of the next sibling element in save hierarchy level.

$taxonomy : string

Taxonomy.

$index : int

Term index (default: 0).

$terms : mixed = null

List of terms. (default: null).

wc_set_term_order()

Set the sort order of a term.

wc_set_term_order(int $term_id, int $index, string $taxonomy[, bool $recursive = false ]) : int
Parameters
$term_id : int

Term ID.

$index : int

Index.

$taxonomy : string

Taxonomy.

$recursive : bool = false

Recursive (default: false).

_wc_term_recount()

Function for recounting product terms, ignoring hidden products.

_wc_term_recount(array<string|int, mixed> $terms, object $taxonomy[, bool $callback = true ][, bool $terms_are_term_taxonomy_ids = true ]) : mixed
Parameters
$terms : array<string|int, mixed>

List of terms.

$taxonomy : object

Taxonomy.

$callback : bool = true

Callback.

$terms_are_term_taxonomy_ids : bool = true

If terms are from term_taxonomy_id column.

wc_recount_after_stock_change()

Recount terms after the stock amount changes.

wc_recount_after_stock_change(int $product_id) : mixed
Parameters
$product_id : int

Product ID.

wc_change_term_counts()

Overrides the original term count for product categories and tags with the product count.

wc_change_term_counts(array<string|int, mixed> $terms, string|array<string|int, mixed> $taxonomies) : array<string|int, mixed>

that takes catalog visibility into account.

Parameters
$terms : array<string|int, mixed>

List of terms.

$taxonomies : string|array<string|int, mixed>

Single taxonomy or list of taxonomies.

wc_get_term_product_ids()

Return products in a given term, and cache value.

wc_get_term_product_ids(int $term_id, string $taxonomy) : array<string|int, mixed>

To keep in sync, product_count will be cleared on "set_object_terms".

Parameters
$term_id : int

Term ID.

$taxonomy : string

Taxonomy.

wc_clear_term_product_ids()

When a post is updated and terms recounted (called by _update_post_term_count), clear the ids.

wc_clear_term_product_ids(int $object_id, array<string|int, mixed> $terms, array<string|int, mixed> $tt_ids, string $taxonomy, bool $append, array<string|int, mixed> $old_tt_ids) : mixed
Parameters
$object_id : int

Object ID.

$terms : array<string|int, mixed>

An array of object terms.

$tt_ids : array<string|int, mixed>

An array of term taxonomy IDs.

$taxonomy : string

Taxonomy slug.

$append : bool

Whether to append new terms to the old terms.

$old_tt_ids : array<string|int, mixed>

Old array of term taxonomy IDs.

wc_get_product_visibility_term_ids()

Get full list of product visibility term ids.

wc_get_product_visibility_term_ids() : array<string|int, int>
Tags
since
3.0.0

_wc_recount_terms_by_product()

Recounts terms by product.

_wc_recount_terms_by_product([int $product_id = '' ]) : void
Parameters
$product_id : int = ''

The ID of the product.

Tags
since
5.2

wc_update_300_comment_type_index()

Add an index to the field comment_type to improve the response time of the query used by WC_Comments::wp_count_comments() to get the number of comments by type.

wc_update_300_comment_type_index() : mixed

wc_update_300_product_visibility()

Convert meta values into term for product visibility.

wc_update_300_product_visibility() : mixed

wc_update_310_downloadable_products()

Add an index to the downloadable product permissions table to improve performance of update_user_by_order_id.

wc_update_310_downloadable_products() : mixed

wc_update_310_old_comments()

Find old order notes and ensure they have the correct type for exclusion.

wc_update_310_old_comments() : mixed

wc_update_312_shop_manager_capabilities()

Update shop_manager capabilities.

wc_update_312_shop_manager_capabilities() : mixed

wc_update_330_image_options()

Update image settings to use new aspect ratios and widths.

wc_update_330_image_options() : mixed

wc_update_330_set_default_product_cat()

Assign default cat to all products with no cats.

wc_update_330_set_default_product_cat() : mixed

wc_update_330_product_stock_status()

Update product stock status to use the new onbackorder status.

wc_update_330_product_stock_status() : mixed

wc_update_330_set_paypal_sandbox_credentials()

Set PayPal's sandbox credentials.

wc_update_330_set_paypal_sandbox_credentials() : mixed

wc_update_344_recreate_roles()

Recreate user roles so existing users will get the new capabilities.

wc_update_344_recreate_roles() : void

wc_update_350_reviews_comment_type()

Set the comment type to 'review' for product reviews that don't have a comment type.

wc_update_350_reviews_comment_type() : mixed

wc_update_352_drop_download_log_fk()

Drop the fk_wc_download_log_permission_id FK as we use a new one with the table and blog prefix for MS compatibility.

wc_update_352_drop_download_log_fk() : void

wc_update_354_modify_shop_manager_caps()

Remove edit_user capabilities from shop managers and use "translated" capabilities instead.

wc_update_354_modify_shop_manager_caps() : mixed

See wc_shop_manager_has_capability function.

wc_update_360_product_lookup_tables()

Update product lookup tables in bulk.

wc_update_360_product_lookup_tables() : mixed

wc_update_360_downloadable_product_permissions_index()

Add new user_order_remaining_expires to speed up user download permission fetching.

wc_update_360_downloadable_product_permissions_index() : void

wc_update_390_move_maxmind_database()

We've moved the MaxMind database to a new location, as per the TOS' requirement that the database not be publicly accessible.

wc_update_390_move_maxmind_database() : mixed

wc_update_390_change_geolocation_database_update_cron()

So that we can best meet MaxMind's TOS, the geolocation database update cron should run once per 15 days.

wc_update_390_change_geolocation_database_update_cron() : mixed

wc_update_400_reset_action_scheduler_migration_status()

Reset ActionScheduler migration status. Needs AS >= 3.0 shipped with WC >= 4.0.

wc_update_400_reset_action_scheduler_migration_status() : mixed

wc_update_440_insert_attribute_terms_for_variable_products()

Register attributes as terms for variable products, in increments of 100 products.

wc_update_440_insert_attribute_terms_for_variable_products() : bool

This migration was added to support a new mechanism to improve the filtering of variable products by attribute (https://github.com/woocommerce/woocommerce/pull/26260), however that mechanism was later reverted (https://github.com/woocommerce/woocommerce/pull/27625) due to numerous issues found. Thus the migration is no longer needed.

wc_update_500_fix_product_review_count()

Fixes product review count that might have been incorrect.

wc_update_500_fix_product_review_count() : mixed

See @link https://github.com/woocommerce/woocommerce/issues/27688.

wc_update_560_create_refund_returns_page()

Creates the refund and returns policy page.

wc_update_560_create_refund_returns_page() : mixed

See @link https://github.com/woocommerce/woocommerce/issues/29235.

wc_update_600_migrate_rate_limit_options()

Migrate rate limit options to the new table.

wc_update_600_migrate_rate_limit_options() : mixed

See @link https://github.com/woocommerce/woocommerce/issues/27103.

wc_update_630_create_product_attributes_lookup_table()

Create the product attributes lookup table and initiate its filling, unless the table had been already created manually (via the tools page).

wc_update_630_create_product_attributes_lookup_table() : false

wc_update_640_add_primary_key_to_product_attributes_lookup_table()

Create the primary key for the product attributes lookup table if it doesn't exist already.

wc_update_640_add_primary_key_to_product_attributes_lookup_table() : bool

wc_update_650_approved_download_directories()

Add the standard WooCommerce upload directories to the Approved Product Download Directories list and start populating it based on existing product download URLs, but do not enable the feature (for existing installations, a site admin should review and make a conscious decision to enable).

wc_update_650_approved_download_directories() : mixed

wc_update_651_approved_download_directories()

In some cases, the approved download directories table may not have been successfully created during the update to 6.5.0. If this was the case we will need to re-initialize the feature.

wc_update_651_approved_download_directories() : mixed

wc_update_670_purge_comments_count_cache()

Purges the comments count cache after 6.7.0 split reviews from the comments page.

wc_update_670_purge_comments_count_cache() : mixed

Remove the transient data for recommended marketing extensions.

wc_update_700_remove_recommended_marketing_plugins_transient() : mixed

wc_update_721_adjust_new_zealand_states()

Update the New Zealand state codes in the database after they were updated in code to the CLDR standard.

wc_update_721_adjust_new_zealand_states() : mixed

wc_update_721_adjust_ukraine_states()

Update the Ukraine state codes in the database after they were updated in code to the CLDR standard.

wc_update_721_adjust_ukraine_states() : mixed

wc_update_722_adjust_new_zealand_states()

Update the New Zealand state codes in the database after they were updated in code to the CLDR standard.

wc_update_722_adjust_new_zealand_states() : mixed

This is a simple wrapper for the corresponding 7.2.1 update function. The reason we do this (instead of reusing the original function directly) is for better traceability in the Action Scheduler log, in case of problems.

wc_update_722_adjust_ukraine_states()

Update the Ukraine state codes in the database after they were updated in code to the CLDR standard.

wc_update_722_adjust_ukraine_states() : mixed

This is a simple wrapper for the corresponding 7.2.1 update function. The reason we do this (instead of reusing the original function directly) is for better traceability in the Action Scheduler log, in case of problems.

wc_update_750_add_columns_to_order_stats_table()

Add new columns date_paid and date_completed to wp_wc_order_stats table in order to provide the option of using the dates in the reports

wc_update_750_add_columns_to_order_stats_table() : mixed

wc_update_750_disable_new_product_management_experience()

Disable the experimental product management experience.

wc_update_750_disable_new_product_management_experience() : void

wc_update_770_remove_multichannel_marketing_feature_options()

Remove the multichannel marketing feature flag and options. This feature is now enabled by default.

wc_update_770_remove_multichannel_marketing_feature_options() : mixed

wc_disable_admin_bar()

Prevent any user who cannot 'edit_posts' (subscribers, customers etc) from seeing the admin bar.

wc_disable_admin_bar(bool $show_admin_bar) : bool

Note: get_option( 'woocommerce_lock_down_admin', true ) is a deprecated option here for backwards compatibility. Defaults to true.

Parameters
$show_admin_bar : bool

If should display admin bar.

wc_create_new_customer()

Create a new customer.

wc_create_new_customer(string $email[, string $username = '' ][, string $password = '' ][, array<string|int, mixed> $args = array() ]) : int|WP_Error
Parameters
$email : string

Customer email.

$username : string = ''

Customer username.

$password : string = ''

Customer password.

$args : array<string|int, mixed> = array()

List of arguments to pass to wp_insert_user().

wc_create_new_customer_username()

Create a unique username for a new customer.

wc_create_new_customer_username(string $email[, array<string|int, mixed> $new_user_args = array() ][, string $suffix = '' ]) : string
Parameters
$email : string

New customer email address.

$new_user_args : array<string|int, mixed> = array()

Array of new user args, maybe including first and last names.

$suffix : string = ''

Append string to username to make it unique.

Tags
since
3.6.0

Login a customer (set auth cookie and set global user object).

wc_set_customer_auth_cookie(int $customer_id) : mixed
Parameters
$customer_id : int

Customer ID.

wc_update_new_customer_past_orders()

Get past orders (by email) and update them.

wc_update_new_customer_past_orders(int $customer_id) : int
Parameters
$customer_id : int

Customer ID.

wc_paying_customer()

Order payment completed - This is a paying customer.

wc_paying_customer(int $order_id) : mixed
Parameters
$order_id : int

Order ID.

wc_customer_bought_product()

Checks if a user (by email or ID or both) has bought an item.

wc_customer_bought_product(string $customer_email, int $user_id, int $product_id) : bool
Parameters
$customer_email : string

Customer email to check.

$user_id : int

User ID to check.

$product_id : int

Product ID to check.

wc_current_user_has_role()

Checks if the current user has a role.

wc_current_user_has_role(string $role) : bool
Parameters
$role : string

The role.

wc_user_has_role()

Checks if a user has a role.

wc_user_has_role(int|WP_User $user, string $role) : bool
Parameters
$user : int|WP_User

The user.

$role : string

The role.

wc_customer_has_capability()

Checks if a user has a certain capability.

wc_customer_has_capability(array<string|int, mixed> $allcaps, array<string|int, mixed> $caps, array<string|int, mixed> $args) : array<string|int, mixed>
Parameters
$allcaps : array<string|int, mixed>

All capabilities.

$caps : array<string|int, mixed>

Capabilities.

$args : array<string|int, mixed>

Arguments.

wc_shop_manager_has_capability()

Safe way of allowing shop managers restricted capabilities that will remove access to the capabilities if WooCommerce is deactivated.

wc_shop_manager_has_capability(array<string|int, bool> $allcaps, array<string|int, string> $caps, array<string|int, mixed> $args, WP_User $user) : array<string|int, bool>
Parameters
$allcaps : array<string|int, bool>

Array of key/value pairs where keys represent a capability name and boolean values represent whether the user has that capability.

$caps : array<string|int, string>

Required primitive capabilities for the requested capability.

$args : array<string|int, mixed>

Arguments that accompany the requested capability check.

$user : WP_User

The user object.

Tags
since
3.5.4

wc_modify_editable_roles()

Modify the list of editable roles to prevent non-admin adding admin users.

wc_modify_editable_roles(array<string|int, mixed> $roles) : array<string|int, mixed>
Parameters
$roles : array<string|int, mixed>

Roles.

wc_modify_map_meta_cap()

Modify capabilities to prevent non-admin users editing admin users.

wc_modify_map_meta_cap(array<string|int, mixed> $caps, string $cap, int $user_id, array<string|int, mixed> $args) : array<string|int, mixed>

$args[0] will be the user being edited in this case.

Parameters
$caps : array<string|int, mixed>

Array of caps.

$cap : string

Name of the cap we are checking.

$user_id : int

ID of the user being checked against.

$args : array<string|int, mixed>

Arguments.

wc_get_customer_download_permissions()

Get customer download permissions from the database.

wc_get_customer_download_permissions(int $customer_id) : array<string|int, mixed>
Parameters
$customer_id : int

Customer/User ID.

wc_get_customer_available_downloads()

Get customer available downloads.

wc_get_customer_available_downloads(int $customer_id) : array<string|int, mixed>
Parameters
$customer_id : int

Customer/User ID.

wc_get_customer_total_spent()

Get total spent by customer.

wc_get_customer_total_spent(int $user_id) : string
Parameters
$user_id : int

User ID.

wc_get_customer_order_count()

Get total orders by customer.

wc_get_customer_order_count(int $user_id) : int
Parameters
$user_id : int

User ID.

wc_reset_order_customer_id_on_deleted_user()

Reset _customer_user on orders when a user is deleted.

wc_reset_order_customer_id_on_deleted_user(int $user_id) : mixed
Parameters
$user_id : int

User ID.

wc_review_is_from_verified_owner()

Get review verification status.

wc_review_is_from_verified_owner(int $comment_id) : bool
Parameters
$comment_id : int

Comment ID.

wc_disable_author_archives_for_customers()

Disable author archives for customers.

wc_disable_author_archives_for_customers() : mixed
Tags
since
2.5.0

wc_update_profile_last_update_time()

Hooks into the `profile_update` hook to set the user last updated timestamp.

wc_update_profile_last_update_time(int $user_id, array<string|int, mixed> $old) : mixed
Parameters
$user_id : int

The user that was updated.

$old : array<string|int, mixed>

The profile fields pre-change.

Tags
since
2.6.0

wc_meta_update_last_update_time()

Hooks into the update user meta function to set the user last updated timestamp.

wc_meta_update_last_update_time(int $meta_id, int $user_id, string $meta_key, mixed $_meta_value) : mixed
Parameters
$meta_id : int

ID of the meta object that was changed.

$user_id : int

The user that was updated.

$meta_key : string

Name of the meta key that was changed.

$_meta_value : mixed

Value of the meta that was changed.

Tags
since
2.6.0

wc_set_user_last_update_time()

Sets a user's "last update" time to the current timestamp.

wc_set_user_last_update_time(int $user_id) : mixed
Parameters
$user_id : int

The user to set a timestamp for.

Tags
since
2.6.0

wc_get_customer_saved_methods_list()

Get customer saved payment methods list.

wc_get_customer_saved_methods_list(int $customer_id) : array<string|int, mixed>
Parameters
$customer_id : int

Customer ID.

Tags
since
2.6.0

wc_get_customer_last_order()

Get info about customer's last order.

wc_get_customer_last_order(int $customer_id) : WC_Order|bool
Parameters
$customer_id : int

Customer ID.

Tags
since
2.6.0

wc_user_search_columns()

Add support for searching by display_name.

wc_user_search_columns(array<string|int, mixed> $search_columns) : array<string|int, mixed>
Parameters
$search_columns : array<string|int, mixed>

Column names.

Tags
since
3.2.0

wc_delete_user_data()

When a user is deleted in WordPress, delete corresponding WooCommerce data.

wc_delete_user_data(int $user_id) : mixed
Parameters
$user_id : int

User ID being deleted.

wc_maybe_store_user_agent()

Store user agents. Used for tracker.

wc_maybe_store_user_agent(string $user_login, int|object $user) : mixed
Parameters
$user_login : string

User login.

$user : int|object

User.

Tags
since
3.0.0

wc_user_logged_in()

Update logic triggered on login.

wc_user_logged_in(string $user_login, object $user) : mixed
Parameters
$user_login : string

User login.

$user : object

User.

Tags
since
3.4.0

wc_current_user_is_active()

Update when the user was last active.

wc_current_user_is_active() : mixed
Tags
since
3.4.0

wc_update_user_last_active()

Set the user last active timestamp to now.

wc_update_user_last_active(int $user_id) : mixed
Parameters
$user_id : int

User ID to mark active.

Tags
since
3.4.0

wc_translate_user_roles()

Translate WC roles using the woocommerce textdomain.

wc_translate_user_roles(string $translation, string $text, string $context, string $domain) : string
Parameters
$translation : string

Translated text.

$text : string

Text to translate.

$context : string

Context information for the translators.

$domain : string

Text domain. Unique identifier for retrieving translated strings.

Tags
since
3.7.0

wc_webhook_execute_queue()

Process the web hooks at the end of the request.

wc_webhook_execute_queue() : mixed
Tags
since
4.4.0

wc_webhook_process_delivery()

Process webhook delivery.

wc_webhook_process_delivery(WC_Webhook $webhook, array<string|int, mixed> $arg) : mixed
Parameters
$webhook : WC_Webhook

Webhook instance.

$arg : array<string|int, mixed>

Delivery arguments.

Tags
since
3.3.0

wc_deliver_webhook_async()

Wrapper function to execute the `woocommerce_deliver_webhook_async` cron.

wc_deliver_webhook_async(int $webhook_id, mixed $arg) : mixed

hook, see WC_Webhook::process().

Parameters
$webhook_id : int

Webhook ID to deliver.

$arg : mixed

Hook argument.

Tags
since
2.2.0
throws
Exception

If webhook cannot be read/found and $data parameter of WC_Webhook class constructor is set.

wc_is_webhook_valid_topic()

Check if the given topic is a valid webhook topic, a topic is valid if:

wc_is_webhook_valid_topic(string $topic) : bool
  • starts with action.woocommerce_ or action.wc_.
  • it has a valid resource & event.
Parameters
$topic : string

Webhook topic.

Tags
since
2.2.0

wc_is_webhook_valid_status()

Check if given status is a valid webhook status.

wc_is_webhook_valid_status(string $status) : bool
Parameters
$status : string

Status to check.

Tags
since
3.5.3

wc_load_webhooks()

Load webhooks.

wc_load_webhooks([string $status = '' ][, null|int $limit = null ]) : bool
Parameters
$status : string = ''

Optional - status to filter results by. Must be a key in return value of @see wc_get_webhook_statuses(). @since 3.5.0.

$limit : null|int = null

Limit number of webhooks loaded. @since 3.6.0.

Tags
since
3.3.0
throws
Exception

If webhook cannot be read/found and $data parameter of WC_Webhook class constructor is set.

wc_get_webhook_rest_api_versions()

Get webhoook REST API versions.

wc_get_webhook_rest_api_versions() : array<string|int, mixed>
Tags
since
3.5.1

wc_get_container()

Returns the WooCommerce object container.

wc_get_container() : Container

Code in the includes directory should use the container to get instances of classes in the src directory.

Tags
since
4.4.0