woocommerce/shortcodes/shortcode-checkout.php

43 lines
1.3 KiB
PHP
Raw Normal View History

2011-08-10 17:11:11 +00:00
<?php
/**
* Checkout Shortcode
*
* Used on the checkout page, the checkout shortcode displays the checkout process.
*
* @package WooCommerce
* @category Shortcode
* @author WooThemes
*/
function get_woocommerce_checkout( $atts ) {
global $woocommerce;
return $woocommerce->shortcode_wrapper('woocommerce_checkout', $atts);
2011-08-10 17:11:11 +00:00
}
function woocommerce_checkout( $atts ) {
2011-09-13 16:17:52 +00:00
global $woocommerce, $woocommerce_checkout;
2011-08-10 17:11:11 +00:00
if (!defined('WOOCOMMERCE_CHECKOUT')) define('WOOCOMMERCE_CHECKOUT', true);
if (sizeof($woocommerce->cart->cart_contents)==0) :
2011-08-10 17:11:11 +00:00
wp_redirect(get_permalink(get_option('woocommerce_cart_page_id')));
exit;
endif;
$non_js_checkout = (isset($_POST['update_totals']) && $_POST['update_totals']) ? true : false;
2011-09-13 16:17:52 +00:00
$woocommerce_checkout = &new woocommerce_checkout();
2011-08-10 17:11:11 +00:00
2011-09-13 16:17:52 +00:00
$woocommerce_checkout->process_checkout();
2011-08-10 17:11:11 +00:00
$result = $woocommerce->cart->check_cart_item_stock();
2011-08-10 17:11:11 +00:00
if (is_wp_error($result)) $woocommerce->add_error( $result->get_error_message() );
2011-08-10 17:11:11 +00:00
if ( $woocommerce->error_count()==0 && $non_js_checkout) $woocommerce->add_message( __('The order totals have been updated. Please confirm your order by pressing the Place Order button at the bottom of the page.', 'woothemes') );
2011-08-10 17:11:11 +00:00
$woocommerce->show_messages();
2011-08-10 17:11:11 +00:00
woocommerce_get_template('checkout/form.php', false);
}