Wholesale for WooCommerce Security & Risk Analysis

wordpress.org/plugins/woo-wholesale-pricing

Wholesale for WooCommerce—This Wholesale Plugin Helps B2B and B2C Businesses Streamline Wholesale Products, Pricing, and User Roles, Automating their …

1K active installs v2.0.4 PHP 7.4+ WP 5.6+ Updated Sep 17, 2025
b2bdynamic-pricingwholesale-pluginwholesale-pricingwoocommerce-wholesale
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Wholesale for WooCommerce Safe to Use in 2026?

Generally Safe

Score 100/100

Wholesale for WooCommerce has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 6mo ago
Risk Assessment

The "woo-wholesale-pricing" v2.0.4 plugin exhibits a generally good security posture, with strong adherence to secure coding practices. The complete absence of direct SQL queries, 100% prepared statement usage, and a high percentage of properly escaped output are excellent indicators of secure development. Furthermore, the plugin's clean vulnerability history, with no known CVEs, suggests a history of responsible maintenance. The presence of a significant number of nonce and capability checks also contributes positively to its security. However, a notable concern arises from the presence of 6 AJAX handlers, 2 of which lack authentication checks. This creates a direct attack vector that could potentially be exploited by unauthenticated users, despite the absence of identified taint flows or dangerous functions. The bundled libraries, Select2 and Freemius v1.0, while not explicitly flagged as vulnerable in this analysis, represent potential areas of concern if they are outdated, as they are not part of the WordPress core and may have their own security considerations.

Key Concerns

  • Unprotected AJAX handlers present
  • Bundled library (Freemius v1.0)
  • Bundled library (Select2)
Vulnerabilities
None known

Wholesale for WooCommerce Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 16, 2026

Wholesale for WooCommerce Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
30
864 escaped
Nonce Checks
22
Capability Checks
2
File Operations
0
External Requests
0
Bundled Libraries
2

Bundled Libraries

Select2Freemius1.0

Output Escaping

97% escaped894 total outputs
Data Flows
All sanitized

Data Flow Analysis

8 flows
wwp_wholesale_page_callback (2.0.4\inc\class-wwp-wholesale-backend.php:807)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Wholesale for WooCommerce Attack Surface

Entry Points8
Unprotected2

AJAX Handlers 6

authwp_ajax_register_redirect2.0.4\inc\class-wwp-wholesale-backend.php:24
authwp_ajax_wwp_variation2.0.4\inc\class-wwp-wholesale.php:15
noprivwp_ajax_wwp_variation2.0.4\inc\class-wwp-wholesale.php:16
authwp_ajax_register_redirectinc\class-wwp-wholesale-backend.php:24
authwp_ajax_wwp_variationinc\class-wwp-wholesale.php:15
noprivwp_ajax_wwp_variationinc\class-wwp-wholesale.php:16

Shortcodes 2

[wwp_registration_form] 2.0.4\inc\class-wwp-wholesale-registration.php:14
[wwp_registration_form] inc\class-wwp-wholesale-registration.php:14
WordPress Hooks 168
actionrest_api_init2.0.4\inc\api\class-wwpp-api.php:74
actionwoocommerce_rest_is_request_to_rest_api2.0.4\inc\api\class-wwpp-api.php:75
actionrest_api_init2.0.4\inc\api\class-wwpp-api.php:86
actionwoocommerce_rest_is_request_to_rest_api2.0.4\inc\api\class-wwpp-api.php:89
filterwwp_rest_response_product_object2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-products-v1-controller.php:31
actionwwp_after_variation_create_item2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:30
actionwwp_after_variation_delete_item2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:33
filterwwp_rest_response_product_object2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:36
actionrest_api_init2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-settings-v1-controller.php:19
filterwwp_rest_response_product_object2.0.4\inc\api\v1\class-wwp-rest-api-wholesale-settings-v1-controller.php:20
actionadmin_menu2.0.4\inc\class-wwp-wholesale-backend.php:13
actionadmin_menu2.0.4\inc\class-wwp-wholesale-backend.php:14
actionadmin_init2.0.4\inc\class-wwp-wholesale-backend.php:16
filterwoocommerce_product_data_tabs2.0.4\inc\class-wwp-wholesale-backend.php:17
actionadmin_enqueue_scripts2.0.4\inc\class-wwp-wholesale-backend.php:18
actionadmin_head2.0.4\inc\class-wwp-wholesale-backend.php:19
actionwoocommerce_product_data_panels2.0.4\inc\class-wwp-wholesale-backend.php:20
actionwoocommerce_process_product_meta2.0.4\inc\class-wwp-wholesale-backend.php:21
actionwoocommerce_product_after_variable_attributes2.0.4\inc\class-wwp-wholesale-backend.php:22
actionwoocommerce_save_product_variation2.0.4\inc\class-wwp-wholesale-backend.php:23
actionwwp_wholesale_new_registered_request2.0.4\inc\class-wwp-wholesale-common.php:12
actionwp_enqueue_scripts2.0.4\inc\class-wwp-wholesale-frontend.php:10
filterwoocommerce_coupons_enabled2.0.4\inc\class-wwp-wholesale-frontend.php:11
actioninit2.0.4\inc\class-wwp-wholesale-frontend.php:13
actioninit2.0.4\inc\class-wwp-wholesale-frontend.php:15
filterquery_vars2.0.4\inc\class-wwp-wholesale-frontend.php:16
filterwoocommerce_account_menu_items2.0.4\inc\class-wwp-wholesale-frontend.php:17
actionwoocommerce_account_upgrade-account_endpoint2.0.4\inc\class-wwp-wholesale-frontend.php:18
actionwp_head2.0.4\inc\class-wwp-wholesale-frontend.php:19
filterwoocommerce_email_headers2.0.4\inc\class-wwp-wholesale-frontend.php:22
filterwoocommerce_available_payment_gateways2.0.4\inc\class-wwp-wholesale-frontend.php:23
filterwoocommerce_package_rates2.0.4\inc\class-wwp-wholesale-frontend.php:24
actionwoocommerce_single_variation2.0.4\inc\class-wwp-wholesale-frontend.php:37
actionwoocommerce_single_product_summary2.0.4\inc\class-wwp-wholesale-frontend.php:38
actionwoocommerce_after_shop_loop_item2.0.4\inc\class-wwp-wholesale-frontend.php:39
filterwoocommerce_get_price_html2.0.4\inc\class-wwp-wholesale-frontend.php:40
filterwoocommerce_is_purchasable2.0.4\inc\class-wwp-wholesale-frontend.php:41
filterwoocommerce_package_rates2.0.4\inc\class-wwp-wholesale-functions.php:13
actionwoocommerce_register_form_end2.0.4\inc\class-wwp-wholesale-registration.php:15
actioninit2.0.4\inc\class-wwp-wholesale-requests.php:13
actioninit2.0.4\inc\class-wwp-wholesale-requests.php:14
filtermanage_wwp_requests_posts_columns2.0.4\inc\class-wwp-wholesale-requests.php:15
actionmanage_wwp_requests_posts_custom_column2.0.4\inc\class-wwp-wholesale-requests.php:16
actionadmin_menu2.0.4\inc\class-wwp-wholesale-requests.php:17
actionadd_meta_boxes2.0.4\inc\class-wwp-wholesale-requests.php:18
actionsave_post_wwp_requests2.0.4\inc\class-wwp-wholesale-requests.php:19
actionedit_user_profile_update2.0.4\inc\class-wwp-wholesale-requests.php:20
actiontransition_post_status2.0.4\inc\class-wwp-wholesale-requests.php:21
actionwp_trash_post2.0.4\inc\class-wwp-wholesale-requests.php:22
actionbefore_delete_post2.0.4\inc\class-wwp-wholesale-requests.php:23
actioninit2.0.4\inc\class-wwp-wholesale-user-roles.php:13
actioninit2.0.4\inc\class-wwp-wholesale-user-roles.php:14
filterwholesale_user_roles_row_actions2.0.4\inc\class-wwp-wholesale-user-roles.php:15
filtermanage_edit-wholesale_user_roles_columns2.0.4\inc\class-wwp-wholesale-user-roles.php:16
actionwholesale_user_roles_edit_form_fields2.0.4\inc\class-wwp-wholesale-user-roles.php:17
actionedited_wholesale_user_roles2.0.4\inc\class-wwp-wholesale-user-roles.php:18
actionadmin_enqueue_scripts2.0.4\inc\class-wwp-wholesale-user-roles.php:19
filterwp_update_term_data2.0.4\inc\class-wwp-wholesale-user-roles.php:20
filterbulk_actions-edit-wholesale_user_roles2.0.4\inc\class-wwp-wholesale-user-roles.php:21
actionadmin_menu2.0.4\inc\class-wwp-wholesale-user-roles.php:22
filterparent_file2.0.4\inc\class-wwp-wholesale-user-roles.php:26
filterwoocommerce_get_price_html2.0.4\inc\class-wwp-wholesale.php:11
filterwoocommerce_cart_item_price2.0.4\inc\class-wwp-wholesale.php:12
actionwoocommerce_before_calculate_totals2.0.4\inc\class-wwp-wholesale.php:13
actionwp_footer2.0.4\inc\class-wwp-wholesale.php:14
filterwoocommerce_variable_sale_price_html2.0.4\inc\class-wwp-wholesale.php:17
filterwoocommerce_variable_price_html2.0.4\inc\class-wwp-wholesale.php:18
actionwoocommerce_product_query2.0.4\inc\class-wwp-wholesale.php:19
actioninit2.0.4\inc\class-wwp-wholesale.php:20
filterwoocommerce_product_variation_get_price2.0.4\inc\class-wwp-wholesale.php:21
filterwoocommerce_product_variation_get_regular_price2.0.4\inc\class-wwp-wholesale.php:22
filterwoocommerce_available_variation2.0.4\inc\class-wwp-wholesale.php:23
actionwoocommerce_before_add_to_cart_form2.0.4\inc\class-wwp-wholesale.php:24
actionwoocommerce_single_variation2.0.4\inc\class-wwp-wholesale.php:25
filterwwp_wholesale_product_price2.0.4\inc\class-wwp-wholesale.php:26
filterwwp_wholesale_product_save2.0.4\inc\class-wwp-wholesale.php:27
actionwoocommerce_before_mini_cart_contents2.0.4\inc\class-wwp-wholesale.php:28
filterwoocommerce_get_settings_shipping2.0.4\inc\compatibilty\hide-shipping-free-shipping.php:53
actionbefore_woocommerce_init2.0.4\inc\compatibilty\hide-shipping-free-shipping.php:54
filterwoocommerce_package_rates2.0.4\inc\compatibilty\hide-shipping-free-shipping.php:185
filterwoocommerce_package_rates2.0.4\inc\compatibilty\hide-shipping-free-shipping.php:187
actionbefore_woocommerce_init2.0.4\wholesale-for-woocommerce-free.php:46
actionadmin_notices2.0.4\wholesale-for-woocommerce-free.php:57
actioninit2.0.4\wholesale-for-woocommerce-free.php:94
actionrest_api_initinc\api\class-wwpp-api.php:74
actionwoocommerce_rest_is_request_to_rest_apiinc\api\class-wwpp-api.php:75
actionrest_api_initinc\api\class-wwpp-api.php:86
actionwoocommerce_rest_is_request_to_rest_apiinc\api\class-wwpp-api.php:89
filterwwp_rest_response_product_objectinc\api\v1\class-wwp-rest-api-wholesale-products-v1-controller.php:31
actionwwp_after_variation_create_iteminc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:30
actionwwp_after_variation_delete_iteminc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:33
filterwwp_rest_response_product_objectinc\api\v1\class-wwp-rest-api-wholesale-products-variations-v1-controller.php:36
actionrest_api_initinc\api\v1\class-wwp-rest-api-wholesale-settings-v1-controller.php:19
filterwwp_rest_response_product_objectinc\api\v1\class-wwp-rest-api-wholesale-settings-v1-controller.php:20
actionadmin_menuinc\class-wwp-wholesale-backend.php:13
actionadmin_menuinc\class-wwp-wholesale-backend.php:14
actionadmin_initinc\class-wwp-wholesale-backend.php:16
filterwoocommerce_product_data_tabsinc\class-wwp-wholesale-backend.php:17
actionadmin_enqueue_scriptsinc\class-wwp-wholesale-backend.php:18
actionadmin_headinc\class-wwp-wholesale-backend.php:19
actionwoocommerce_product_data_panelsinc\class-wwp-wholesale-backend.php:20
actionwoocommerce_process_product_metainc\class-wwp-wholesale-backend.php:21
actionwoocommerce_product_after_variable_attributesinc\class-wwp-wholesale-backend.php:22
actionwoocommerce_save_product_variationinc\class-wwp-wholesale-backend.php:23
actionwwp_wholesale_new_registered_requestinc\class-wwp-wholesale-common.php:12
actionwp_enqueue_scriptsinc\class-wwp-wholesale-frontend.php:10
filterwoocommerce_coupons_enabledinc\class-wwp-wholesale-frontend.php:11
actioninitinc\class-wwp-wholesale-frontend.php:13
actioninitinc\class-wwp-wholesale-frontend.php:15
filterquery_varsinc\class-wwp-wholesale-frontend.php:16
filterwoocommerce_account_menu_itemsinc\class-wwp-wholesale-frontend.php:17
actionwoocommerce_account_upgrade-account_endpointinc\class-wwp-wholesale-frontend.php:18
actionwp_headinc\class-wwp-wholesale-frontend.php:19
filterwoocommerce_email_headersinc\class-wwp-wholesale-frontend.php:22
filterwoocommerce_available_payment_gatewaysinc\class-wwp-wholesale-frontend.php:23
filterwoocommerce_package_ratesinc\class-wwp-wholesale-frontend.php:24
actionwoocommerce_single_variationinc\class-wwp-wholesale-frontend.php:37
actionwoocommerce_single_product_summaryinc\class-wwp-wholesale-frontend.php:38
actionwoocommerce_after_shop_loop_iteminc\class-wwp-wholesale-frontend.php:39
filterwoocommerce_get_price_htmlinc\class-wwp-wholesale-frontend.php:40
filterwoocommerce_is_purchasableinc\class-wwp-wholesale-frontend.php:41
filterwoocommerce_package_ratesinc\class-wwp-wholesale-functions.php:13
actionwoocommerce_register_form_endinc\class-wwp-wholesale-registration.php:15
actioninitinc\class-wwp-wholesale-requests.php:13
actioninitinc\class-wwp-wholesale-requests.php:14
filtermanage_wwp_requests_posts_columnsinc\class-wwp-wholesale-requests.php:15
actionmanage_wwp_requests_posts_custom_columninc\class-wwp-wholesale-requests.php:16
actionadmin_menuinc\class-wwp-wholesale-requests.php:17
actionadd_meta_boxesinc\class-wwp-wholesale-requests.php:18
actionsave_post_wwp_requestsinc\class-wwp-wholesale-requests.php:19
actionedit_user_profile_updateinc\class-wwp-wholesale-requests.php:20
actiontransition_post_statusinc\class-wwp-wholesale-requests.php:21
actionwp_trash_postinc\class-wwp-wholesale-requests.php:22
actionbefore_delete_postinc\class-wwp-wholesale-requests.php:23
actioninitinc\class-wwp-wholesale-user-roles.php:13
actioninitinc\class-wwp-wholesale-user-roles.php:14
filterwholesale_user_roles_row_actionsinc\class-wwp-wholesale-user-roles.php:15
filtermanage_edit-wholesale_user_roles_columnsinc\class-wwp-wholesale-user-roles.php:16
actionwholesale_user_roles_edit_form_fieldsinc\class-wwp-wholesale-user-roles.php:17
actionedited_wholesale_user_rolesinc\class-wwp-wholesale-user-roles.php:18
actionadmin_enqueue_scriptsinc\class-wwp-wholesale-user-roles.php:19
filterwp_update_term_datainc\class-wwp-wholesale-user-roles.php:20
filterbulk_actions-edit-wholesale_user_rolesinc\class-wwp-wholesale-user-roles.php:21
actionadmin_menuinc\class-wwp-wholesale-user-roles.php:22
filterparent_fileinc\class-wwp-wholesale-user-roles.php:26
filterwoocommerce_get_price_htmlinc\class-wwp-wholesale.php:11
filterwoocommerce_cart_item_priceinc\class-wwp-wholesale.php:12
actionwoocommerce_before_calculate_totalsinc\class-wwp-wholesale.php:13
actionwp_footerinc\class-wwp-wholesale.php:14
filterwoocommerce_variable_sale_price_htmlinc\class-wwp-wholesale.php:17
filterwoocommerce_variable_price_htmlinc\class-wwp-wholesale.php:18
actionwoocommerce_product_queryinc\class-wwp-wholesale.php:19
actioninitinc\class-wwp-wholesale.php:20
filterwoocommerce_product_variation_get_priceinc\class-wwp-wholesale.php:21
filterwoocommerce_product_variation_get_regular_priceinc\class-wwp-wholesale.php:22
filterwoocommerce_available_variationinc\class-wwp-wholesale.php:23
actionwoocommerce_before_add_to_cart_forminc\class-wwp-wholesale.php:24
actionwoocommerce_single_variationinc\class-wwp-wholesale.php:25
filterwwp_wholesale_product_priceinc\class-wwp-wholesale.php:26
filterwwp_wholesale_product_saveinc\class-wwp-wholesale.php:27
actionwoocommerce_before_mini_cart_contentsinc\class-wwp-wholesale.php:28
filterwoocommerce_get_settings_shippinginc\compatibilty\hide-shipping-free-shipping.php:53
actionbefore_woocommerce_initinc\compatibilty\hide-shipping-free-shipping.php:54
filterwoocommerce_package_ratesinc\compatibilty\hide-shipping-free-shipping.php:185
filterwoocommerce_package_ratesinc\compatibilty\hide-shipping-free-shipping.php:187
actionbefore_woocommerce_initwholesale-for-woocommerce-free.php:46
actionadmin_noticeswholesale-for-woocommerce-free.php:57
actioninitwholesale-for-woocommerce-free.php:94
Maintenance & Trust

Wholesale for WooCommerce Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedSep 17, 2025
PHP min version7.4
Downloads36K

Community Trust

Rating100/100
Number of ratings5
Active installs1K
Developer Profile

Wholesale for WooCommerce Developer Profile

Saad Iqbal

84 plugins · 1.4M total installs

76
trust score
Avg Security Score
96/100
Avg Patch Time
287 days
View full developer profile
Detection Fingerprints

How We Detect Wholesale for WooCommerce

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/woo-wholesale-pricing/assets/css/wwp_frontend.css/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_frontend.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_frontend_cart.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_admin.js/wp-content/plugins/woo-wholesale-pricing/assets/css/wwp_admin.css/wp-content/plugins/woo-wholesale-pricing/assets/css/wwp_admin_checkout.css/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_admin_checkout.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_product.js+1 more
Script Paths
/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_frontend.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_frontend_cart.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_admin.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_admin_checkout.js/wp-content/plugins/woo-wholesale-pricing/assets/js/wwp_product.js
Version Parameters
woo-wholesale-pricing/assets/css/wwp_frontend.css?ver=woo-wholesale-pricing/assets/js/wwp_frontend.js?ver=woo-wholesale-pricing/assets/js/wwp_frontend_cart.js?ver=woo-wholesale-pricing/assets/js/wwp_admin.js?ver=woo-wholesale-pricing/assets/css/wwp_admin.css?ver=woo-wholesale-pricing/assets/css/wwp_admin_checkout.css?ver=woo-wholesale-pricing/assets/js/wwp_admin_checkout.js?ver=woo-wholesale-pricing/assets/js/wwp_product.js?ver=woo-wholesale-pricing/assets/css/wwp_product.css?ver=

HTML / DOM Fingerprints

CSS Classes
wholesale-price-displaywholesale-price-labelwholesale-product-formwholesale-form-fieldwwp-wholesale-inputwwp-discount-percentage
HTML Comments
<!-- WHOLSALE FOR WOOCOMMERCE PRICE DISPLAY START --><!-- WHOLSALE FOR WOOCOMMERCE PRICE DISPLAY END --><!-- WHOLSALE FOR WOOCOMMERCE PRODUCT FORM START --><!-- WHOLSALE FOR WOOCOMMERCE PRODUCT FORM END -->+2 more
Data Attributes
data-wholesale-pricedata-original-pricedata-wholesale-discount
JS Globals
wwp_frontend_paramswwp_frontend_cart_paramswwp_admin_paramswwp_admin_checkout_paramswwp_product_params
REST Endpoints
/wp-json/woo-wholesale-pricing/v1/get-product-wholesale-price/wp-json/woo-wholesale-pricing/v1/apply-wholesale-discount
Shortcode Output
[wholesale_price][wholesale_product_form]
FAQ

Frequently Asked Questions about Wholesale for WooCommerce