php-使Woocommerce自定义结帐字段不可编辑
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-使Woocommerce自定义结帐字段不可编辑,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1895字,纯文字阅读大概需要3分钟。
内容图文
![php-使Woocommerce自定义结帐字段不可编辑](/upload/InfoBanner/zyjiaocheng/685/cf70b7d8d0f24cf5a454b89eeb2ced40.jpg)
我在woocommerce结帐页面上添加了一个自定义字段,该字段由URL填充,但是我正在努力寻找一种使该字段不可编辑的方法.
我在function.php中添加了以下代码:
//Add custom field
function custom_woocommerce_checkout_fields( $checkout_fields = array() ) {
$checkout_fields['order']['imei'] = array(
'type' => 'text',
'class' => array('my-field-class form-row-wide'),
'label' => __('IMEI'),
'placeholder' => __('imei'),
'default' => $_GET['imei'],
);
return $checkout_fields;
}
add_filter( 'woocommerce_checkout_fields', 'custom_woocommerce_checkout_fields' );
要完成此操作,我应该在代码中进行哪些更改?
解决方法:
您应该尝试使用此文本< imput>具有readonly属性的字段(表示不可编辑).
You should need to have your ’emei’ set in the checkout url like:
http://www.example.com/checkout/?imei=3545454653
to make the field appear with the value as I have this condition:if( empty($_GET['imei'])) return;
set in the function.
编码:
// Display
add_action( 'woocommerce_after_order_notes', 'custom_woocommerce_checkout_fields' );
function custom_woocommerce_checkout_fields( $checkout ) {
// Only display field if the 'emei' is set in the checkout url
if( empty($_GET['imei'])) return;
echo '<p class="form-row my-field-class form-row-wide woocommerce-validated" id="imei_field">
<label for="imei" class="">'.__('IMEI').'</label>
<input type="text" class="input-text " name="imei" id="imei" placeholder="'.__('IMEI').'" value="'.$_GET['imei'].'" readonly>
</p>';
}
// Save
add_action( 'woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta' );
function custom_checkout_field_update_order_meta( $order_id ) {
if ( ! empty( $_POST['imei'] ) ) {
update_post_meta( $order_id, '_imei', sanitize_text_field( $_POST['imei'] ) );
}
}
代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中.
经过测试并在WooCommerce版本3上工作
To get the value (for a defined
$order_id
):06001
内容总结
以上是互联网集市为您收集整理的php-使Woocommerce自定义结帐字段不可编辑全部内容,希望文章能够帮你解决php-使Woocommerce自定义结帐字段不可编辑所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。