【发布时间】:2021-07-23 15:40:28
【问题描述】:
我无法弄清楚我在这里缺少什么。
我正在结帐页面上创建一个隐藏字段,其中包含客户选择后的值。
这部分工作正常,我可以在结帐页面的检查器中看到。
隐藏字段应该保存给登录的用户,因为我需要它在网站的另一个地方。
我有以下几点:
//This part is working!!
add_action( 'woocommerce_after_checkout_billing_form', function() {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values) {
if( isset($values['programmakeuze']) ){
echo '<input type="hidden" name="programchoice" id="programchoice" class="input-hidden" value="'.$values['programmakeuze'].'">';
}
}
});
//Save hidden field to user
function elearning_checkout_update_user_meta( $customer_id, $posted ) {
if (!empty($_POST['programchoice'])) {
$program = intval($_POST['programchoice'] );
update_user_meta( $customer_id, 'programchoice', $program);
}
}
add_action( 'woocommerce_checkout_update_user_meta', 'elearning_checkout_update_user_meta', 10, 2 );
function testing(){
$id = get_current_user_id();
$value = get_user_meta($id,'programchoice',true);
if ( !empty($value)) {
var_dump ($value);
}
}
add_action('wp_head','testing');
$value 不返回任何内容。我在这里错过了什么?
【问题讨论】:
标签: php wordpress woocommerce checkout custom-fields