New shipping system to delete with multiple rates per gateway
This commit is contained in:
parent
9004e2ef8b
commit
63ec2b001f
|
@ -21,7 +21,7 @@ function woocommerce_attributes() {
|
|||
|
||||
if (isset($_POST['add_new_attribute']) && $_POST['add_new_attribute']) :
|
||||
|
||||
$attribute_name = (string) strtolower(sanitize_title($_POST['attribute_name']));
|
||||
$attribute_name = (string) sanitize_title($_POST['attribute_name']);
|
||||
$attribute_type = (string) $_POST['attribute_type'];
|
||||
$attribute_label = (string) $_POST['attribute_label'];
|
||||
|
||||
|
|
|
@ -353,7 +353,7 @@ function woocommerce_custom_order_columns($column) {
|
|||
echo '–';
|
||||
endif;
|
||||
|
||||
if ($order->shipping_metho) :
|
||||
if ($order->shipping_method) :
|
||||
echo '<small class="meta">' . __('Shipped via ', 'woothemes') . $order->shipping_method . '</small>';
|
||||
endif;
|
||||
break;
|
||||
|
|
|
@ -585,7 +585,7 @@ function woocommerce_update_options($options) {
|
|||
$state = end($cr);
|
||||
endif;
|
||||
|
||||
$counties_array[$country][] = $state;
|
||||
$counties_array[trim($country)][] = trim($state);
|
||||
|
||||
endforeach;
|
||||
|
||||
|
@ -840,51 +840,6 @@ function woocommerce_admin_fields($options) {
|
|||
<p><a href="#" class="add button"><?php _e('+ Add Tax Rule', 'woothemes'); ?></a></p>
|
||||
</td>
|
||||
</tr>
|
||||
<script type="text/javascript">
|
||||
/* <![CDATA[ */
|
||||
jQuery(function() {
|
||||
|
||||
jQuery(".country_multiselect").multiselect({
|
||||
noneSelectedText: '<?php _e('Select countries/states', 'woothemes'); ?>',
|
||||
selectedList: 4
|
||||
});
|
||||
|
||||
|
||||
jQuery('#tax_rates a.add').live('click', function(){
|
||||
var size = jQuery('.taxrows .taxrow').size();
|
||||
|
||||
// Add the row
|
||||
jQuery('<div class="taxrow">\
|
||||
<select name="tax_country[' + size + '][]" title="Country" class="country_multiselect" size="10" multiple="multiple"><?php echo woocommerce_countries::country_multiselect_options('',true); ?></select>\
|
||||
<select name="tax_class[' + size + ']" title="Tax Class"><option value=""><?php _e('Standard Rate', 'woothemes'); ?></option><?php
|
||||
if ($tax_classes) foreach ($tax_classes as $class) :
|
||||
echo '<option value="'.sanitize_title($class).'">'.$class.'</option>';
|
||||
endforeach;
|
||||
?></select>\
|
||||
<input type="text" class="text" name="tax_rate[' + size + ']" title="<?php _e('Rate', 'woothemes'); ?>" placeholder="<?php _e('Rate', 'woothemes'); ?>" maxlength="8" />% \
|
||||
<label class="checkbox"><input type="checkbox" name="tax_shipping[' + size + ']" checked="checked" /> <?php _e('Apply to shipping', 'woothemes'); ?></label><a href="#" class="remove button">×</a>\
|
||||
</div>').appendTo('#tax_rates div.taxrows');
|
||||
|
||||
// Multiselect
|
||||
jQuery(".country_multiselect").multiselect({
|
||||
noneSelectedText: '<?php _e('Select countries/states', 'woothemes'); ?>',
|
||||
selectedList: 4
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
jQuery('#tax_rates a.remove').live('click', function(){
|
||||
var answer = confirm("<?php _e('Delete this rule?', 'woothemes'); ?>");
|
||||
if (answer) {
|
||||
jQuery('input', jQuery(this).parent()).val('');
|
||||
jQuery(this).parent().hide();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
/* ]]> */
|
||||
</script>
|
||||
<?php
|
||||
break;
|
||||
case "shipping_options" :
|
||||
|
@ -994,6 +949,46 @@ function woocommerce_admin_fields($options) {
|
|||
}
|
||||
}).change();
|
||||
|
||||
// Country Multiselect boxes
|
||||
jQuery(".country_multiselect").multiselect({
|
||||
noneSelectedText: '<?php _e('Select countries/states', 'woothemes'); ?>',
|
||||
selectedList: 4
|
||||
});
|
||||
|
||||
// Tax
|
||||
jQuery('#tax_rates a.add').live('click', function(){
|
||||
var size = jQuery('.taxrows .taxrow').size();
|
||||
|
||||
// Add the row
|
||||
jQuery('<div class="taxrow">\
|
||||
<select name="tax_country[' + size + '][]" title="Country" class="country_multiselect" size="10" multiple="multiple"><?php echo woocommerce_countries::country_multiselect_options('',true); ?></select>\
|
||||
<select name="tax_class[' + size + ']" title="Tax Class"><option value=""><?php _e('Standard Rate', 'woothemes'); ?></option><?php
|
||||
if ($tax_classes) foreach ($tax_classes as $class) :
|
||||
echo '<option value="'.sanitize_title($class).'">'.$class.'</option>';
|
||||
endforeach;
|
||||
?></select>\
|
||||
<input type="text" class="text" name="tax_rate[' + size + ']" title="<?php _e('Rate', 'woothemes'); ?>" placeholder="<?php _e('Rate', 'woothemes'); ?>" maxlength="8" />% \
|
||||
<label class="checkbox"><input type="checkbox" name="tax_shipping[' + size + ']" checked="checked" /> <?php _e('Apply to shipping', 'woothemes'); ?></label><a href="#" class="remove button">×</a>\
|
||||
</div>').appendTo('#tax_rates div.taxrows');
|
||||
|
||||
// Multiselect
|
||||
jQuery(".country_multiselect").multiselect({
|
||||
noneSelectedText: '<?php _e('Select countries/states', 'woothemes'); ?>',
|
||||
selectedList: 4
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
jQuery('#tax_rates a.remove').live('click', function(){
|
||||
var answer = confirm("<?php _e('Delete this rule?', 'woothemes'); ?>");
|
||||
if (answer) {
|
||||
jQuery('input', jQuery(this).parent()).val('');
|
||||
jQuery(this).parent().hide();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
|
|
|
@ -416,13 +416,7 @@ ul.recent-orders li .refunded, ul.recent-orders li .cancelled {
|
|||
float: left;
|
||||
}
|
||||
/* Settings */
|
||||
.woocommerce table.shippingrows {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.woocommerce table.shippingrows td, .woocommerce table.shippingrows th {
|
||||
padding: 4px 4px 4px 0 !important;
|
||||
border: 0 !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.woocommerce table.shippingrows td a.remove {
|
||||
|
|
|
@ -453,13 +453,7 @@ ul.recent-orders {
|
|||
}
|
||||
|
||||
/* Settings */
|
||||
.woocommerce table.shippingrows {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.woocommerce table.shippingrows td, .woocommerce table.shippingrows th {
|
||||
padding: 4px 4px 4px 0 !important;
|
||||
border: 0 !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.woocommerce table.shippingrows td a.remove {
|
||||
|
|
|
@ -303,7 +303,7 @@ jQuery(function(){
|
|||
var attr_val = attributes[attr_name];
|
||||
|
||||
if(attr_name == current_attr_name) {
|
||||
current_attr_select.find('option:contains("'+attr_val+'")').removeAttr('disabled');
|
||||
current_attr_select.find('option[value="'+attr_val+'"]').removeAttr('disabled');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -268,6 +268,9 @@ class woocommerce_checkout {
|
|||
|
||||
if (woocommerce_cart::ship_to_billing_address_only()) $this->posted['shiptobilling'] = 'true';
|
||||
|
||||
// Update shipping method to posted
|
||||
$_SESSION['_chosen_shipping_method'] = $this->posted['shipping_method'];
|
||||
|
||||
// Billing Information
|
||||
foreach ($this->billing_fields as $field) :
|
||||
|
||||
|
@ -576,6 +579,12 @@ class woocommerce_checkout {
|
|||
endif;
|
||||
endif;
|
||||
|
||||
// Get better formatted shipping method (title/label)
|
||||
$shipping_method = $this->posted['shipping_method'];
|
||||
if (isset($available_methods) && isset($available_methods[$this->posted['shipping_method']])) :
|
||||
$shipping_method = $available_methods[$this->posted['shipping_method']]->title;
|
||||
endif;
|
||||
|
||||
// Update order meta
|
||||
update_post_meta( $order_id, '_billing_first_name', $this->posted['billing-first_name']);
|
||||
update_post_meta( $order_id, '_billing_last_name', $this->posted['billing-last_name']);
|
||||
|
@ -597,7 +606,7 @@ class woocommerce_checkout {
|
|||
update_post_meta( $order_id, '_shipping_postcode', $shipping_postcode);
|
||||
update_post_meta( $order_id, '_shipping_country', $shipping_country);
|
||||
update_post_meta( $order_id, '_shipping_state', $shipping_state);
|
||||
update_post_meta( $order_id, '_shipping_method', $this->posted['shipping_method']);
|
||||
update_post_meta( $order_id, '_shipping_method', $shipping_method);
|
||||
update_post_meta( $order_id, '_payment_method', $this->posted['payment_method']);
|
||||
update_post_meta( $order_id, '_order_subtotal', number_format(woocommerce_cart::$subtotal_ex_tax, 2, '.', ''));
|
||||
update_post_meta( $order_id, '_order_shipping', number_format(woocommerce_cart::$shipping_total, 2, '.', ''));
|
||||
|
|
|
@ -79,6 +79,7 @@ class woocommerce_order {
|
|||
'order_subtotal' => '',
|
||||
'order_discount' => '',
|
||||
'order_tax' => '',
|
||||
'order_shipping' => '',
|
||||
'order_shipping_tax' => '',
|
||||
'order_total' => ''
|
||||
);
|
||||
|
@ -156,8 +157,11 @@ class woocommerce_order {
|
|||
|
||||
$shipping = woocommerce_price($this->order_shipping);
|
||||
if ($this->order_shipping_tax > 0) :
|
||||
$shipping .= sprintf(__(' <small>(ex. tax) via %s</small>', 'woothemes'), ucwords($this->shipping_method));
|
||||
$tax_text = __('(ex. tax) ', 'woothemes');
|
||||
else :
|
||||
$tax_text = '';
|
||||
endif;
|
||||
$shipping .= sprintf(__(' <small>%svia %s</small>', 'woothemes'), $tax_text, ucwords($this->shipping_method));
|
||||
|
||||
else :
|
||||
$shipping = __('Free!', 'woothemes');
|
||||
|
|
|
@ -177,7 +177,7 @@ class flat_rate extends woocommerce_shipping_method {
|
|||
|
||||
public function process_admin_options() {
|
||||
|
||||
if(isset($_POST['woocommerce_flat_rate_tax_status'])) update_option('woocommerce_flat_rate_tax_status', 'yes'); else update_option('woocommerce_flat_rate_tax_status', 'no');
|
||||
if(isset($_POST['woocommerce_flat_rate_tax_status'])) update_option('woocommerce_flat_rate_tax_status', woocommerce_clean($_POST['woocommerce_flat_rate_tax_status'])); else @delete_option('woocommerce_flat_rate_tax_status');
|
||||
|
||||
if(isset($_POST['woocommerce_flat_rate_enabled'])) update_option('woocommerce_flat_rate_enabled', 'yes'); else update_option('woocommerce_flat_rate_enabled', 'no');
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ class free_shipping extends woocommerce_shipping_method {
|
|||
$this->min_amount = get_option('woocommerce_free_shipping_minimum_amount');
|
||||
$this->availability = get_option('woocommerce_free_shipping_availability');
|
||||
$this->countries = get_option('woocommerce_free_shipping_countries');
|
||||
if (isset($_SESSION['_chosen_method_id']) && $_SESSION['_chosen_method_id']==$this->id) $this->chosen = true;
|
||||
|
||||
add_action('woocommerce_update_options', array(&$this, 'process_admin_options'));
|
||||
add_option('woocommerce_free_shipping_availability', 'all');
|
||||
|
@ -53,7 +52,7 @@ class free_shipping extends woocommerce_shipping_method {
|
|||
<tr valign="top">
|
||||
<th scope="row" class="titledesc"><?php _e('Minimum Order Amount', 'woothemes') ?></th>
|
||||
<td class="forminp">
|
||||
<input type="text" name="woocommerce_free_shipping_minimum_amount" id="woocommerce_free_shipping_minimum_amount" style="min-width:50px;" value="<?php if ($value = get_option('woocommerce_free_shipping_minimum_amount')) echo $value; else echo 'Free Shipping'; ?>" /> <span class="description"><?php _e('Users will need to spend this amount to get free shipping. Leave blank to disable.', 'woothemes') ?></span>
|
||||
<input type="text" name="woocommerce_free_shipping_minimum_amount" id="woocommerce_free_shipping_minimum_amount" style="min-width:50px;" value="<?php if ($value = get_option('woocommerce_free_shipping_minimum_amount')) echo $value; ?>" /> <span class="description"><?php _e('Users will need to spend this amount to get free shipping. Leave blank to disable.', 'woothemes') ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
|
|
|
@ -50,9 +50,32 @@ class woocommerce_shipping {
|
|||
|
||||
$_available_methods = array();
|
||||
|
||||
foreach ( self::$shipping_methods as $method ) :
|
||||
foreach ( self::$shipping_methods as $shipping_method ) :
|
||||
|
||||
if ($method->is_available()) $_available_methods[$method->id] = $method;
|
||||
if ($shipping_method->is_available()) :
|
||||
|
||||
$shipping_method->calculate_shipping();
|
||||
|
||||
// If available, put available methods/rates in the array
|
||||
if ($shipping_method->multiple_rates) :
|
||||
|
||||
foreach ($shipping_method->rates as $rate) :
|
||||
|
||||
$method = $rate;
|
||||
|
||||
$_available_methods[$method->id] = $method;
|
||||
|
||||
endforeach;
|
||||
|
||||
else :
|
||||
|
||||
$method = $shipping_method;
|
||||
|
||||
$_available_methods[$method->id] = $method;
|
||||
|
||||
endif;
|
||||
|
||||
endif;
|
||||
|
||||
endforeach;
|
||||
|
||||
|
@ -62,10 +85,10 @@ class woocommerce_shipping {
|
|||
}
|
||||
|
||||
function reset_shipping_methods() {
|
||||
foreach ( self::$shipping_methods as $method ) :
|
||||
$method->chosen = false;
|
||||
$method->shipping_total = 0;
|
||||
$method->shipping_tax = 0;
|
||||
foreach ( self::$shipping_methods as $shipping_method ) :
|
||||
$shipping_method->shipping_total = 0;
|
||||
$shipping_method->shipping_tax = 0;
|
||||
$shipping_method->rates = array();
|
||||
endforeach;
|
||||
}
|
||||
|
||||
|
@ -78,7 +101,7 @@ class woocommerce_shipping {
|
|||
self::$shipping_label = null;
|
||||
$_cheapest_fee = '';
|
||||
$_cheapest_method = '';
|
||||
if (isset($_SESSION['_chosen_method_id'])) $chosen_method = $_SESSION['_chosen_method_id']; else $chosen_method = '';
|
||||
if (isset($_SESSION['_chosen_shipping_method'])) $chosen_method = $_SESSION['_chosen_shipping_method']; else $chosen_method = '';
|
||||
$calc_cheapest = false;
|
||||
|
||||
if (!$chosen_method || empty($chosen_method)) $calc_cheapest = true;
|
||||
|
@ -89,13 +112,12 @@ class woocommerce_shipping {
|
|||
|
||||
if (sizeof($_available_methods)>0) :
|
||||
|
||||
foreach ($_available_methods as $method) :
|
||||
foreach ($_available_methods as $method_id => $method) :
|
||||
|
||||
$method->calculate_shipping();
|
||||
$fee = $method->shipping_total;
|
||||
if ($fee < $_cheapest_fee || !is_numeric($_cheapest_fee)) :
|
||||
$_cheapest_fee = $fee;
|
||||
$_cheapest_method = $method->id;
|
||||
$_cheapest_method = $method_id;
|
||||
endif;
|
||||
|
||||
endforeach;
|
||||
|
@ -107,7 +129,7 @@ class woocommerce_shipping {
|
|||
|
||||
if ($chosen_method) :
|
||||
|
||||
$_available_methods[$chosen_method]->choose();
|
||||
$_SESSION['_chosen_shipping_method'] = $chosen_method;
|
||||
self::$shipping_total = $_available_methods[$chosen_method]->shipping_total;
|
||||
self::$shipping_tax = $_available_methods[$chosen_method]->shipping_tax;
|
||||
self::$shipping_label = $_available_methods[$chosen_method]->title;
|
||||
|
@ -120,6 +142,7 @@ class woocommerce_shipping {
|
|||
}
|
||||
|
||||
function reset_shipping() {
|
||||
unset($_SESSION['_chosen_shipping_method']);
|
||||
self::$shipping_total = 0;
|
||||
self::$shipping_tax = 0;
|
||||
self::$shipping_label = null;
|
||||
|
|
|
@ -16,13 +16,14 @@ class woocommerce_shipping_method {
|
|||
var $availability;
|
||||
var $countries;
|
||||
var $type;
|
||||
var $cost = 0;
|
||||
var $fee = 0;
|
||||
var $min_amount = null;
|
||||
var $enabled = false;
|
||||
var $chosen = false;
|
||||
var $shipping_total = 0;
|
||||
var $shipping_tax = 0;
|
||||
var $cost = 0; // Stores cost if theres only one
|
||||
var $multiple_rates = false;
|
||||
var $rates = array(); // When a method has more than one cost/choice it will be in this array of titles/costs
|
||||
|
||||
public function is_available() {
|
||||
|
||||
|
@ -56,16 +57,6 @@ class woocommerce_shipping_method {
|
|||
endif;
|
||||
}
|
||||
|
||||
public function is_chosen() {
|
||||
if ($this->chosen) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public function choose() {
|
||||
$this->chosen = true;
|
||||
$_SESSION['_chosen_method_id'] = $this->id;
|
||||
}
|
||||
|
||||
public function admin_options() {}
|
||||
|
||||
public function process_admin_options() {}
|
||||
|
|
|
@ -26,7 +26,7 @@ function woocommerce_cart( $atts ) {
|
|||
// Update Shipping
|
||||
elseif (isset($_POST['calc_shipping']) && $_POST['calc_shipping'] && woocommerce::verify_nonce('cart')) :
|
||||
|
||||
unset($_SESSION['_chosen_method_id']);
|
||||
unset($_SESSION['_chosen_shipping_method']);
|
||||
$country = $_POST['calc_shipping_country'];
|
||||
$state = $_POST['calc_shipping_state'];
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
echo '<option value="'.$method->id.'" ';
|
||||
|
||||
if ($method->chosen) echo 'selected="selected"';
|
||||
if ($method->id==$_SESSION['_chosen_shipping_method']) echo 'selected="selected"';
|
||||
|
||||
echo '>'.$method->title.' – ';
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ function woocommerce_ajax_update_order_review() {
|
|||
die();
|
||||
endif;
|
||||
|
||||
if (isset($_POST['shipping_method'])) $_SESSION['_chosen_method_id'] = $_POST['shipping_method'];
|
||||
if (isset($_POST['shipping_method'])) $_SESSION['_chosen_shipping_method'] = $_POST['shipping_method'];
|
||||
|
||||
if (isset($_POST['country'])) woocommerce_customer::set_country( $_POST['country'] );
|
||||
if (isset($_POST['state'])) woocommerce_customer::set_state( $_POST['state'] );
|
||||
|
|
|
@ -25,6 +25,9 @@ add_filter( 'parse_query', 'woocommerce_parse_query' );
|
|||
|
||||
function woocommerce_parse_query( $q ) {
|
||||
|
||||
// Apply to main loop only
|
||||
remove_filter( 'parse_query', 'woocommerce_parse_query' );
|
||||
|
||||
// Only apply to product categories, the product post archive, the shop page, and product tags
|
||||
if (true == $q->query_vars['suppress_filters'] || (!$q->is_tax( 'product_cat' ) && !$q->is_post_type_archive( 'product' ) && !$q->is_page( get_option('woocommerce_shop_page_id') ) && !$q->is_tax( 'product_tag' ))) return;
|
||||
|
||||
|
@ -86,9 +89,6 @@ function woocommerce_parse_query( $q ) {
|
|||
$q->set( 'post__in', $woocommerce_query['post__in'] );
|
||||
$q->set( 'posts_per_page', apply_filters('loop_shop_per_page', get_option('posts_per_page')) );
|
||||
|
||||
// Apply to main loop only
|
||||
remove_filter( 'parse_query', 'woocommerce_parse_query' );
|
||||
|
||||
// We're on a shop page so queue the woocommerce_get_products_in_view function
|
||||
add_action('wp', 'woocommerce_get_products_in_view', 2);
|
||||
}
|
||||
|
|
|
@ -344,8 +344,15 @@ if (!function_exists('woocommerce_variable_add_to_cart')) {
|
|||
<td><select id="<?php echo sanitize_title($name); ?>" name="tax_<?php echo sanitize_title($name); ?>">
|
||||
<option value=""><?php echo __('Choose an option', 'woothemes') ?>…</option>
|
||||
<?php if(is_array($options)) : ?>
|
||||
<?php foreach ($options as $option) : $option_term = get_term_by('slug', $option, woocommerce::attribute_name($name)); ?>
|
||||
<?php echo '<option value="'.$option.'">'.$option_term->name.'</option>'; ?>
|
||||
<?php foreach ($options as $option) :
|
||||
$option_term = get_term_by('slug', $option, woocommerce::attribute_name($name));
|
||||
if (!is_wp_error($option_term) && isset($option_term->name)) :
|
||||
$term_name = $option_term->name;
|
||||
else :
|
||||
$term_name = $option;
|
||||
endif;
|
||||
?>
|
||||
<?php echo '<option value="'.$option.'">'.$term_name.'</option>'; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
|
@ -498,7 +505,7 @@ if (!function_exists('woocommerce_get_product_thumbnail')) {
|
|||
**/
|
||||
if (!function_exists('woocommerce_output_related_products')) {
|
||||
function woocommerce_output_related_products() {
|
||||
// 4 Related Products in 4 columns
|
||||
// 2 Related Products in 2 columns
|
||||
woocommerce_related_products( 2, 2 );
|
||||
}
|
||||
}
|
||||
|
@ -506,10 +513,9 @@ if (!function_exists('woocommerce_output_related_products')) {
|
|||
if (!function_exists('woocommerce_related_products')) {
|
||||
function woocommerce_related_products( $posts_per_page = 4, $post_columns = 4, $orderby = 'rand' ) {
|
||||
|
||||
global $_product, $columns, $per_page;
|
||||
global $_product, $columns;
|
||||
|
||||
// Pass vars to loop
|
||||
$per_page = $posts_per_page;
|
||||
$columns = $post_columns;
|
||||
|
||||
$related = $_product->get_related();
|
||||
|
@ -518,7 +524,7 @@ if (!function_exists('woocommerce_related_products')) {
|
|||
$args = array(
|
||||
'post_type' => 'product',
|
||||
'ignore_sticky_posts' => 1,
|
||||
'posts_per_page' => $per_page,
|
||||
'posts_per_page' => $posts_per_page,
|
||||
'orderby' => $orderby,
|
||||
'post__in' => $related
|
||||
);
|
||||
|
|
|
@ -128,6 +128,8 @@ if (!function_exists('woocommerce_front_page_archive')) {
|
|||
$paged = 1;
|
||||
}
|
||||
|
||||
add_filter( 'parse_query', 'woocommerce_parse_query' );
|
||||
|
||||
query_posts( array( 'page_id' => '', 'post_type' => 'product', 'paged' => $paged ) );
|
||||
|
||||
define('SHOP_IS_ON_FRONT', true);
|
||||
|
|
Loading…
Reference in New Issue