填充Woocommerce变体自定义从数据库中选择字段选项

时间:2017-03-14 18:41:19

标签: php mysql wordpress woocommerce

我正在尝试为我的变体添加自定义选择字段,因此每个变体将有两个选择字段,并且该值是相互关联的,即基于第一个选择字段的选项选择,第二个选择字段将从数据库获取结果并填充它有这些选择。

到目前为止,我能够创建自定义选择字段,在第一个选择字段中,我可以从数据库中提取选项,但是我不确定这是否是正确的方法。

要获取第二个选择字段的数据,我使用的是ajax,但似乎无效。

以下是我的functions.php文件中自定义字段的代码:

$vvr = array(
    '0.01 TO 0.03 CT' => __( '0.01 TO 0.03 CT', 'woocommerce' ),
    '0.04 TO 0.07 CT' => __( '0.04 TO 0.07 CT', 'woocommerce' ),
    '0.08 TO 0.14 CT' => __( '0.08 TO 0.14 CT', 'woocommerce' ),
    '0.15 TO 0.17 CT' => __( '0.15 TO 0.17 CT', 'woocommerce' ),
    '0.18 TO 0.22 CT' => __( '0.18 TO 0.22 CT', 'woocommerce' ),
    '0.22 To 0.29 CT' => __( '0.22 To 0.29 CT', 'woocommerce' )   
);

woocommerce_wp_select( array( 
    'id'          => '_diam_one[' . $variation->ID . ']', 
    'label'       => __( 'Enter First diamond', 'woocommerce' ), 
    'class'       => 'diamtype',
    'value'       => get_post_meta( $variation->ID, '_diam_one', true ),
    'options' => $vvr
) );

以上代码非常适合创建预定义选项,因为我在functions.php文件中手动添加它们。

但我想从wordpress db中的自定义表中提取这些选项,下面是我用来从我的自定义表中获取这些选项的代码。

$result = $wpdb->get_results('SELECT distinct type FROM diamonds');

foreach($result as $row)

{
    $vvr[$row->type] =$row->type;
}

上面的代码也从我的自定义表中提取数据,但是你可以看到它没有遵循WP标准来添加这些选项。

现在基于这个选择字段的选择,我想从我的自定义表中获取数据到我的另一个选择字段,我已经像第一个那样添加了。

enter image description here

您可以看到上面的屏幕截图,所以任何人都可以通过最佳方式帮助我实现此功能,因为我不想通过硬编码列出这些选项。

0 个答案:

没有答案