Exemple #1
0
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;
}
Exemple #4
0
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);
    }
}