diff --git a/wpsc-core/js/wp-e-commerce.js b/wpsc-core/js/wp-e-commerce.js index 14e0207c58..449d592ad8 100755 --- a/wpsc-core/js/wp-e-commerce.js +++ b/wpsc-core/js/wp-e-commerce.js @@ -280,6 +280,7 @@ jQuery(document).ready(function ($) { // update the price when the variations are altered. jQuery(".wpsc_select_variation").live('change', function() { jQuery('option[value="0"]', this).attr('disabled', 'disabled'); + self = this; var parent_form = jQuery(this).closest("form.product_form"); if ( parent_form.length == 0 ) return; @@ -292,7 +293,7 @@ jQuery(document).ready(function ($) { donation_price = jQuery('input#donation_price_' + prod_id), old_price = jQuery('#old_product_price_' + prod_id), save = jQuery('#yousave_' + prod_id), - buynow = jQuery('#BB_BuyButtonForm' + prod_id); + buynow = jQuery('#buy-now-product_' + prod_id); if ( response.variation_found ) { if ( response.stock_available ) { stock_display.removeClass('out_of_stock').addClass('in_stock'); @@ -320,6 +321,9 @@ jQuery(document).ready(function ($) { } } donation_price.val(response.numeric_price); + + buynow.find('input[name="'+jQuery(self).prop('name')+'"]').val(jQuery(self).val()); + buynow.find('input.wpsc-buy-now-button').prop('disabled', false); } }, 'json'); }); diff --git a/wpsc-includes/display.functions.php b/wpsc-includes/display.functions.php index e432096a15..b62a144337 100755 --- a/wpsc-includes/display.functions.php +++ b/wpsc-includes/display.functions.php @@ -35,15 +35,29 @@ function wpsc_buy_now_button( $product_id, $replaced_shortcode = false ) { $handling = $shipping; } + $has_variants = wpsc_product_has_variations($product_id); $src = _x( 'https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif', 'PayPal Buy Now Button', 'wpsc' ); $src = apply_filters( 'wpsc_buy_now_button_src', $src ); $classes = "wpsc-buy-now-form wpsc-buy-now-form-{$product_id}"; - $button_html = ''; + $button_html = sprintf('', + esc_attr( $product_id ), + esc_url( $src ), + esc_attr__( 'PayPal - The safer, easier way to pay online', 'wpsc' ) + ); $button_html = apply_filters( 'wpsc_buy_now_button_html', $button_html, $product_id ); - ?> -
+?> + +', wpsc_vargrp_id(), wpsc_vargrp_form_id()); + endwhile; + endif; /* END wpsc_product_has_variations */ +?>
@@ -70,20 +84,20 @@ function wpsc_also_bought( $product_id ) { if ( get_option( 'wpsc_also_bought' ) == 0 ) { return ''; } - + // To be made customiseable in a future release $also_bought_limit = 3; $element_widths = 96; $image_display_height = 96; $image_display_width = 96; - + // Filter will be used by a plugin to provide 'Also Bought' functionality when this is deprecated from core. // Filter is currently private and should not be used by plugin/theme devs as it may only be temporary. $output = apply_filters( '_wpsc_also_bought', '', $product_id ); if ( ! empty( $output ) ) { return $output; } - + // If above filter returns output then the following is ignore and can be deprecated in future. $also_bought = $wpdb->get_results( $wpdb->prepare( "SELECT `" . $wpdb->posts . "`.* FROM `" . WPSC_TABLE_ALSO_BOUGHT . "`, `" . $wpdb->posts . "` WHERE `selected_product`= %d AND `" . WPSC_TABLE_ALSO_BOUGHT . "`.`associated_product` = `" . $wpdb->posts . "`.`id` AND `" . $wpdb->posts . "`.`post_status` IN('publish','protected') ORDER BY `" . WPSC_TABLE_ALSO_BOUGHT . "`.`quantity` DESC LIMIT $also_bought_limit", $product_id ), ARRAY_A ); if ( is_array( $also_bought ) && count( $also_bought ) > 0 ) {