0
您好我有一个问题,关于woocommerce中的自定义结账字段。 我在结帐表单中创建了一个自定义字段,并且所有工作都非常完美。该字段包含客户卡号。我还设法在wp-usermeta中保存了字段值(一旦输入第一次),这样它就不会只与订单一起出现,而是与客户的详细信息一起保存。管理woocommerce中的自定义结账字段
现在我想做以下事情。一旦返回店铺的注册顾客转到结账表格,新栏位(如果不是empyt)会自动显示,而不是要求顾客每次都插入他们的卡号。
,我加入到我的子主题fucntions.php用于显示在结账页面中的自定义字段的原有功能是:
/**
* Add the field to the checkout
*/
add_action ('woocommerce_after_order_notes', 'checkout_w55_card_number');
function checkout_w55_card_number($checkout) {
echo '<div id="checkout_w55_card_number"><h2>' . __('N. tessera W55') . '</h2>';
woocommerce_form_field('w55_card_number', array(
'type' => 'text',
'class' => array('w55-card-number-class form-row-wide'),
'label' => __('Inserisci n. tessera W55'),
'placeholder' => __('Inserisci numero'),
), $checkout->get_value('w55_card_number'));
echo '</div>';
}
我这样试图通过这种方式来重新安排它,但它不不工作
add_action ('woocommerce_after_order_notes', 'checkout_w55_card_number');
function checkout_w55_card_number($checkout) {
//extracts the value of the w55_card_number field
$w55_card = get_user_meta($user_id, 'w55_card_number', true);
//condition is the w55_card_number field is empty or not
if (!empty($w55_card)) : echo $w55_card; else :
echo '<div id="checkout_w55_card_number"><h2>' . __('N. tessera W55') . '</h2>';
woocommerce_form_field('w55_card_number', array(
'type' => 'text',
'class' => array('w55-card-number-class form-row-wide'),
'label' => __('Inserisci n. tessera W55'),
'placeholder' => __('Inserisci numero'),
), $checkout->get_value('w55_card_number'));
echo '</div>';
endif;
}
任何建议?
哦~~伟大的!谢谢@mirzap! –
不客气 – MirzaP