581 lines
27 KiB
PHP
581 lines
27 KiB
PHP
<?php
|
||
if(!function_exists('add_filter')) exit;
|
||
$lang = fansub_get_language();
|
||
|
||
function fansub_get_wc_version() {
|
||
if(defined('WOOCOMMERCE_VERSION')) {
|
||
return WOOCOMMERCE_VERSION;
|
||
}
|
||
return '';
|
||
}
|
||
|
||
function fansub_wc_installed() {
|
||
return defined('WOOCOMMERCE_VERSION');
|
||
}
|
||
|
||
function fansub_wc_get_product_price($post_id = null) {
|
||
if(!fansub_id_number_valid($post_id)) {
|
||
$post_id = get_the_ID();
|
||
}
|
||
global $product;
|
||
$h_product = $product;
|
||
if(!is_a($h_product, 'WC_Product')) {
|
||
$h_product = new WC_Product($post_id);
|
||
}
|
||
return $h_product->get_price();
|
||
}
|
||
|
||
function fansub_wc_product_price($post_id = null) {
|
||
$price = fansub_wc_get_product_price($post_id);
|
||
echo fansub_wc_format_price($price);
|
||
}
|
||
|
||
function fansub_wc_format_price($price) {
|
||
return wc_price($price);
|
||
}
|
||
|
||
function fansub_wc_get_product_total_sales($post_id = null) {
|
||
if(!fansub_id_number_valid($post_id)) {
|
||
$post_id = get_the_ID();
|
||
}
|
||
return absint(fansub_get_post_meta('total_sales', $post_id));
|
||
}
|
||
|
||
function fansub_wc_get_shop_page() {
|
||
$id = get_option('woocommerce_shop_page_id');
|
||
return get_post($id);
|
||
}
|
||
|
||
function fansub_wc_get_cart_url() {
|
||
global $woocommerce;
|
||
return $woocommerce->cart->get_cart_url();
|
||
}
|
||
|
||
function fansub_wc_get_checkout_url() {
|
||
return wc_get_checkout_url();
|
||
}
|
||
|
||
function fansub_wc_count_cart() {
|
||
global $woocommerce;
|
||
return $woocommerce->cart->cart_contents_count;
|
||
}
|
||
|
||
function fansub_wc_get_cart_total_formatted() {
|
||
global $woocommerce;
|
||
return $woocommerce->cart->get_cart_total();
|
||
}
|
||
|
||
function fansub_wc_get_cart_total() {
|
||
global $woocommerce;
|
||
return $woocommerce->cart->total;
|
||
}
|
||
|
||
function fansub_wc_is_variable($product) {
|
||
return $product->is_type('variable');
|
||
}
|
||
|
||
function fansub_wc_get_cart_items() {
|
||
global $woocommerce;
|
||
$items = $woocommerce->cart->get_cart();
|
||
return $items;
|
||
}
|
||
|
||
function fansub_wc_get_add_to_cart($args = array()) {
|
||
$post_id = isset($args['post_id']) ? absint($args['post_id']) : get_the_ID();
|
||
$product = wc_get_product($post_id);
|
||
if(!$product->is_type('simple')) {
|
||
return '';
|
||
}
|
||
$sku = isset($args['sku']) ? $args['sku'] : $product->get_sku();
|
||
$style = isset($args['style']) ? $args['style'] : '';
|
||
$price = $product->get_price();
|
||
$container_class = isset($args['container_class']) ? $args['container_class'] : '';
|
||
fansub_add_string_with_space_before($container_class, 'custom-add-to-cart fansub-add-to-cart');
|
||
if(0 == $price) {
|
||
fansub_add_string_with_space_before($container_class, 'please-call');
|
||
}
|
||
$field_class = isset($args['field_class']) ? $args['field_class'] : '';
|
||
$quantity = isset($args['quantity']) ? absint($args['quantity']) : 1;
|
||
$show_price = isset($args['show_price']) ? (bool)$args['show_price'] : true;
|
||
$show_price = ($show_price) ? 'true' : 'false';
|
||
$shortcode = do_shortcode('[add_to_cart id="' . $post_id . '" sku="' . $sku . '" style="' . $style . '" class="' . $field_class . '" show_price="' . $show_price . '" quantity="' . $quantity . '"]');
|
||
return '<div class="'. $container_class .'">' . $shortcode . '</div>';
|
||
}
|
||
|
||
function fansub_wc_add_to_cart($args = array()) {
|
||
echo fansub_wc_get_add_to_cart($args);
|
||
}
|
||
|
||
function fansub_wc_insert_order($data) {
|
||
$post_id = fansub_get_value_by_key($data, 'post_id');
|
||
if(fansub_id_number_valid($post_id)) {
|
||
$post = get_post($post_id);
|
||
if(is_a($post, 'WP_Post') && 'product' == $post->post_type) {
|
||
$product = wc_get_product($post_id);
|
||
$variable_product = new WC_Product_Variable($product);
|
||
$variations = $variable_product->get_available_variations();
|
||
$variation_args = array();
|
||
$variation_id = null;
|
||
foreach($variations as $variation) {
|
||
$variation_id = $variation['variation_id'];
|
||
$variation_args['variation'] = $variation['attributes'];
|
||
}
|
||
$name = fansub_get_value_by_key($data, 'name');
|
||
$phone = fansub_get_value_by_key($data, 'phone');
|
||
$email = fansub_get_value_by_key($data, 'email');
|
||
$address = fansub_get_value_by_key($data, 'address');
|
||
$message = fansub_get_value_by_key($data, 'message');
|
||
$name = fansub_sanitize_first_and_last_name($name);
|
||
$attributes = fansub_get_value_by_key($data, 'attributes');
|
||
$addresses = array(
|
||
'first_name' => $name['first_name'],
|
||
'last_name' => $name['last_name'],
|
||
'email' => $email,
|
||
'phone' => $phone,
|
||
'address_1' => $address
|
||
);
|
||
$args = array(
|
||
'customer_note' => $message,
|
||
'created_via' => 'programmatically'
|
||
);
|
||
if(is_user_logged_in()) {
|
||
$current = wp_get_current_user();
|
||
$args['customer_id'] = $current->ID;
|
||
}
|
||
$order = wc_create_order($args);
|
||
$gateway = WC_Payment_Gateways::instance();
|
||
$gateways = $gateway->get_available_payment_gateways();
|
||
if(fansub_array_has_value($gateways)) {
|
||
$gateway = current($gateways);
|
||
$order->set_payment_method($gateway);
|
||
}
|
||
$order->set_address($addresses);
|
||
$order->set_address($addresses, 'shipping');
|
||
|
||
if(fansub_array_has_value($attributes) && fansub_id_number_valid($variation_id)) {
|
||
foreach($attributes as $attribute) {
|
||
$attribute_name = fansub_get_value_by_key($attribute, 'name');
|
||
$attribute_value = fansub_get_value_by_key($attribute, 'value');
|
||
if(!empty($attribute_name) && !empty($attribute_value)) {
|
||
if(isset($variation_args['variation'][$attribute_name])) {
|
||
$variation_args['variation'][$attribute_name] = $attribute_value;
|
||
}
|
||
}
|
||
}
|
||
$variation_product = new WC_Product_Variation($variation_id);
|
||
$order->add_product($variation_product, 1, $variation_args);
|
||
} else {
|
||
$order->add_product($product);
|
||
}
|
||
$order->record_product_sales();
|
||
$order->calculate_totals();
|
||
$order->payment_complete();
|
||
return $order;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
function fansub_wc_get_cart_preview_html() {
|
||
$cart_preview = '';
|
||
$cart_items = fansub_wc_get_cart_items();
|
||
$cart_preview .= '<ul class="cart-preview list-unstyled">';
|
||
$cart_preview .= '<li class="title">Giỏ hàng của bạn</li>';
|
||
if(fansub_array_has_value($cart_items)) {
|
||
$cart_preview .= '<li class="cart-items"><ul class="list-unstyled list-products">';
|
||
foreach($cart_items as $item) {
|
||
$post_id = fansub_get_value_by_key($item, 'product_id');
|
||
if(!fansub_id_number_valid($post_id)) {
|
||
continue;
|
||
}
|
||
$quantity = absint(fansub_get_value_by_key($item, 'quantity'));
|
||
$data = fansub_get_value_by_key($item, 'data');
|
||
$data = fansub_object_to_array($data);
|
||
$price = floatval(fansub_get_value_by_key($data, 'price'));
|
||
$li = new FANSUB_HTML('li');
|
||
$li->set_class(fansub_get_post_class($post_id, 'clearfix'));
|
||
ob_start();
|
||
fansub_post_thumbnail(array('width' => 44, 'height' => 44, 'post_id' => $post_id));
|
||
fansub_post_title_link(array('title' => get_the_title($post_id), 'permalink' => get_permalink($post_id)));
|
||
echo '<p class="info">';
|
||
echo '<span class="price">Đơn giá: ' . fansub_wc_format_price($price) . '</span>';
|
||
echo '<span class="quantity">Số lượng: ' . number_format($quantity) . '</span>';
|
||
echo '</p>';
|
||
echo '<i class="fa fa-remove" data-id="' . $post_id . '"></i>';
|
||
$li_html = ob_get_clean();
|
||
$li->set_text($li_html);
|
||
$cart_preview .= $li->build();
|
||
}
|
||
$cart_preview .= '</ul></li>';
|
||
$cart_preview .= '<li class="bottom">';
|
||
$cart_preview .= '<span class="total">Tổng cộng: <strong>' . fansub_wc_get_cart_total_formatted() . '</strong></span>';
|
||
$cart_preview .= '<a class="btn-clickable orange go-page" href="' . fansub_wc_get_checkout_url() . '">Thanh toán</a>';
|
||
$cart_preview .= '</li>';
|
||
} else {
|
||
$cart_preview .= '<li class="no-item-message">Hiện chưa có sản phẩm nào trong giỏ hàng của bạn.</li>';
|
||
}
|
||
$cart_preview .= '</ul>';
|
||
$cart_preview = apply_filters('fansub_wc_cart_preview_html', $cart_preview);
|
||
return $cart_preview;
|
||
}
|
||
|
||
function fansub_wc_get_cart($args = array()) {
|
||
$lang = fansub_get_language();
|
||
$title = isset($args['title']) ? $args['title'] : (('vi' == $lang) ? 'Thông tin giỏ hàng' : __('View your shopping cart', 'fansub'));
|
||
$show_item = isset($args['show_item']) ? (bool)$args['show_item'] : true;
|
||
$show_price = isset($args['show_price']) ? (bool)$args['show_price'] : true;
|
||
$show_icon = isset($args['show_icon']) ? (bool)$args['show_icon'] : true;
|
||
$show_preview = isset($args['show_preview']) ? (bool)$args['show_preview'] : true;
|
||
$cart = '<div class="fansub-cart-contents">';
|
||
$cart .= '<a class="cart-content" href="' . fansub_wc_get_cart_url() . '" title="' . $title . '">';
|
||
if($show_icon) {
|
||
$cart .= '<i class="fa fa-shopping-cart icon-left"></i>';
|
||
}
|
||
if($show_item) {
|
||
$count_cart = fansub_wc_count_cart();
|
||
$item_text = $count_cart . ' sản phẩm';
|
||
if('vi' != $lang) {
|
||
$item_text = sprintf(_n('%d item', '%d items', $count_cart, 'fansub'), $count_cart);
|
||
}
|
||
$cart .= '<span class="product-number">' . $item_text . '</span>';
|
||
if($show_price) {
|
||
$cart .= '<span class="sep"> - </span>';
|
||
}
|
||
}
|
||
if($show_price) {
|
||
$cart .= fansub_wc_get_cart_total_formatted();
|
||
}
|
||
if($show_preview) {
|
||
$cart .= '<i class="fa fa-angle-down icon-right"></i>';
|
||
}
|
||
$cart .= '</a>';
|
||
if($show_preview) {
|
||
$cart .= fansub_wc_get_cart_preview_html();
|
||
}
|
||
$cart .= '</div>';
|
||
return apply_filters('fansub_wc_cart', $cart, $args);
|
||
}
|
||
|
||
function fansub_wc_cart($args = array()) {
|
||
$before = fansub_get_value_by_key($args, 'before');
|
||
echo $before;
|
||
do_action('fansub_wc_cart_before');
|
||
echo fansub_wc_get_cart($args);
|
||
do_action('fansub_wc_cart_after');
|
||
if(!empty($before)) {
|
||
$after = fansub_get_value_by_key($args, 'after');
|
||
echo $after;
|
||
}
|
||
}
|
||
|
||
function fansub_wc_the_cart($args = array()) {
|
||
echo '<div id="fansubCart" class="fansub-cart wc-cart">';
|
||
fansub_wc_cart($args);
|
||
echo '</div>';
|
||
}
|
||
|
||
function fansub_wc_get_content_single_product() {
|
||
wc_get_template_part('content', 'single-product');
|
||
}
|
||
|
||
function fansub_wc_use_fast_buy_button() {
|
||
$use = apply_filters('fansub_wc_use_fast_buy_button', true);
|
||
return $use;
|
||
}
|
||
|
||
$fansub_shop_site = apply_filters('fansub_shop_site', false);
|
||
|
||
if(!(bool)$fansub_shop_site) {
|
||
return;
|
||
}
|
||
|
||
function fansub_wc_after_single_product_title_hook() {
|
||
do_action('fansub_wc_after_single_product_title');
|
||
}
|
||
add_action('woocommerce_single_product_summary', 'fansub_wc_after_single_product_title_hook', 6);
|
||
|
||
function fansub_wc_after_single_product_add_to_cart_button() {
|
||
do_action('fansub_wc_after_single_product_add_to_cart_button');
|
||
}
|
||
add_action('woocommerce_single_product_summary', 'fansub_wc_after_single_product_add_to_cart_button', 31);
|
||
|
||
function fansub_wc_single_product_fast_buy_button() {
|
||
$use = fansub_wc_use_fast_buy_button();
|
||
if($use) {
|
||
global $product;
|
||
$button_text = apply_filters('fansub_wc_fast_buy_button_text', __('Mua hàng nhanh', 'fansub'));
|
||
$button_description = apply_filters('fansub_wc_fast_buy_button_description', __('Đặt hàng nhanh, không cần thêm sản phẩm vào giỏ hàng.', 'fansub'));
|
||
?>
|
||
<button data-target="#productBuy<?php the_ID(); ?>" data-toggle="modal" class="btn-clickable orange fast-buy" type="button">
|
||
<?php
|
||
echo $button_text;
|
||
if(!empty($button_description)) {
|
||
$button_description = fansub_wrap_tag($button_description, 'span');
|
||
echo $button_description;
|
||
}
|
||
?>
|
||
</button>
|
||
<div id="productBuy<?php the_ID(); ?>" role="dialog" tabindex="-1" class="modal fade product-fast-buy">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button aria-label="Close" data-dismiss="modal" class="close" type="button"><span aria-hidden="true">×</span></button>
|
||
<h4 class="modal-title">Đặt hàng nhanh</h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<div class="row">
|
||
<div class="col-xs-12 col-md-6 info-column">
|
||
<div class="product-info">
|
||
<?php
|
||
fansub_post_thumbnail(array('bfi_thumb' => false, 'loop' => false));
|
||
fansub_post_title_single(array('tag' => 'h2'));
|
||
$get_variations = sizeof( $product->get_children() ) <= apply_filters( 'woocommerce_ajax_variation_threshold', 30, $product );
|
||
$attributes = array();
|
||
if(fansub_wc_is_variable($product)) {
|
||
$attributes = $product->get_variation_attributes();
|
||
}
|
||
$attribute_keys = array_keys( $attributes );
|
||
//$selected_attributes = $product->get_variation_default_attributes();
|
||
$available_variations = false;
|
||
if(fansub_wc_is_variable($product)) {
|
||
$available_variations = $get_variations ? $product->get_available_variations() : false;
|
||
}
|
||
if ( empty( $available_variations ) && false !== $available_variations ) : ?>
|
||
<p class="stock out-of-stock"><?php _e( 'This product is currently out of stock and unavailable.', 'woocommerce' ); ?></p>
|
||
<?php else : ?>
|
||
<form class="variations_form cart attributes-form" method="post">
|
||
<table class="variations" cellspacing="0">
|
||
<tbody>
|
||
<?php foreach ( $attributes as $attribute_name => $options ) : ?>
|
||
<tr>
|
||
<td class="label"><label for="<?php echo sanitize_title( $attribute_name ); ?>"><?php echo wc_attribute_label( $attribute_name ); ?></label></td>
|
||
<td class="value">
|
||
<?php
|
||
$selected = isset( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) ? wc_clean( $_REQUEST[ 'attribute_' . sanitize_title( $attribute_name ) ] ) : $product->get_variation_default_attribute( $attribute_name );
|
||
wc_dropdown_variation_attribute_options( array( 'options' => $options, 'attribute' => $attribute_name, 'product' => $product, 'selected' => $selected ) );
|
||
echo end( $attribute_keys ) === $attribute_name ? apply_filters( 'woocommerce_reset_variations_link', '<a class="reset_variations" href="#">' . __( 'Clear', 'woocommerce' ) . '</a>' ) : '';
|
||
?>
|
||
</td>
|
||
</tr>
|
||
<?php endforeach;?>
|
||
</tbody>
|
||
</table>
|
||
</form>
|
||
<?php endif;
|
||
fansub_wc_product_price();
|
||
?>
|
||
</div>
|
||
</div>
|
||
<div class="col-xs-12 col-md-6 customer-column">
|
||
<div class="customer-info">
|
||
<?php
|
||
$name = '';
|
||
$email = '';
|
||
$phone = '';
|
||
$address = '';
|
||
if(is_user_logged_in()) {
|
||
$current = wp_get_current_user();
|
||
$name = get_user_meta($current->ID, 'billing_first_name', true);
|
||
$last_name = get_user_meta($current->ID, 'billing_last_name', true);
|
||
if(!empty($last_name)) {
|
||
$name = $last_name . ' ' . $name;
|
||
}
|
||
$name = trim($name);
|
||
if(empty($name)) {
|
||
$name = $current->display_name;
|
||
}
|
||
$email = get_user_meta($current->ID, 'billing_email', true);
|
||
if(!is_email($email)) {
|
||
$email = $current->user_email;
|
||
}
|
||
$phone = get_user_meta($current->ID, 'billing_phone', true);
|
||
$address = get_user_meta($current->ID, 'billing_address_1', true);
|
||
}
|
||
?>
|
||
<form class="order-form" method="post">
|
||
<div class="form-group">
|
||
<p>Thông tin bắt buộc phải nhập <?php echo FANSUB_REQUIRED_HTML; ?> vào</p>
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" required aria-required="true" value="<?php echo $name; ?>" class="full-name form-control" placeholder="Họ và tên *" name="fullname">
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" class="phone form-control" value="<?php echo $phone; ?>" placeholder="Điện thoại" name="phone">
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" required aria-required="true" value="<?php echo $email; ?>" class="email form-control" placeholder="Email *" name="email">
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="text" class="address form-control" value="<?php echo $address; ?>" placeholder="Địa chỉ" name="address">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="message">Ghi chú:</label>
|
||
<textarea id="message" name="message" class="message form-control"></textarea>
|
||
</div>
|
||
<div class="form-group">
|
||
<button class="btn-clickable orange" data-id="<?php the_ID(); ?>">Đặt hàng</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php
|
||
}
|
||
}
|
||
add_action('fansub_wc_after_single_product_add_to_cart_button', 'fansub_wc_single_product_fast_buy_button');
|
||
|
||
function fansub_wc_after_single_product_summary() {
|
||
do_action('fansub_wc_after_single_product_summary');
|
||
}
|
||
add_action('woocommerce_after_single_product_summary', 'fansub_wc_after_single_product_summary', 0);
|
||
|
||
function fansub_wc_add_vietnam_dong_currency($currencies) {
|
||
$currencies['VNDU'] = __('Việt Nam Đồng', 'fansub');
|
||
return $currencies;
|
||
}
|
||
if('vi' == $lang) add_filter('woocommerce_currencies', 'fansub_wc_add_vietnam_dong_currency');
|
||
|
||
function fansub_wc_vietnam_dong_currency_symbol($currency_symbol, $currency) {
|
||
switch($currency) {
|
||
case 'VNDU':
|
||
$currency_symbol = 'Đ';
|
||
break;
|
||
}
|
||
return $currency_symbol;
|
||
}
|
||
if('vi' == $lang) add_filter('woocommerce_currency_symbol', 'fansub_wc_vietnam_dong_currency_symbol', 10, 2);
|
||
|
||
function fansub_wc_single_add_to_cart_button_text() {
|
||
$text = 'Thêm sản phẩm vào giỏ hàng';
|
||
$text = apply_filters('fansub_wc_single_add_to_cart_button_text', $text);
|
||
return $text;
|
||
}
|
||
if('vi' == $lang) add_filter('woocommerce_product_single_add_to_cart_text', 'fansub_wc_single_add_to_cart_button_text', 99);
|
||
|
||
function fansub_wc_product_add_to_cart_text() {
|
||
$text = 'Thêm vào giỏ';
|
||
$text = apply_filters('fansub_wc_add_to_cart_button_text', $text);
|
||
return $text;
|
||
}
|
||
if('vi' == $lang) add_filter('woocommerce_product_add_to_cart_text', 'fansub_wc_product_add_to_cart_text');
|
||
|
||
add_filter('fansub_track_user_viewed_posts', '__return_true');
|
||
|
||
function fansub_wc_add_to_cart_fragments($fragments) {
|
||
$args = apply_filters('fansub_wc_cart_content_ajax_args', array(), $fragments);
|
||
ob_start();
|
||
fansub_wc_cart($args);
|
||
$cart_contents = ob_get_clean();
|
||
$cart_contents = apply_filters('fansub_wc_cart_content_ajax', $cart_contents, $fragments);
|
||
$fragments['div.fansub-cart-contents'] = $cart_contents;
|
||
return $fragments;
|
||
}
|
||
add_filter('woocommerce_add_to_cart_fragments', 'fansub_wc_add_to_cart_fragments');
|
||
|
||
function fansub_wc_remove_cart_item_ajax_callback() {
|
||
$result = array(
|
||
'updated' => false
|
||
);
|
||
$post_id = fansub_get_method_value('post_id');
|
||
if(fansub_id_number_valid($post_id)) {
|
||
$WC = WC();
|
||
$updated = false;
|
||
foreach($WC->cart->get_cart() as $cart_item_key => $cart_item) {
|
||
$prod_id = $cart_item['product_id'];
|
||
if($post_id == $prod_id) {
|
||
$WC->cart->set_quantity($cart_item_key, 0, true);
|
||
$updated = true;
|
||
break;
|
||
}
|
||
}
|
||
if($updated) {
|
||
$cart_contents = fansub_wc_add_to_cart_fragments(array());
|
||
$cart_contents = fansub_get_value_by_key($cart_contents, 'div.fansub-cart-contents');
|
||
if(empty($cart_contents)) {
|
||
$updated = false;
|
||
} else {
|
||
$result['cart_contents'] = $cart_contents;
|
||
}
|
||
}
|
||
$result['updated'] = $updated;
|
||
}
|
||
wp_send_json($result);
|
||
}
|
||
add_action('wp_ajax_fansub_wc_remove_cart_item', 'fansub_wc_remove_cart_item_ajax_callback');
|
||
add_action('wp_ajax_nopriv_fansub_wc_remove_cart_item', 'fansub_wc_remove_cart_item_ajax_callback');
|
||
|
||
function fansub_wc_order_item_ajax_callback() {
|
||
$result = array(
|
||
'success' => false,
|
||
'html_data' => '<p class="alert alert-danger">Đã có lỗi xảy ra, xin vui lòng thử lại sau.</p>'
|
||
);
|
||
$post_id = fansub_get_method_value('post_id');
|
||
if(fansub_id_number_valid($post_id)) {
|
||
$post = get_post($post_id);
|
||
if(is_a($post, 'WP_Post') && 'product' == $post->post_type) {
|
||
$name = fansub_get_method_value('name');
|
||
$phone = fansub_get_method_value('phone');
|
||
$email = fansub_get_method_value('email');
|
||
$address = fansub_get_method_value('address');
|
||
$message = fansub_get_method_value('message');
|
||
$attributes = fansub_get_method_value('attributes');
|
||
$order = fansub_wc_insert_order(array(
|
||
'post_id' => $post_id,
|
||
'name' => $name,
|
||
'email' => $email,
|
||
'phone' => $phone,
|
||
'address' => $address,
|
||
'message' => $message,
|
||
'attributes' => $attributes
|
||
));
|
||
if(false !== $order) {
|
||
$result['success'] = true;
|
||
$result['html_data'] = '<p class="alert alert-success">Đơn hàng của bạn đã được lưu thành công, chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.</p>';
|
||
}
|
||
}
|
||
}
|
||
wp_send_json($result);
|
||
}
|
||
add_action('wp_ajax_fansub_wc_order_item', 'fansub_wc_order_item_ajax_callback');
|
||
add_action('wp_ajax_nopriv_fansub_wc_order_item', 'fansub_wc_order_item_ajax_callback');
|
||
|
||
function fansub_wc_after_cart_table() {
|
||
$page = fansub_wc_get_shop_page();
|
||
$permalink = apply_filters('fansub_return_shop_url', get_permalink($page));
|
||
?>
|
||
<a title="" href="<?php echo $permalink; ?>" class="btn-grey fansub-button return-shop"><i class="fa fa-angle-left icon-left"></i> <?php fansub_text('Tiếp tục mua hàng', __('Continue shopping', 'fansub')); ?></a>
|
||
<?php
|
||
do_action('fansub_wc_after_return_shop_button');
|
||
}
|
||
add_action('woocommerce_after_cart_table', 'fansub_wc_after_cart_table');
|
||
|
||
function fansub_wc_after_single_product_related() {
|
||
do_action('fansub_wc_after_single_product_related');
|
||
}
|
||
add_action('woocommerce_after_single_product_summary', 'fansub_wc_after_single_product_related', 21);
|
||
|
||
function fansub_wc_checkout_fields($fields) {
|
||
if('vi' == fansub_get_language()) {
|
||
unset($fields['billing']['billing_postcode']);
|
||
unset($fields['billing']['billing_country']);
|
||
unset($fields['billing']['billing_company']);
|
||
unset($fields['billing']['billing_address_2']);
|
||
unset($fields['billing']['billing_city']);
|
||
}
|
||
return $fields;
|
||
}
|
||
add_filter('woocommerce_checkout_fields', 'fansub_wc_checkout_fields');
|
||
|
||
function fansub_wc_before_single_variation_quantity() {
|
||
do_action('fansub_wc_before_single_variation_quantity');
|
||
}
|
||
add_action('woocommerce_single_variation', 'fansub_wc_before_single_variation_quantity', 19);
|
||
|
||
function fansub_wc_after_single_product_meta() {
|
||
do_action('fansub_wc_after_single_product_meta');
|
||
}
|
||
add_action('woocommerce_single_product_summary', 'fansub_wc_after_single_product_meta', 41);
|