【问题标题】:How can I get WooCommerce attributes to display custom meta/text on selection?如何获取 WooCommerce 属性以在选择时显示自定义元/文本?
【发布时间】:2013-10-09 14:26:38
【问题描述】:
我正在使用 Wordpress 和 WooCommerce 销售艺术品,并且我有一个框架样式属性。我喜欢当用户选择一个框架时,我可以使用自定义图像更新照片以匹配该框架,同样我试图找出一种基于用户选择显示自定义文本的方法。
所以澄清一下,如果有人选择“黑色瓢框架”,我希望能够显示特定的框架大小和描述。如果他们将选择更改为“Red Wood Frame”,我希望描述随之更改。
WooCommerce 允许将描述添加到属性中,我一直在尝试弄清楚如何调用该元数据并使其随下拉选择更改而更改。
任何帮助甚至指出我正确的方向都将不胜感激!
【问题讨论】:
标签:
php
wordpress
woocommerce
【解决方案1】:
首先,给出你的选择
function your_options() {
$sample_select_options = array(
'0' => array( 'value' => '0', 'label' => __( '', '_s' ) ),
'1 ' => array( 'value' => '1 ', 'label' => __( 'Something1', '_s' ) ),
'2 ' => array( 'value' => '2 ', 'label' => __( 'Something2', '_s' ) );
return apply_filters( 'your_options', $give_me_options );
}
比在您的页面上设置选择选项
<select name="" id="" style="width: 300px;">
<?php
$selected = options['give_me_options'];
$p = '';
$r = '';
foreach ( your_options() as $option ) {
$label = $option['label'];
if ( $selected == $option['label'] ) // Make default first in list
$p .= "\n\t<option style=\"padding-right: 10px;\" selected='selected' value='" . esc_attr( $option['label'] ) . "'>$label</option>";
else
$r .= "\n\t<option style=\"padding-right: 10px;\" value='" . esc_attr( $option['label'] ) . "'>$label</option>";
}
echo $p . $r;
?></select>
最后,对你的页面进行操作,在哪里提供它,当然还有保存功能:)
这只是一个指南,而不是具体的代码。