【问题标题】:Displaying a custom field on view orders pages在查看订单页面上显示自定义字段
【发布时间】:2017-03-07 03:11:24
【问题描述】:

我想出了如何在订单电子邮件中显示一个值,但我不知道如何在订单页面上显示。具体来说,我正在显示提交结帐表单的作者个人资料的链接。这是为了在电子邮件中显示链接值:

add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 ); 

function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) { 
    $fields['_user_link'] = array( 
        'label' => __( 'User Link' ), 
        'value' => get_post_meta( $order->id, '_user_link', true ), 
    ); 
    return $fields; 
}

如何在 Woocommerce 的订单页面上显示此链接?

谢谢

【问题讨论】:

    标签: php wordpress woocommerce custom-fields orders


    【解决方案1】:

    更新 — 使链接可点击:

    在订单表后显示您的自定义可点击链接(您的自定义字段):

    add_action( 'woocommerce_order_details_after_order_table', 'custom_order_details_after_order_table', 10, 1 );
    function custom_order_details_after_order_table( $order ) {
    
        $user_link = get_post_meta( $order->id, '_user_link', true );
    
        echo '<p><a class="author-link" href="'. $user_link .'">'. __( 'User Link: ' ) . '</a><p>';
    
    }
    

    在管理订单视图中显示您的自定义字段:

    add_action( 'woocommerce_admin_order_data_after_billing_address', 'custom_checkout_field_display_admin_order_meta', 10, 1 );
    
    function custom_checkout_field_display_admin_order_meta($order){
        $user_link = get_post_meta( $order->id, '_user_link', true );
        if ( ! empty( $user_link ) )
            echo '<p>' . __( 'User Link: ' ) . get_post_meta( $order->id, '_user_link', true ) . '</p>';
    
    }
    

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    代码已经过测试并且可以运行

    【讨论】:

    • 这是可行的,但如何在前端订单页面上实际创建超链接?要可点击吗?现在它只输出一个文本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2019-04-14
    • 2021-10-28
    • 1970-01-01
    • 2018-10-01
    • 2018-07-02
    • 1970-01-01
    相关资源
    最近更新 更多