function shipping_settings_content() { $submenu = $_GET['submenu']; ?> <div class="shipping-product-settings settings-wrapper" style="clear:both;"> <div class="settings-submenu"> <h3> <a id="shipping-settings" class="element current" href="<?php echo admin_url('edit.php?post_type=al_product&page=product-settings.php&tab=shipping-settings&submenu=shipping'); ?> "><?php _e('Shipping Settings', 'ecommerce-product-catalog'); ?> </a> <?php do_action('shipping_submenu'); ?> </h3> </div><?php if ($submenu == 'shipping') { ?> <div class="setting-content submenu"> <script> jQuery( '.settings-submenu a' ).removeClass( 'current' ); jQuery( '.settings-submenu a#shipping-settings' ).addClass( 'current' ); </script> <h2><?php _e('Shipping Settings', 'ecommerce-product-catalog'); ?> </h2> <form method="post" action="options.php"> <?php settings_fields('product_shipping'); $shipping_count = get_shipping_options_number(); ?> <h3><?php _e('Product shipping options', 'ecommerce-product-catalog'); ?> </h3> <table> <tr> <td colspan="2"><?php _e('Number of shipping options', 'ecommerce-product-catalog'); ?> <input size="30" type="number" step="1" min="0" name="product_shipping_options_number" id="admin-number-field" value="<?php echo $shipping_count; ?> " /><input type="submit" class="button" value="<?php _e('Update', 'ecommerce-product-catalog'); ?> " /></td> </tr> </table> <?php if ($shipping_count > 0) { ?> <div class="al-box info"><p><?php _e("If you fill out the fields below, system will automatically pre-fill the fields on product pages so you doesn't have to fill them every time you add product.</p><p>When every product in your catalogue has different shipping options you can leave all or just a part of these fields empty.", 'ecommerce-product-catalog'); ?> </p><p><?php _e('You can change these default values on every product page.', 'ecommerce-product-catalog'); ?> </p></div> <table class="wp-list-table widefat product-settings-table dragable"> <thead><tr><th></th><th class="title"><b><?php _e('Shipping default name', 'ecommerce-product-catalog'); ?> </b></th><th></th><th class="title"><b><?php _e('Shipping default cost', 'ecommerce-product-catalog'); ?> </b></th><th class="dragger"></th></tr></thead><tbody> <?php $shipping_cost = get_option('product_shipping_cost', DEF_VALUE); $shipping_label = get_option('product_shipping_label'); for ($i = 1; $i <= $shipping_count; $i++) { $shipping_label[$i] = isset($shipping_label[$i]) ? $shipping_label[$i] : ''; $shipping_cost[$i] = isset($shipping_cost[$i]) ? $shipping_cost[$i] : ''; // Echo out the field echo '<tr><td class="lp-column">' . $i . '.</td><td class="product-shipping-label-column"><input class="product-shipping-label" type="text" name="product_shipping_label[' . $i . ']" value="' . esc_html($shipping_label[$i]) . '" /></td><td class="lp-column">:</td><td><input id="admin-number-field" class="product-shipping-cost" type="number" min="0" name="product_shipping_cost[' . $i . ']" value="' . floatval($shipping_cost[$i]) . '" /> ' . product_currency() . '</td><td class="dragger"></td></tr>'; } ?> </tbody></table> <?php //do_action('product-attributes'); ?> <p class="submit"> <input type="submit" class="button-primary" value="<?php _e('Save changes', 'ecommerce-product-catalog'); ?> " /> </p> <?php } else { ?> <tr><td colspan="2"> <div class="al-box warning"><?php _e('Shipping disabled. To enable set minimum 1 shipping option.', 'ecommerce-product-catalog'); ?> </div> </td></tr> </table> <?php } ?> </form> </div> <div class="helpers"><div class="wrapper"><?php main_helper(); ?> </div></div> <?php } do_action('product-shipping'); ?> </div><?php }
function get_shipping_options($product_id) { $shipping_options = get_shipping_options_number(); $shipping_values = array(); for ($i = 1; $i <= $shipping_options; $i++) { $sh_val = get_post_meta($product_id, "_shipping" . $i, true); if ($sh_val != null) { $any_shipping_value = $sh_val; } $shipping_values[$i] = $sh_val; } if (!isset($any_shipping_value)) { $shipping_values = 'none'; } return apply_filters('product_shipping_values', $shipping_values); }
/** * Checks if product shipping is enabled * * @return boolean */ function is_ic_shipping_enabled() { $shipping_count = get_shipping_options_number(); if ($shipping_count > 0) { return true; } return false; }
function implecode_save_products_meta($post_id, $post) { $post_type_now = substr($post->post_type, 0, 10); if ($post_type_now == 'al_product') { $pricemeta_noncename = isset($_POST['pricemeta_noncename']) ? $_POST['pricemeta_noncename'] : ''; if (!empty($pricemeta_noncename) && !wp_verify_nonce($pricemeta_noncename, plugin_basename(__FILE__))) { return $post->ID; } if (!isset($_POST['action'])) { return $post->ID; } else { if (isset($_POST['action']) && $_POST['action'] != 'editpost') { return $post->ID; } } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return $post->ID; } if (defined('DOING_AJAX') && DOING_AJAX) { return $post->ID; } if (!current_user_can('edit_post', $post->ID)) { return $post->ID; } $product_meta['_price'] = $_POST['_price'] != null ? $_POST['_price'] : ''; $product_meta['_sku'] = !empty($_POST['_sku']) ? $_POST['_sku'] : ''; $product_meta['excerpt'] = !empty($_POST['excerpt']) ? $_POST['excerpt'] : ''; $product_meta['content'] = !empty($_POST['content']) ? $_POST['content'] : ''; for ($i = 1; $i <= get_shipping_options_number(); $i++) { $product_meta['_shipping' . $i] = isset($_POST['_shipping' . $i]) ? $_POST['_shipping' . $i] : ''; $product_meta['_shipping-label' . $i] = !empty($_POST['_shipping-label' . $i]) ? $_POST['_shipping-label' . $i] : ''; } for ($i = 1; $i <= product_attributes_number(); $i++) { $product_meta['_attribute' . $i] = !empty($_POST['_attribute' . $i]) ? $_POST['_attribute' . $i] : ''; $product_meta['_attribute-label' . $i] = !empty($_POST['_attribute-label' . $i]) ? $_POST['_attribute-label' . $i] : ''; $product_meta['_attribute-unit' . $i] = !empty($_POST['_attribute-unit' . $i]) ? $_POST['_attribute-unit' . $i] : ''; } $product_meta = apply_filters('product_meta_save', $product_meta); foreach ($product_meta as $key => $value) { $current_value = get_post_meta($post->ID, $key, true); if (isset($value) && !isset($current_value)) { add_post_meta($post->ID, $key, $value, true); } else { if (isset($value) && $value != $current_value) { update_post_meta($post->ID, $key, $value); } else { if (!isset($value) && $current_value) { delete_post_meta($post->ID, $key); } } } } do_action('product_edit_save', $post); } }