0
商品ページ内の「在庫あり」を再印刷しようとしましたが、解決方法を見つけることができません。イメージはデフォルトではありますが、同じページにもう一度表示したいのですが、どのようにエコー/プリントすることができますか?WooCommerceの製品ページから「#在庫中」を返信するには?
おかげ
商品ページ内の「在庫あり」を再印刷しようとしましたが、解決方法を見つけることができません。イメージはデフォルトではありますが、同じページにもう一度表示したいのですが、どのようにエコー/プリントすることができますか?WooCommerceの製品ページから「#在庫中」を返信するには?
おかげ
function wc_dropdown_variation_attribute_options($args = array()) {
global $product;
$variations = $product->get_available_variations();
$args = wp_parse_args(apply_filters('woocommerce_dropdown_variation_attribute_options_args', $args), array(
'options' => false,
'attribute' => false,
'product' => false,
'selected' => false,
'name' => '',
'id' => '',
'class' => '',
'show_option_none' => __('Choose an option', 'woocommerce'),
));
$options = $args['options'];
$product = $args['product'];
$attribute = $args['attribute'];
$name = $args['name'] ? $args['name'] : 'attribute_' . sanitize_title($attribute);
$id = $args['id'] ? $args['id'] : sanitize_title($attribute);
$class = $args['class'];
if (empty($options) && ! empty($product) && ! empty($attribute)) {
$attributes = $product->get_variation_attributes();
$options = $attributes[ $attribute ];
}
$html = '<select id="' . esc_attr($id) . '" class="' . esc_attr($class) . '" name="' . esc_attr($name) . '" data-attribute_name="attribute_' . esc_attr(sanitize_title($attribute)) . '">';
if ($args['show_option_none']) {
$html .= '<option value="">' . esc_html($args['show_option_none']) . '</option>';
}
if (! empty($options)) {
/*if ($product && taxonomy_exists($attribute)) {
// Get terms if this is a taxonomy - ordered. We need the names too.
$terms = wc_get_product_terms($product->get_id(), $attribute, array('fields' => 'all'));
foreach ($terms as $term) {
if (in_array($term->slug, $options)) {
$html .= '<option value="' . esc_attr($term->slug) . '" ' . selected(sanitize_title($args['selected']), $term->slug, false) . '>' . esc_html(apply_filters('woocommerce_variation_option_name', $term->name)) . '</option>';
}
}
} else {*/
foreach ($options as $option) {
foreach ($variations as $variation) {
if($variation['attributes'][$name] == $option) {
$stock = esc_html($variation['max_qty']);
}
}
if($stock == 0) {
$stock_text = ' - (Out of Stock)';
$class = 'option-out-of-stock';
$disabled = 'disabled';
} elseif ($stock < 5) {
$stock_text = ' - Only ' . $stock . ' left!';
$class= 'option-hurry';
$disabled = '';
} elseif ($stock < 6) {
$stock_text = ' - Only a few left!';
$class = 'option-few';
$disabled = '';
} else {
$stock_text = ' - (In Stock)';
$class = '';
$disabled = '';
}
// This handles < 2.4.0 bw compatibility where text attributes were not sanitized.
$selected = sanitize_title($args['selected']) === $args['selected'] ? selected($args['selected'], sanitize_title($option), false) : selected($args['selected'], $option, false);
$html .= '<option value="' . esc_attr($option) . '" ' . $selected . ' class="'.$class.'" '.$disabled.'>' . $option . $stock_text .'</option>';
//}
}
}
$html .= '</select>';
echo apply_filters('woocommerce_dropdown_variation_attribute_options_html', $html, $args);
}
チェックこのhttps://gist.github.com/mujuonly/7c1393f791fdeb261c0225a32cec574e –
@MujeebuRahman YOUは命の恩人ARE !!!! OMG <3私はこの解決策を3週間探していました!ありがとうございました!ありがとうございました!ありがとうございました!ありがとうございました! –