【问题标题】:Display Woocommerce order metadata value in a readonly input text field在只读输入文本字段中显示 Woocommerce 订单元数据值
【发布时间】:2019-07-20 23:49:57
【问题描述】:

我正在使用从@LoicTheAztec 在这里提供的答案中获得的一大段(漂亮)代码中的 sn-p:WooCommerce : Add custom Metabox to admin order page

// 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' =&gt; 'readonly') 来使文本字段只读,但不确定如何在上述 sn-p 中实现(如果可能)。任何帮助将不胜感激,并提前感谢您!

【问题讨论】:

    标签: php wordpress woocommerce custom-fields orders


    【解决方案1】:

    尝试以下替换为只读输入字段 (适用于 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 文件中。经过测试并且可以工作。

    【讨论】:

    • 完美运行!一如既往的感谢!
    猜你喜欢
    • 2015-08-12
    • 2018-07-04
    • 2021-06-10
    • 2019-03-27
    • 2019-07-21
    • 2018-09-05
    • 2011-12-16
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多