我有Wooccommerce Advanced Quantity插件,它可以为每个产品提供不同的最小、最大、递增步数和默认数量。我的新主题在商店页面上有数量框,它没有从插件中获取值。它被设置为默认最小值:1步:1值:1。我需要调整主题,以便始终从插件中获取这些值。有人能帮我吗?
插件代码
来自主题的woommerce.php
来自插件的代码:
<div class="plus-minus-button">
<div class="quantity <?php echo !is_single($product_id) ? 'smaller-minus-plus' : ''; ?> <?php echo is_cart() ? 'on-cart-plus-minus-button' : ''; ?>">
<input type='button' value='-' class='woo-advanced-minus'/>
<input type="text" id="qty" class="plus-minus-input qty" step="<?php echo esc_attr($step); ?>"
min="<?php echo esc_attr($min_value); ?>" max="<?php echo esc_attr($max_value); ?>"
name="<?php echo esc_attr($input_name); ?>" value="<?php echo esc_attr($input_value); ?>"
title="<?php echo esc_attr_x('Quantity', 'woo-advanced-qty') ?>"
<?php echo isset($step_intervals) ? 'data-step_intervals="' . esc_attr(json_encode($step_intervals)) . '"' : ''; ?>
pattern="<?php echo esc_attr($pattern); ?>" inputmode="<?php echo esc_attr($inputmode); ?>" data-product_id="<?php echo esc_attr($product_id); ?>"/>
<input type='button' value='+' class='woo-advanced-plus'/>
</div>
</div>
来自主题的代码:
if(ot_get_option('groci_quantity_box') == 'on'){
if ( $product && $product->is_type( 'simple' ) && $product->is_purchasable() && $product->is_in_stock() && ! $product->is_sold_individually() ) {
wp_enqueue_script( 'groci-plus-minus');
$output .= '<div class="plus-minus">';
$output .= '<div class="cart-plus-minus">';
$output .= '<div class="dec qtybutton">-</div>';
$output .= '<input type="text" class="qty-archive" step="5" min="1" name="quantity" value="1" title="Qty" size="4" inputmode="numeric">';
$output .= '<div class="inc qtybutton">+</div>';
$output .= '</div>';
$output .= '</div>';
}
}
$output .= groci_add_to_cart_button();
$output .= '</div>';
$output .= '</div>';
}
$output_escaped = $output;
echo $output_escaped;
Wooccommerce Advanced Quantity插件是一个付费插件,所以我无法检查它的代码。然而,我认为它必须以某种方式将min、max和其他这样的值存储在数据库中。
您从插件中共享的代码中提到了$min_value
,但没有说明值是如何分配给它的
大多数时候,我们使用get_option((函数从WordPress数据库中获取值。
假设一个最小值存储在数据库中,选项名称为waq_min_value
,那么它将使用get_option()
提取,如下所示:
$min_value = get_option( 'waq_min_value' );
然后你就可以在你的主题中使用它了,比如:
$min_value = get_option( 'waq_min_value' );
$output .= '<input type="text" class="qty-archive" step="5" min="'. $min_value .'" name="quantity" value="1" title="Qty" size="4" inputmode="numeric">';
同样,这是在假设已经添加了具有选项名称waq_min_value
的值的情况下进行的。
TLDR:插件必须将值存储在数据库中。找出它存储在哪里,使用什么名称。有了这些信息,你就可以获取数据并将其用于你的主题。