WooCommerce:额外添加的国家/地区字段未从数据库中获取值

时间:2016-01-16 作者:kpmrpar

我已根据发布的here

除了结帐页面上的国家字段外,一切正常。

在签出页面上,未从数据库中提取国家/地区的保存值。

注意:国家/地区的默认woocommerce字段带有下拉列表,州/县字段相应地获取州列表。

国家/地区代码。。。。

<p class="form-row form-row-first">
<label for="reg_billing_country"><?php _e( \'Country\', \'woocommerce\' ); ?> <span class="required">*</span></label>
<input type="text" class="input-text" name="billing_country" id="reg_billing_country" value="<?php if ( ! empty( $_POST[\'billing_country\'] ) ) esc_attr_e( $_POST[\'billing_country\'] ); ?>" />
</p>
验证代码。。。。

if ( isset( $_POST[\'billing_country\'] ) && empty( $_POST[\'billing_country\'] ) ) {
    $validation_errors->add( \'billing_country_error\', __( \'<strong>Error</strong>: Country is required!.\', \'woocommerce\' ) );
}
正在数据库中存储。。。。

if ( isset( $_POST[\'billing_country\'] ) ) {
    // WooCommerce billing phone
    update_user_meta( $customer_id, \'billing_country\', sanitize_text_field( $_POST[\'billing_country\'] ) );
}

1 个回复
SO网友:Christi

除非我遗漏了什么,否则您是通过帖子收集数据、验证数据并存储数据,但我看不到您打算如何显示billing_country 在签出模板中。

billing_country 数据存储在用户元中,您可以使用get_user_meta:

<?php

  $billingCountry = get_user_meta($customer_id, \'billing_country\', true);

  echo $billingCountry;

?>

相关推荐