在只读输入文本字段中显示 Woocommerce 订单元数据值
Display Woocommerce order metadata value in a readonly input text field
我正在使用从@LoicTheAztec 在这里提供的答案中获得的一段更大的(漂亮的)代码片段:
// Display field value on the order edit page (not in custom fields metabox)
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
$my_custom_field = get_post_meta( $order->id, '_my_field_slug', true );
if ( ! empty( $my_custom_field ) ) {
echo '<p><strong>'. __("My Field", "woocommerce").':</strong> ' . get_post_meta( $order->id, '_my_field_slug', true ) . '</p>';}
}
通过了解自定义属性,通过我发现的其他问题,我知道我可以通过添加 array('readonly' => 'readonly')
使文本字段只读,但不确定如何在上面的代码片段中实现(如果可能) .如有任何帮助,我们将不胜感激,并提前致谢!
尝试使用 只读输入字段进行以下替换 (对于 Woocommerce 3+):
add_action( 'woocommerce_admin_order_data_after_billing_address', 'custom_field_value_display_on_admin_order', 10, 1 );
function custom_field_value_display_on_admin_order( $order ){
if ( $value = $order->get_meta('_my_field_slug') ) {
echo '<p class="form-field"><label for=""><strong>'. __("My Field", "woocommerce").':</strong></label>
<input type="text" name="my_field_slug" value="' . $value . '" readonly></p>';
}
}
在您的活动子主题(或活动主题)的 function.php 文件上。已测试并有效。
我正在使用从@LoicTheAztec 在这里提供的答案中获得的一段更大的(漂亮的)代码片段:
// Display field value on the order edit page (not in custom fields metabox)
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
$my_custom_field = get_post_meta( $order->id, '_my_field_slug', true );
if ( ! empty( $my_custom_field ) ) {
echo '<p><strong>'. __("My Field", "woocommerce").':</strong> ' . get_post_meta( $order->id, '_my_field_slug', true ) . '</p>';}
}
通过了解自定义属性,通过我发现的其他问题,我知道我可以通过添加 array('readonly' => 'readonly')
使文本字段只读,但不确定如何在上面的代码片段中实现(如果可能) .如有任何帮助,我们将不胜感激,并提前致谢!
尝试使用 只读输入字段进行以下替换 (对于 Woocommerce 3+):
add_action( 'woocommerce_admin_order_data_after_billing_address', 'custom_field_value_display_on_admin_order', 10, 1 );
function custom_field_value_display_on_admin_order( $order ){
if ( $value = $order->get_meta('_my_field_slug') ) {
echo '<p class="form-field"><label for=""><strong>'. __("My Field", "woocommerce").':</strong></label>
<input type="text" name="my_field_slug" value="' . $value . '" readonly></p>';
}
}
在您的活动子主题(或活动主题)的 function.php 文件上。已测试并有效。