Files

101 lines
3.6 KiB
PHP

<?php
/**
* Quantity Input
*
* @author NasaTheme
* @package Elessi-theme/WooCommerce
* @version 9.4.0
*/
defined('ABSPATH') || exit;
$label = !empty($args['product_name']) ? sprintf(esc_html__('%s quantity', 'elessi-theme'), wp_strip_all_tags($args['product_name'])) : esc_html__('Quantity', 'elessi-theme');
// In some cases we wish to display the quantity but not allow for it to be changed.
$type = isset($type) ? $type : 'text';
$readonly = isset($readonly) ? $readonly : false;
$quantily_class = 'quantity';
$quantily_class .= $readonly ? ' qnot' : '';
$quantily_class .= $type == 'hidden' ? ' hidden-tag' : '';
$classes = isset($classes) ? $classes : array('input-text', 'qty', 'text');
$mini_cart = isset($mini_cart) && $mini_cart ? true : false;
$input_value = $mini_cart && isset($cart_item_qty) ? $cart_item_qty : $input_value;
?>
<div class="<?php echo esc_attr($quantily_class); ?>">
<?php
/**
* Hook to output something before the quantity input field.
*
* @since 7.2.0
*/
do_action('woocommerce_before_quantity_input_field');
?>
<label class="screen-reader-text hidden-tag" for="<?php echo esc_attr($input_id); ?>">
<?php echo $label; ?>
</label>
<?php if (!$readonly && $type != 'hidden') : ?>
<a href="javascript:void(0);" class="plus" rel="nofollow">
<svg width="13" height="20" stroke-width="2" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 6V18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" />
<path d="M6 12H18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" />
</svg>
</a>
<?php endif; ?>
<?php if ((!$mini_cart) || (!$readonly && $mini_cart)) : ?>
<input
type="<?php echo esc_attr($type); ?>"
<?php echo $readonly ? 'readonly="readonly"' : ''; ?>
id="<?php echo esc_attr($input_id); ?>"
class="<?php echo esc_attr(join(' ', (array) $classes)); ?>"
name="<?php echo esc_attr($input_name); ?>"
aria-label="<?php echo esc_attr__('Product quantity', 'elessi-theme'); ?>"
value="<?php echo esc_attr($input_value); ?>"
data-old="<?php echo esc_attr($input_value); ?>"
<?php if (in_array($type, array('text', 'search', 'tel', 'url', 'email', 'password'), true)) : ?>
size="4"
<?php endif; ?>
min="<?php echo esc_attr($min_value); ?>"
max="<?php echo esc_attr(0 < $max_value ? $max_value : ''); ?>"
<?php if (!$readonly) : ?>
step="<?php echo esc_attr($step); ?>"
placeholder="<?php echo esc_attr($placeholder); ?>"
inputmode="<?php echo esc_attr($inputmode); ?>"
autocomplete="<?php echo esc_attr(isset($autocomplete) ? $autocomplete : 'on'); ?>"
<?php endif; ?>
/>
<?php endif; ?>
<?php
/**
* For Mini Cart
*/
echo ($mini_cart && ($readonly || $type == 'hidden')) ? $input_value : '';
?>
<?php if (!$readonly && $type != 'hidden') : ?>
<a href="javascript:void(0);" class="minus" rel="nofollow">
<svg width="13" height="20" stroke-width="2" viewBox="0 0 24 24" fill="currentColor">
<path d="M6 12H18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" />
</svg>
</a>
<?php endif; ?>
<?php
/**
* Hook to output something after quantity input field
*
* @since 3.6.0
*/
do_action('woocommerce_after_quantity_input_field');
?>
</div>