| @@ -50,9 +50,13 @@ | ||
| 50 | 50 | { |
| 51 | 51 | foreach (ModulesMap::getModulesMapArray()['widgets'] as $widget_id => $widget_array) { |
| 52 | 52 | foreach ($widget_array['js'] as $js) { |
| 53 | 53 | $script_handle = KING_ADDONS_ASSETS_UNIQUE_KEY . '-' . $widget_id . '-' . $js; |
| 54 | - wp_register_script($script_handle, KING_ADDONS_URL . 'includes/widgets/' . $widget_array['php-class'] . '/' . $js . '.js', array('jquery'), KING_ADDONS_VERSION, true); | |
| 54 | + $script_deps = array('jquery'); | |
| 55 | + if ('woo-product-variations' === $widget_id) { | |
| 56 | + $script_deps[] = 'wc-add-to-cart-variation'; | |
| 57 | + } | |
| 58 | + wp_register_script($script_handle, KING_ADDONS_URL . 'includes/widgets/' . $widget_array['php-class'] . '/' . $js . '.js', $script_deps, KING_ADDONS_VERSION, true); | |
| 55 | 59 | |
| 56 | 60 | // Localize script specifically for pricing-slider |
| 57 | 61 | if ($widget_id === 'pricing-slider' && $js === 'script') { |
| 58 | 62 | $localized_data = [ |
| @@ -113,22 +117,8 @@ | ||
| 113 | 117 | wp_localize_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-form-builder-script', 'KingAddonsFormBuilderData', [ |
| 114 | 118 | 'ajaxurl' => admin_url('admin-ajax.php'), |
| 115 | 119 | 'nonce' => wp_create_nonce('king-addons-js'), |
| 116 | 120 | 'input_empty' => esc_html__('Please fill out this field', 'king-addons'), |
| 117 | - 'select_empty' => esc_html__('Nothing selected', 'king-addons'), | |
| 118 | - 'file_empty' => esc_html__('Please upload a file', 'king-addons'), | |
| 119 | - 'recaptcha_v3_site_key' => get_option('king_addons_recaptcha_v3_site_key'), | |
| 120 | - 'recaptcha_error' => esc_html__('Recaptcha Error', 'king-addons'), | |
| 121 | - ]); | |
| 122 | - } | |
| 123 | - | |
| 124 | - // Localize form builder script - Security fix: Remove public nonce exposure | |
| 125 | - if (KING_ADDONS_WGT_FORM_BUILDER) { | |
| 126 | - wp_localize_script(KING_ADDONS_ASSETS_UNIQUE_KEY . '-form-builder-script', 'king_addons_form_builder_vars', [ | |
| 127 | - 'ajax_url' => admin_url('admin-ajax.php'), | |
| 128 | - // Security fix: Remove public nonce exposure - generate dynamically in AJAX handlers | |
| 129 | - 'required_text' => esc_html__('This field is required', 'king-addons'), | |
| 130 | - 'email_text' => esc_html__('Enter a valid email', 'king-addons'), | |
| 131 | 121 | 'select_empty' => esc_html__('Nothing selected', 'king-addons'), |
| 132 | 122 | 'file_empty' => esc_html__('Please upload a file', 'king-addons'), |
| 133 | 123 | 'recaptcha_v3_site_key' => get_option('king_addons_recaptcha_v3_site_key'), |
| 134 | 124 | 'recaptcha_error' => esc_html__('Recaptcha Error', 'king-addons'), |