我以这种方式在woocommerce文档后面的签出处添加了一个字段:
/*Add document ID to checkout form*/
add_filter( 'woocommerce_checkout_fields' , 'ebani_cedula_checkout_field' );
// Our hooked in function - $fields is passed via the filter!
function ebani_cedula_checkout_field( $fields ) {
$fields['billing']['cedula'] = array(
'label' => __('Cédula de ciudadanía', 'woocommerce'),
'placeholder' => _x('Cédula', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-last'),
'clear' => true,
'priority' => 15
);
return $fields;
}
然后我想在“管理订单编辑”页面上以以下方式显示:
/**
* Display field value on the order edit page
*/
add_action( 'woocommerce_admin_order_data_after_billing_address', 'cedula_checkout_field_display_admin_order_meta', 10, 1 );
function cedula_checkout_field_display_admin_order_meta($order){
echo '<p><strong>'.__('Cédula').':</strong> ' . get_post_meta( $order->get_id(), '_cedula', true ) . '</p>';
}
当我进入订单编辑页面时,我得到一个空值_cedula
我不知道为什么,我只是按照留档,但它不工作,我怎么能得到存储在自定义结帐字段中的数据?
如果您希望在下单时保存此自定义帐单字段,最好使用操作挂钩woocommerce\u billing\u fields
,而不是woocommerce\u checkout\u fields
如下:
add_filter( 'woocommerce_billing_fields' , 'ebani_cedula_checkout_field' );
function ebani_cedula_checkout_field( $fields ) {
$fields['billing_cedula'] = array(
'label' => __('Cédula de ciudadanía', 'woocommerce'),
'placeholder' => _x('Cédula', 'placeholder', 'woocommerce'),
'required' => true,
'class' => array('form-row-last'),
'clear' => true,
'priority' => 15
);
return $fields;
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'cedula_checkout_field_display_admin_order_meta', 10, 1 );
function cedula_checkout_field_display_admin_order_meta($order){
if( $value = $order->get_meta('_billing_cedula') )
echo '<p><strong>'.__('Cédula').':</strong> ' . $value . '</p>';
}
现在,您的自定义结帐计费字段已保存。
WooCommerce自定义结账字段的插件有Custom Checkout Fields for WooCommerce等,如果你想要更多的自由,就用代码来解决吧。本文介绍一种用代码来自定义WooCommerce结账字段的方法。 WooCommerce自定义结账字段代码 代码单独保存一个文件引入,或直接放到子主题的functions.php中,第二种方式请将 defined('WPINC') or
您好,我有一个关于woocommerce中自定义结账字段的问题。我在结帐表单中创建了一个自定义字段,一切都很顺利。该字段包含客户卡号。我还设法将字段值(第一次输入时)保存在wp usermeta中,这样它就不会只与订单一起出现,而是与客户详细信息一起保存。 现在我想做以下几点。一旦注册客户返回商店,进入结帐表单,新字段(如果不是empyt)将自动显示,而不是每次都要求客户插入他们的卡号。 我添加到
我正在尝试获取WooCommerce产品的自定义字段值,以显示在商店系统的不同页面上。我成功地对单个产品页面执行了此操作,但相同的代码不适用于购物车。 对于单个产品,我在函数中使用了此代码。php,它可以很好地工作: 我为购物车尝试了相同的代码,但这次值没有显示在页面上。我还提到了这个线程(获取自定义属性),将$post更改为$product,但仍然没有输出。。。 有什么建议吗?
我正试图在结帐时将定制费用计入订单总额。我在woocommerce中添加了一个复选框 包含一个自定义js文件,可用于处理事件 和一个php费用处理函数 由于某些原因,$_POST['state']的值没有被添加,当我给出一个硬编码值时,函数会工作,我尝试了很多选项,但无法让它工作。 我看过类似的帖子,但没有一个有答案。
我有问题添加自定义结账字段到订单管理(也许电子邮件,我还没有)。撇开编码问题不谈,我主要遵循https://www.kathyisawesome.com/woocommerce-customize-checkout-fields/-到目前为止,这是我的代码: http://pastebin.com/y8LDcDxS 假设购物车中有一种产品,我让它根据产品数量添加$fields['extra_fie
向结账表单添加WooCommerce自定义结账字段,可以使用插件WooCommerce checkout manager或者filter:woocommerce_checkout_fields,本文介绍的方法非上述两种,而是使用woocommerce_form_field()函数在订单备注之后添加自定义结账字段,并将字段显示在订单详情、订单邮件和后台中的方法。 2021年10月更新:WooComm