WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Security & Risk Analysis

wordpress.org/plugins/wholesalex

Best WooCommerce wholesale plugin with features like b2b wholesale prices, wholesale order form, tiered pricing, catalog mode, dynamic pricing, etc!

2K active installs v2.3.6 PHP 7.4+ WP 6.8+ Updated Apr 15, 2026
b2bwholesalewholesale-pluginwholesale-pricingwoocommerce-wholesale
97
A · Safe
CVEs total4
Unpatched0
Last CVEMar 29, 2024
Safety Verdict

Is WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Safe to Use in 2026?

Generally Safe

Score 97/100

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices has a strong security track record. Known vulnerabilities have been patched promptly. It's a solid choice for most WordPress installations.

4 known CVEsLast CVE: Mar 29, 2024Updated 1mo ago
Risk Assessment

The "wholesalex" v2.3.3 plugin exhibits a mixed security posture. While it demonstrates strong adherence to secure coding practices like the use of prepared statements for all SQL queries and a high percentage of properly escaped output, several significant concerns remain. The large attack surface, with 26 out of 51 entry points lacking authentication or permission checks, presents a substantial risk. This includes a concerning number of unprotected AJAX handlers and REST API routes, which could allow unauthenticated users to trigger plugin functionality.

The vulnerability history is also a major red flag. With a total of 4 known CVEs, including one previously classified as critical, and a recent vulnerability discovered in March 2024, it suggests a pattern of security flaws. The common vulnerability types such as Improper Privilege Management, Missing Authorization, and Exposure of Sensitive Information point to recurring issues in how the plugin handles user access and data security. While there are currently no unpatched CVEs, the history of critical vulnerabilities warrants caution.

In conclusion, despite positive aspects like robust SQL handling and output escaping, the plugin's significant number of unprotected entry points and its history of critical vulnerabilities make it a moderate to high-risk plugin. The lack of authentication on a substantial portion of its attack surface, coupled with past critical flaws, necessitates careful monitoring and prompt updates. The plugin's developers need to address the authorization gaps in its entry points to improve its overall security posture.

Key Concerns

  • Unprotected AJAX handlers
  • Unprotected REST API routes
  • Total unprotected entry points are high
  • History of critical CVEs
  • Recent vulnerability discovered (March 2024)
  • Common vulnerability types: Improper Privilege Management
  • Common vulnerability types: Missing Authorization
  • Common vulnerability types: Exposure of Sensitive Information
  • Common vulnerability types: Deserialization of Untrusted Data
Vulnerabilities
4 published

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Security Vulnerabilities

CVEs by Year

4 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Critical
1
Medium
3

4 total CVEs

CVE-2024-30542medium · 6.5Improper Privilege Management

WholesaleX <= 1.3.2 - Unauthenticated Privilege Escalation

Mar 29, 2024 Patched in 1.3.3 (6d)
CVE-2024-30234medium · 4.3Missing Authorization

WholesaleX <= 1.3.1 - Authenticated(Subscriber+) Missing Authorization via multiple AJAX actions

Mar 26, 2024 Patched in 1.3.2 (2d)
CVE-2024-30233medium · 4.3Exposure of Sensitive Information to an Unauthorized Actor

WholesaleX <= 1.3.1 - Sensitive Information Exposure via export_users

Mar 26, 2024 Patched in 1.3.2 (2d)
CVE-2024-30224critical · 9.8Deserialization of Untrusted Data

WholesaleX – WooCommerce Wholesale Plugin (Wholesale Prices, Dynamic Pricing, Tiered Pricing) <= 1.3.2 - Unauthenticated PHP Object Injection

Mar 26, 2024 Patched in 1.3.3 (43d)
Version History

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Release Timeline

v2.3.6Current
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.10
v2.1.9
v2.1.8
v2.1.7
v2.1.6
v2.1.5
v2.1.4
Code Analysis
Analyzed Mar 16, 2026

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
35 prepared
Unescaped Output
34
1956 escaped
Nonce Checks
58
Capability Checks
49
File Operations
5
External Requests
9
Bundled Libraries
0

SQL Query Safety

100% prepared35 total queries

Output Escaping

98% escaped1990 total outputs
Data Flows · Security
8 unsanitized

Data Flow Analysis

16 flows8 with unsanitized paths
add_recaptcha_on_registration_form (addons\recaptcha\class-recaptcha.php:304)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
26 unprotected

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Attack Surface

Entry Points51
Unprotected26

AJAX Handlers 27

authwp_ajax_wholesalex_export_users_columnsincludes\class-wholesalex-import-export.php:20
authwp_ajax_wholesalex_export_usersincludes\class-wholesalex-import-export.php:21
authwp_ajax_wholesalex_import_usersincludes\class-wholesalex-import-export.php:22
authwp_ajax_wholesalex_process_import_usersincludes\class-wholesalex-import-export.php:23
authwp_ajax_wholesalex_bulk_edit_variationsincludes\class-wholesalex-product.php:109
authwp_ajax_wsx_addonincludes\class-wholesalex-request-api.php:22
noprivwp_ajax_wholesalex_process_loginincludes\class-wholesalex-shortcodes.php:71
authwp_ajax_wholesalex_process_loginincludes\class-wholesalex-shortcodes.php:72
authwp_ajax_wsx_deactive_pluginincludes\deactive\class-deactive.php:29
authwp_ajax_wsx_install_pluginincludes\durbin\class-our-plugins.php:13
authwp_ajax_wholesalex_dynamic_rule_import_upload_fileincludes\import\class-wholesalex-dynamic-rule-csv-importer-controller.php:130
authwp_ajax_wholesalex_dynamic_rule_run_importerincludes\import\class-wholesalex-dynamic-rule-csv-importer-controller.php:131
authwp_ajax_wholesalex_do_ajax_dynamic_rule_importincludes\import\class-wholesalex-dynamic-rule-csv-importer-controller.php:132
authwp_ajax_wholesalex_role_import_upload_fileincludes\import\class-wholesalex-role-csv-importer-controller.php:131
authwp_ajax_wholesalex_role_run_importerincludes\import\class-wholesalex-role-csv-importer-controller.php:132
authwp_ajax_wholesalex_do_ajax_role_importincludes\import\class-wholesalex-role-csv-importer-controller.php:133
authwp_ajax_save_wholesalex_email_settingsincludes\menu\class-wholesalex-email.php:19
authwp_ajax_wholesalex_migration_tool_installincludes\menu\class-wholesalex-overview.php:41
noprivwp_ajax_wholesalex_process_registrationincludes\menu\class-wholesalex-registration.php:61
authwp_ajax_wholesalex_process_registrationincludes\menu\class-wholesalex-registration.php:62
authwp_ajax_get_plugin_statusincludes\menu\class-wholesalex-setup-wizard.php:50
authwp_ajax_set_plugin_statusincludes\menu\class-wholesalex-setup-wizard.php:51
authwp_ajax_get_general_dataincludes\menu\class-wholesalex-setup-wizard.php:53
authwp_ajax_save_general_dataincludes\menu\class-wholesalex-setup-wizard.php:54
authwp_ajax_data_collectionincludes\menu\class-wholesalex-setup-wizard.php:56
authwp_ajax_wsx_wizard_updateincludes\menu\class-wholesalex-setup-wizard.php:57
authwp_ajax_wsx_installincludes\notice\class-notice.php:26

REST API Routes 21

GET/wp-json/wholesalex/v1/product_action/includes\class-wholesalex-product.php:1106
GET/wp-json/wholesalex/v1/dynamic_rule_actionincludes\dynamic-rules\class-dynamic-rules-rest-api.php:58
GET/wp-json/wholesalex/v1/dynamic_rule_per_page_actionincludes\dynamic-rules\class-dynamic-rules-rest-api.php:85
GET/wp-json/wholesalex/v1/dynamic_bulk_actionincludes\dynamic-rules\class-dynamic-rules-rest-api.php:112
GET/wp-json/wholesalex/v1/category_action/includes\menu\class-wholesalex-category.php:50
GET/wp-json/wholesalex/v1/email_templates/includes\menu\class-wholesalex-email.php:73
GET/wp-json/wholesalex/v1/overview_action/includes\menu\class-wholesalex-overview.php:339
GET/wp-json/wholesalex/v1/profile_action/includes\menu\class-wholesalex-profile.php:70
GET/wp-json/wholesalex/v1/builder_action/includes\menu\class-wholesalex-registration.php:234
GET/wp-json/wholesalex/v1/blockPreview/formsincludes\menu\class-wholesalex-registration.php:249
GET/wp-json/wholesalex/v1/role_change_request_action/includes\menu\class-wholesalex-request-role-change.php:224
GET/wp-json/wholesalex/v1/role_change_request/includes\menu\class-wholesalex-request-role-change.php:244
GET/wp-json/wholesalex/v1/role_change_action/includes\menu\class-wholesalex-request-role-change.php:266
GET/wp-json/wholesalex/v1/delete_roles/includes\menu\class-wholesalex-role.php:78
GET/wp-json/wholesalex/v1/role_action/includes\menu\class-wholesalex-role.php:136
GET/wp-json/wholesalex/v1/settings_action/includes\menu\class-wholesalex-settings.php:73
GET/wp-json/wholesalex/v1/support/includes\menu\class-wholesalex-support.php:28
GET/wp-json/wholesalex/v1/get-users-filtersincludes\menu\class-wholesalex-users.php:36
GET/wp-json/wholesalex/v1/save-users-filters/includes\menu\class-wholesalex-users.php:98
GET/wp-json/wholesalex/v1/users/includes\menu\class-wholesalex-users.php:276
GET/wp-json/wholesalex/v1/addons/includes\options\Addons.php:37

Shortcodes 3

[wholesalex_registration] includes\class-wholesalex-shortcodes.php:47
[wholesalex_login_registration] includes\class-wholesalex-shortcodes.php:48
[wholesalex_login] includes\class-wholesalex-shortcodes.php:49
WordPress Hooks 276
filterwholesalex_register_scriptsaddons\recaptcha\class-recaptcha.php:30
actionwholesalex_before_process_user_registrationaddons\recaptcha\class-recaptcha.php:31
actionwholesalex_before_process_user_loginaddons\recaptcha\class-recaptcha.php:32
actionwholesalex_before_process_conversationaddons\recaptcha\class-recaptcha.php:33
actionwholesalex_before_registration_form_renderaddons\recaptcha\class-recaptcha.php:34
actionwholesalex_conversation_metabox_contentaddons\recaptcha\class-recaptcha.php:35
actionwholesalex_conversation_metabox_content_account_pageaddons\recaptcha\class-recaptcha.php:36
actionwholesalex_before_conversation_createaddons\recaptcha\class-recaptcha.php:37
actionwholesalex_before_conversation_replyaddons\recaptcha\class-recaptcha.php:38
actionwoocommerce_login_formaddons\recaptcha\class-recaptcha.php:44
filterwp_authenticate_useraddons\recaptcha\class-recaptcha.php:45
actionwoocommerce_login_formaddons\recaptcha\class-recaptcha.php:46
actionwoocommerce_register_formaddons\recaptcha\class-recaptcha.php:47
actionwp_enqueue_scriptsaddons\recaptcha\class-recaptcha.php:48
actionlogin_enqueue_scriptsaddons\recaptcha\class-recaptcha.php:49
actionlogin_formaddons\recaptcha\class-recaptcha.php:50
actionwholesalex_login_formaddons\recaptcha\class-recaptcha.php:51
actionwholesalex_login_formaddons\recaptcha\class-recaptcha.php:52
actionwholesalex_registration_formaddons\recaptcha\class-recaptcha.php:53
filterwholesalex_addons_configaddons\recaptcha\init.php:13
actioninitaddons\recaptcha\init.php:38
actionactivated_pluginincludes\class-wholesalex-activator.php:28
actionadmin_initincludes\class-wholesalex-import-export.php:25
actionadmin_initincludes\class-wholesalex-import-export.php:26
actionadmin_initincludes\class-wholesalex-import-export.php:27
actionadmin_initincludes\class-wholesalex-import-export.php:28
filterupload_dirincludes\class-wholesalex-import-export.php:368
filterwp_handle_upload_prefilterincludes\class-wholesalex-import-export.php:369
filtersend_password_change_emailincludes\class-wholesalex-import-export.php:523
filterwoocommerce_email_change_notificationincludes\class-wholesalex-import-export.php:524
actionadmin_enqueue_scriptsincludes\class-wholesalex-initialization.php:30
actionwp_enqueue_scriptsincludes\class-wholesalex-initialization.php:33
actionadmin_initincludes\class-wholesalex-initialization.php:35
filteradmin_body_classincludes\class-wholesalex-initialization.php:37
actiontemplate_redirectincludes\class-wholesalex-initialization.php:131
filterplugin_row_metaincludes\class-wholesalex-menu.php:20
filterwoocommerce_product_options_pricingincludes\class-wholesalex-product.php:40
filterwoocommerce_product_after_variable_attributesincludes\class-wholesalex-product.php:41
actionwoocommerce_process_product_meta_simpleincludes\class-wholesalex-product.php:42
actionwoocommerce_process_product_meta_yith_bundleincludes\class-wholesalex-product.php:43
actionwoocommerce_save_product_variationincludes\class-wholesalex-product.php:44
actionrest_api_initincludes\class-wholesalex-product.php:45
filterwoocommerce_product_data_tabsincludes\class-wholesalex-product.php:46
actionwoocommerce_product_data_panelsincludes\class-wholesalex-product.php:47
actionsave_postincludes\class-wholesalex-product.php:48
filterpre_get_postsincludes\class-wholesalex-product.php:54
filterwoocommerce_product_queryincludes\class-wholesalex-product.php:55
actiontemplate_redirectincludes\class-wholesalex-product.php:56
actionwoocommerce_check_cart_itemsincludes\class-wholesalex-product.php:57
filterwoocommerce_related_productsincludes\class-wholesalex-product.php:63
filtermanage_edit-product_columnsincludes\class-wholesalex-product.php:70
actionmanage_product_posts_custom_columnincludes\class-wholesalex-product.php:72
filterwholesalex_single_product_tier_layoutincludes\class-wholesalex-product.php:80
filterwholesalex_settings_product_tier_layoutincludes\class-wholesalex-product.php:81
filterwholesalex_single_product_tier_layoutincludes\class-wholesalex-product.php:83
filterwholesalex_settings_product_tier_layoutincludes\class-wholesalex-product.php:84
actionwoocommerce_process_product_metaincludes\class-wholesalex-product.php:87
filterwoocommerce_product_export_product_default_columnsincludes\class-wholesalex-product.php:94
filterwoocommerce_csv_product_import_mapping_optionsincludes\class-wholesalex-product.php:103
filterwoocommerce_csv_product_import_mapping_default_columnsincludes\class-wholesalex-product.php:104
filterwoocommerce_product_import_inserted_product_objectincludes\class-wholesalex-product.php:105
actionwoocommerce_variable_product_bulk_edit_actionsincludes\class-wholesalex-product.php:107
actionadmin_footerincludes\class-wholesalex-product.php:114
actionyith_wcpb_after_product_bundle_options_tabincludes\class-wholesalex-product.php:115
actionwoocommerce_product_options_stock_statusincludes\class-wholesalex-product.php:161
actionwoocommerce_variation_options_inventoryincludes\class-wholesalex-product.php:162
actionsave_postincludes\class-wholesalex-product.php:164
actionwoocommerce_save_product_variationincludes\class-wholesalex-product.php:165
filterwoocommerce_admin_stock_htmlincludes\class-wholesalex-product.php:167
filterwoocommerce_product_get_stock_statusincludes\class-wholesalex-product.php:171
filterwoocommerce_product_get_stock_quantityincludes\class-wholesalex-product.php:172
actionwoocommerce_product_get_backordersincludes\class-wholesalex-product.php:173
filterwoocommerce_product_variation_get_stock_statusincludes\class-wholesalex-product.php:176
filterwoocommerce_product_variation_get_stock_quantityincludes\class-wholesalex-product.php:177
filterwoocommerce_product_variation_get_backordersincludes\class-wholesalex-product.php:178
actionwoocommerce_payment_completeincludes\class-wholesalex-product.php:190
actionwoocommerce_order_status_completedincludes\class-wholesalex-product.php:191
actionwoocommerce_order_status_processingincludes\class-wholesalex-product.php:192
actionwoocommerce_order_status_on-holdincludes\class-wholesalex-product.php:193
actionwoocommerce_order_status_cancelledincludes\class-wholesalex-product.php:195
actionwoocommerce_order_status_pendingincludes\class-wholesalex-product.php:196
actionwoocommerce_after_checkout_billing_formincludes\class-wholesalex-shortcodes.php:35
actionwoocommerce_checkout_processincludes\class-wholesalex-shortcodes.php:36
actionwoocommerce_checkout_update_order_metaincludes\class-wholesalex-shortcodes.php:37
actionwoocommerce_thankyouincludes\class-wholesalex-shortcodes.php:38
actionwoocommerce_admin_order_data_after_billing_addressincludes\class-wholesalex-shortcodes.php:39
actionwoocommerce_email_after_order_tableincludes\class-wholesalex-shortcodes.php:40
actioninitincludes\class-wholesalex-shortcodes.php:50
filterpost_classincludes\class-wholesalex-shortcodes.php:59
actionwholesalex_before_registration_form_renderincludes\class-wholesalex-shortcodes.php:69
actionwp_enqueue_scriptsincludes\class-wholesalex-shortcodes.php:74
actionwholesalex_before_registration_form_renderincludes\class-wholesalex-shortcodes.php:76
actionwp_footerincludes\class-wholesalex-shortcodes.php:725
filterwholesalex_ignore_dynamic_priceincludes\compatibility\woo-product-bundles.php:27
filterwholesalex_ignore_dynamic_priceincludes\compatibility\woocommerce-bookings.php:25
actionadmin_footerincludes\deactive\class-deactive.php:27
actionrest_api_initincludes\dynamic-rules\class-dynamic-rules-rest-api.php:44
actionrest_api_initincludes\dynamic-rules\class-dynamic-rules-rest-api.php:45
actionrest_api_initincludes\dynamic-rules\class-dynamic-rules-rest-api.php:46
actionwoocommerce_checkout_create_orderincludes\dynamic-rules\class-dynamic-rules.php:66
actionwoocommerce_update_cart_action_cart_updatedincludes\dynamic-rules\class-dynamic-rules.php:67
filterppom_product_priceincludes\dynamic-rules\class-dynamic-rules.php:70
filterppom_product_price_on_cartincludes\dynamic-rules\class-dynamic-rules.php:71
filterwopb_query_argsincludes\dynamic-rules\class-dynamic-rules.php:74
actionwp_loadedincludes\dynamic-rules\class-dynamic-rules.php:77
actionwoocommerce_blocks_loadedincludes\dynamic-rules\class-dynamic-rules.php:80
actionplugins_loadedincludes\dynamic-rules\class-dynamic-rules.php:83
filterwopb_after_loop_imageincludes\dynamic-rules\class-dynamic-rules.php:86
actionwoocommerce_before_shop_loop_item_titleincludes\dynamic-rules\class-dynamic-rules.php:87
actionwoocommerce_before_single_productincludes\dynamic-rules\class-dynamic-rules.php:88
actionwp_headincludes\dynamic-rules\class-dynamic-rules.php:89
actionwp_enqueue_scriptsincludes\dynamic-rules\class-dynamic-rules.php:92
filterwoocommerce_product_get_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:244
filterwoocommerce_product_variation_get_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:245
filterwoocommerce_variation_prices_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:246
filterwoocommerce_variation_prices_priceincludes\dynamic-rules\class-dynamic-rules.php:247
filterwoocommerce_is_purchasableincludes\dynamic-rules\class-dynamic-rules.php:611
actionwoocommerce_before_add_to_cart_formincludes\dynamic-rules\class-dynamic-rules.php:1446
actionwoocommerce_available_variationincludes\dynamic-rules\class-dynamic-rules.php:1456
actionwoocommerce_cart_calculate_feesincludes\dynamic-rules\class-dynamic-rules.php:1481
actionwoocommerce_review_order_before_paymentincludes\dynamic-rules\class-dynamic-rules.php:1529
filterwoocommerce_available_variationincludes\dynamic-rules\class-dynamic-rules.php:1589
filterwoocommerce_product_get_regular_priceincludes\dynamic-rules\class-dynamic-rules.php:1616
filterwoocommerce_product_variation_get_regular_priceincludes\dynamic-rules\class-dynamic-rules.php:1633
filterwoocommerce_variation_prices_regular_priceincludes\dynamic-rules\class-dynamic-rules.php:1645
filterwoocommerce_product_get_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:1657
filterwoocommerce_product_variation_get_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:1674
filterwoocommerce_variation_prices_sale_priceincludes\dynamic-rules\class-dynamic-rules.php:1686
filterwoocommerce_variation_prices_priceincludes\dynamic-rules\class-dynamic-rules.php:1698
filterwoocommerce_get_variation_prices_hashincludes\dynamic-rules\class-dynamic-rules.php:1710
filterwoocommerce_get_price_htmlincludes\dynamic-rules\class-dynamic-rules.php:1711
actionwoocommerce_before_calculate_totalsincludes\dynamic-rules\class-dynamic-rules.php:1712
filterwoocommerce_cart_item_priceincludes\dynamic-rules\class-dynamic-rules.php:1713
filterwoocommerce_available_variationincludes\dynamic-rules\class-dynamic-rules.php:1763
filterwopb_after_loop_imageincludes\dynamic-rules\rules\class-rule-buy-x-get-one.php:123
actionwoocommerce_before_shop_loop_item_titleincludes\dynamic-rules\rules\class-rule-buy-x-get-one.php:124
actionwoocommerce_before_single_productincludes\dynamic-rules\rules\class-rule-buy-x-get-one.php:125
actionwp_headincludes\dynamic-rules\rules\class-rule-buy-x-get-one.php:126
filterwoocommerce_quantity_input_argsincludes\dynamic-rules\rules\class-rule-min-order-qty.php:27
filterwoocommerce_available_variationincludes\dynamic-rules\rules\class-rule-min-order-qty.php:53
filterwoocommerce_loop_add_to_cart_argsincludes\dynamic-rules\rules\class-rule-min-order-qty.php:78
filterwoocommerce_add_to_cart_validationincludes\dynamic-rules\rules\class-rule-min-order-qty.php:101
filterwoocommerce_update_cart_validationincludes\dynamic-rules\rules\class-rule-min-order-qty.php:174
actionwoocommerce_check_cart_itemsincludes\dynamic-rules\rules\class-rule-min-order-qty.php:237
actionwoocommerce_store_api_product_quantity_minimumincludes\dynamic-rules\rules\class-rule-min-order-qty.php:297
filterwoocommerce_available_payment_gatewaysincludes\dynamic-rules\rules\class-rule-payment-gateway.php:30
filterwoocommerce_package_ratesincludes\dynamic-rules\rules\class-rule-shipping.php:29
filterwoocommerce_package_ratesincludes\dynamic-rules\rules\class-rule-tax.php:102
filterwoocommerce_product_get_tax_classincludes\dynamic-rules\rules\class-rule-tax.php:121
filterwoocommerce_product_variation_get_tax_classincludes\dynamic-rules\rules\class-rule-tax.php:127
actionwholesalex_registration_form_user_status_admin_approve_notificationincludes\emails\class-wholesalex-new-user-approval-require.php:78
actionwholesalex_set_status_active_notificationincludes\emails\class-wholesalex-new-user-approved.php:79
actionwholesalex_registration_form_user_status_auto_approve_notificationincludes\emails\class-wholesalex-new-user-auto-approved.php:81
actionwholesalex_user_email_verified_notificationincludes\emails\class-wholesalex-new-user-email-verified.php:79
actionwholesalex_registration_form_user_status_admin_approve_notificationincludes\emails\class-wholesalex-new-user-pending-for-approval.php:79
actionwholesalex_registration_form_user_status_auto_approve_notificationincludes\emails\class-wholesalex-new-user-registered.php:79
actionwholesalex_user_email_confirmation_notificationincludes\emails\class-wholesalex-new-user-registered.php:80
actionwholesalex_set_status_reject_notificationincludes\emails\class-wholesalex-new-user-rejected.php:78
actionwholesalex_user_email_confirmation_notificationincludes\emails\class-wholesalex-new-user-verification.php:78
actionwholesalex_user_profile_update_notify_notificationincludes\emails\class-wholesalex-user-update.php:77
filterwholesalex_csv_dynamic_rule_import_mapped_columnsincludes\import\class-wholesalex-dynamic-rule-csv-importer-controller.php:142
filterwholesalex_csv_role_import_mapped_columnsincludes\import\class-wholesalex-role-csv-importer-controller.php:143
actionedited_product_catincludes\menu\class-wholesalex-category.php:21
actioncreate_product_catincludes\menu\class-wholesalex-category.php:22
actionproduct_cat_add_form_fieldsincludes\menu\class-wholesalex-category.php:24
actionproduct_cat_edit_form_fieldsincludes\menu\class-wholesalex-category.php:25
actionpre_get_postsincludes\menu\class-wholesalex-category.php:32
actionwoocommerce_product_queryincludes\menu\class-wholesalex-category.php:38
actiontemplate_redirectincludes\menu\class-wholesalex-category.php:39
actionwoocommerce_check_cart_itemsincludes\menu\class-wholesalex-category.php:40
actionrest_api_initincludes\menu\class-wholesalex-category.php:41
actionrest_api_initincludes\menu\class-wholesalex-email.php:21
filterwholealex_email_footer_textincludes\menu\class-wholesalex-email.php:23
filterwoocommerce_email_classesincludes\menu\class-wholesalex-email.php:25
filterwoocommerce_email_actionsincludes\menu\class-wholesalex-email.php:27
filtermanage_woocommerce_page_wc-orders_columnsincludes\menu\class-wholesalex-orders.php:20
actionmanage_woocommerce_page_wc-orders_custom_columnincludes\menu\class-wholesalex-orders.php:21
actionadmin_menuincludes\menu\class-wholesalex-overview.php:34
actionrest_api_initincludes\menu\class-wholesalex-overview.php:35
actionadmin_menuincludes\menu\class-wholesalex-overview.php:36
filterwholesalex_capability_accessincludes\menu\class-wholesalex-overview.php:38
actionwp_dashboard_setupincludes\menu\class-wholesalex-overview.php:40
actioninitincludes\menu\class-wholesalex-overview.php:43
actionuser_new_formincludes\menu\class-wholesalex-profile.php:28
actionuser_new_formincludes\menu\class-wholesalex-profile.php:29
actionshow_user_profileincludes\menu\class-wholesalex-profile.php:30
actionshow_user_profileincludes\menu\class-wholesalex-profile.php:31
actionedit_user_profileincludes\menu\class-wholesalex-profile.php:32
actionedit_user_profileincludes\menu\class-wholesalex-profile.php:33
actionuser_registerincludes\menu\class-wholesalex-profile.php:35
actionpersonal_options_updateincludes\menu\class-wholesalex-profile.php:36
actionedit_user_profile_updateincludes\menu\class-wholesalex-profile.php:38
actionmanage_users_custom_columnincludes\menu\class-wholesalex-profile.php:41
filtermanage_users_columnsincludes\menu\class-wholesalex-profile.php:42
filtermanage_users_sortable_columnsincludes\menu\class-wholesalex-profile.php:44
actionpre_get_usersincludes\menu\class-wholesalex-profile.php:45
actionrestrict_manage_usersincludes\menu\class-wholesalex-profile.php:48
actionpre_get_usersincludes\menu\class-wholesalex-profile.php:49
actionrestrict_manage_usersincludes\menu\class-wholesalex-profile.php:51
actionrest_api_initincludes\menu\class-wholesalex-profile.php:53
filterwholesalex_free_shipping_titleincludes\menu\class-wholesalex-profile.php:61
actionrest_api_initincludes\menu\class-wholesalex-registration.php:38
filterwp_authenticate_userincludes\menu\class-wholesalex-registration.php:39
filterwholesalex_registration_form_user_login_optionincludes\menu\class-wholesalex-registration.php:40
filterwholesalex_registration_form_user_status_optionincludes\menu\class-wholesalex-registration.php:41
filterwholesalex_registration_form_after_registration_redirect_urlincludes\menu\class-wholesalex-registration.php:43
filterwholesalex_registration_form_after_registration_success_messageincludes\menu\class-wholesalex-registration.php:44
actionwholesalex_registration_form_user_status_email_confirmation_requireincludes\menu\class-wholesalex-registration.php:45
actionwholesalex_registration_form_user_status_auto_approveincludes\menu\class-wholesalex-registration.php:46
actionwholesalex_registration_form_user_auto_loginincludes\menu\class-wholesalex-registration.php:47
filterwoocommerce_login_redirectincludes\menu\class-wholesalex-registration.php:48
actionwholesalex_registration_form_user_status_admin_approveincludes\menu\class-wholesalex-registration.php:49
actioninitincludes\menu\class-wholesalex-registration.php:51
actionenqueue_block_editor_assetsincludes\menu\class-wholesalex-registration.php:53
actionwoocommerce_register_formincludes\menu\class-wholesalex-registration.php:55
actionwoocommerce_process_registration_errorsincludes\menu\class-wholesalex-registration.php:57
actionwoocommerce_created_customerincludes\menu\class-wholesalex-registration.php:59
actiontemplate_redirectincludes\menu\class-wholesalex-registration.php:64
actionwoocommerce_register_form_tagincludes\menu\class-wholesalex-registration.php:66
filterwoocommerce_email_enabled_customer_new_accountincludes\menu\class-wholesalex-registration.php:604
filterwoocommerce_registration_auth_new_customerincludes\menu\class-wholesalex-registration.php:1156
filterwoocommerce_email_enabled_customer_new_accountincludes\menu\class-wholesalex-registration.php:1197
actionrest_api_initincludes\menu\class-wholesalex-request-role-change.php:20
actionrest_api_initincludes\menu\class-wholesalex-request-role-change.php:21
actionrest_api_initincludes\menu\class-wholesalex-request-role-change.php:22
actionwoocommerce_account_dashboardincludes\menu\class-wholesalex-request-role-change.php:25
actionwoocommerce_account_dashboardincludes\menu\class-wholesalex-request-role-change.php:27
actionrest_api_initincludes\menu\class-wholesalex-role.php:24
actionrest_api_initincludes\menu\class-wholesalex-role.php:25
filteroption_woocommerce_tax_display_shopincludes\menu\class-wholesalex-role.php:26
filteroption_woocommerce_tax_display_cartincludes\menu\class-wholesalex-role.php:27
filterwoocommerce_coupons_enabledincludes\menu\class-wholesalex-role.php:34
actionwholesalex_before_dynamic_rules_loadedincludes\menu\class-wholesalex-role.php:41
actionadmin_initincludes\menu\class-wholesalex-role.php:43
filterwholesalex_csv_role_import_mapping_optionsincludes\menu\class-wholesalex-role.php:45
filterwholesalex_csv_role_import_mapping_default_columnsincludes\menu\class-wholesalex-role.php:46
filterwholesalex_role_importer_parsed_dataincludes\menu\class-wholesalex-role.php:47
filtereditable_rolesincludes\menu\class-wholesalex-role.php:68
actionrest_api_initincludes\menu\class-wholesalex-settings.php:21
filteroption_woocommerce_tax_display_shopincludes\menu\class-wholesalex-settings.php:22
filteroption_woocommerce_tax_display_cartincludes\menu\class-wholesalex-settings.php:23
filterwoocommerce_get_price_suffixincludes\menu\class-wholesalex-settings.php:24
filterwholesalex_recaptcha_minimum_score_allowincludes\menu\class-wholesalex-settings.php:25
filteroption_woocommerce_myaccount_page_idincludes\menu\class-wholesalex-settings.php:26
filterwoocommerce_coupons_enabledincludes\menu\class-wholesalex-settings.php:27
filterplugins_loadedincludes\menu\class-wholesalex-settings.php:28
actionadd_meta_boxesincludes\menu\class-wholesalex-settings.php:32
actionsave_postincludes\menu\class-wholesalex-settings.php:33
actiontemplate_redirectincludes\menu\class-wholesalex-settings.php:34
actionplugins_loadedincludes\menu\class-wholesalex-settings.php:42
filterwholesalex_allow_hidden_product_to_checkoutincludes\menu\class-wholesalex-settings.php:49
filterwholesalex_allow_hidden_filter_to_checkoutincludes\menu\class-wholesalex-settings.php:50
filterwholesalex_settings_product_tier_layoutincludes\menu\class-wholesalex-settings.php:54
filterwholesalex_single_product_tier_layoutincludes\menu\class-wholesalex-settings.php:55
filterwholesalex_dynamic_rules_condition_optionsincludes\menu\class-wholesalex-settings.php:56
filterwholesalex_dynamic_rules_rule_type_optionsincludes\menu\class-wholesalex-settings.php:58
filterwholesalex_dynamic_rules_rule_for_optionsincludes\menu\class-wholesalex-settings.php:60
filterwholesalex_dynamic_rules_product_filter_optionsincludes\menu\class-wholesalex-settings.php:62
actionwpincludes\menu\class-wholesalex-settings.php:1713
filterwoocommerce_get_stock_htmlincludes\menu\class-wholesalex-settings.php:1817
filteroption_woocommerce_stock_formatincludes\menu\class-wholesalex-settings.php:1826
actionin_admin_headerincludes\menu\class-wholesalex-setup-wizard.php:59
filtershow_admin_barincludes\menu\class-wholesalex-setup-wizard.php:230
actionrest_api_initincludes\menu\class-wholesalex-support.php:19
actionrest_api_initincludes\menu\class-wholesalex-users.php:24
actionrest_api_initincludes\menu\class-wholesalex-users.php:25
actionadmin_initincludes\menu\class-wholesalex-users.php:26
actionrest_api_initincludes\menu\class-wholesalex-users.php:27
actionadmin_noticesincludes\notice\class-notice.php:19
actionadmin_initincludes\notice\class-notice.php:20
actionrest_api_initincludes\notice\class-notice.php:23
filterwholesalex_addons_configincludes\options\Addons.php:26
actionrest_api_initincludes\options\Addons.php:28
actionbefore_woocommerce_initwholesalex.php:40
actionbefore_woocommerce_initwholesalex.php:54
actioninitwholesalex.php:71

Scheduled Events 2

importer_scheduled_cleanup
importer_scheduled_cleanup
Maintenance & Trust

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedApr 15, 2026
PHP min version7.4
Downloads122K

Community Trust

Rating100/100
Number of ratings40
Active installs2K
Developer Profile

WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices Developer Profile

WPXPO

9 plugins · 51K total installs

71
trust score
Avg Security Score
89/100
Avg Patch Time
137 days
View full developer profile
Detection Fingerprints

How We Detect WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/wholesalex/addons/recaptcha/assets/css/recaptcha.css/wp-content/plugins/wholesalex/assets/css/wholesalex-admin.css/wp-content/plugins/wholesalex/assets/css/wholesalex-frontend.css/wp-content/plugins/wholesalex/assets/js/wholesalex-admin.js/wp-content/plugins/wholesalex/assets/js/wholesalex-frontend.js/wp-content/plugins/wholesalex/assets/js/wholesalex-popup.js/wp-content/plugins/wholesalex/assets/js/wholesalex-woo.js/wp-content/plugins/wholesalex/assets/js/wholesalex-cart.js
Script Paths
https://www.google.com/recaptcha/api.js
Version Parameters
wholesalex/assets/css/wholesalex-admin.css?ver=wholesalex/assets/css/wholesalex-frontend.css?ver=wholesalex/assets/js/wholesalex-admin.js?ver=wholesalex/assets/js/wholesalex-frontend.js?ver=wholesalex/assets/js/wholesalex-popup.js?ver=wholesalex/assets/js/wholesalex-woo.js?ver=wholesalex/assets/js/wholesalex-cart.js?ver=wholesalex/addons/recaptcha/assets/css/recaptcha.css?ver=

HTML / DOM Fingerprints

CSS Classes
wholesalex-setup-wizard-wrapper
HTML Comments
<!-- NOTICE DELETED FROM HERE. --><!-- WholesaleX Recaptcha --><!-- WholesaleX Recaptcha Class --><!-- Shortcodes Constructor -->+3 more
Data Attributes
data-sitekey
JS Globals
WHOLESALEXWholesaleX
FAQ

Frequently Asked Questions about WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices