WooCommerce-如何在结账页面上使用存储的值填充自定义选择字段?

时间:2016-03-03 作者:Anith

我已将签出中的邮政编码字段转换为下拉字段。工作正常。

$fields[\'billing\'][\'billing_postcode\'] = array(
    \'type\' => \'select\',
    \'label\'     => __(\'Locality - Postcode\', \'woocommerce\'),
    \'placeholder\'   => _x(\'Select a locality\', \'placeholder\', \'woocommerce\'),
    \'required\'  => true,
    \'class\'     => array(\'form-row-first\'),
    \'clear\'     => false
     ); 
这将在数据库中更新,并在订单发票上显示值。现在,我如何在签出字段中显示已存储的postcode字段值作为选中选项。例如:如何根据注册客户之前的订单自动填充其名称。我尝试了一些功能,但没有缓解。请给别人提建议!

1 个回复
最合适的回答,由SO网友:Jakob Smith 整理而成

我刚刚遇到了一个类似的问题,并通过PHP和jQuery的组合解决了它。

如果$stored\\u value是您从DB中提取的值,#billing\\u postcode是select标签的id:

<?php if ( !empty( $stored_value ) ) { ?>
<script type="text/javascript">
    jQuery(document).ready(function($) {
        $("select#billing_postcode").val( "<?php echo $stored_value; ?>" );
    });
</script>
<?php } ?>
我在一个应用于“woocommerce\\u checkout\\u fields”过滤器的函数中使用这个函数。

Update 1:经过进一步研究,我发现我也可以这样做:

<?php if ( !empty( $stored_value ) ) {
$fields[\'billing\'][\'billing_postcode\'][\'default\'] = $stored_value;
} ?>

Update 2:

在函数中。我的主题是php,我把它放在下面:

<?php
// Hook in
add_filter( \'woocommerce_checkout_fields\' , \'jsm_override_checkout_fields\' );

function jsm_override_checkout_fields( $fields ) {

    $stored_value = "something pulled from the DB";

    if ( !empty( $stored_value ) ) {
    $fields[\'billing\'][\'billing_postcode\'][\'default\'] = $stored_value;
    }

    return $fields;
} ?>

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: