【问题标题】:Add custom column with payment url on WooCommerce admin orders list在 WooCommerce 管理员订单列表中添加带有付款网址的自定义列
【发布时间】:2021-12-19 06:39:51
【问题描述】:

我想在 WooCommerce 管理员订单列表中添加额外的列,其中包含付款网址

网址是/看起来像这样:

https://mydomaindotcom/checkout/order-pay/17822/?key=wc_order_w4Z53iHEeYPnq

我的意思是这个帖子很接近:

Modify woocommerce orders.php columns


这是我的代码尝试:

add_filter( 'manage_edit-shop_order_columns','hbm_order_key_column');
function hbm_order_key_column($columns)
{
    // now it is time to add a custom one
    $columns['wc_order'] = "Link Pay Order";
    return $columns;    
}

还有这个

add_action( 'manage_shop_order_posts_custom_column' , 'your_function_name2' );
function your_function_name2( $column ) {
    global $the_order; // you can use the global WP_Order object here
    // global $post; // is also available here

    if( $column == 'custom_column' ) {

        add_action( 'manage_shop_order_posts_custom_column' , 'your_function_name2' );
function your_function_name2( $column ) {
    global $the_order; // you can use the global WP_Order object here
    // global $post; // is also available here

    if( $column == 'custom_column' ) {
    
    //get this form other thread
    $order = wc_get_order($order_id);
    $pay_now_url = esc_url( $order->get_checkout_payment_url() );
    echo $pay_now_url;
    //http://example.com/checkout/order-pay/{order_id}?pay_for_order=true&key={order_key}
    //http://example.com will be site_url and protocol will depending upon SSL checkout WooCommerce setting.
    }

}


    }

}

很遗憾没有得到想要的结果。有什么建议吗?

【问题讨论】:

    标签: wordpress woocommerce backend orders


    【解决方案1】:

    看起来您正在混淆前端和后端。您引用的网址包含几个答案。

    • 包括向“我的帐户”订单表添加一列的代码(前端)
    • 以及在 WooCommerce 管理订单列表(后端)上添加一列的代码

    根据您的代码尝试,您将希望在后端添加一列, 这可以通过以下方式完成:

    // Display on order admin list (header)
    function filter_manage_edit_shop_order_columns( $columns ) {
        // Add columns
        $columns['order_payment_url'] = __( 'Link Pay Order', 'woocommerce' );
    
        return $columns;
    }
    add_filter( 'manage_edit-shop_order_columns', 'filter_manage_edit_shop_order_columns', 10, 1 );
    
    // Display details after order status column, on order admin list (populate the column)
    function action_manage_shop_order_posts_custom_column( $column, $post_id ) {    
        // Compare
        if ( $column == 'order_payment_url' ) {
            // Get order
            $order = wc_get_order( $post_id );
            
            // Get url
            $url = $order->get_checkout_payment_url();
            
            // Output
            echo '<a href="' . esc_url( $url ) . '">' . esc_html__( 'My url', 'woocommerce' ) . '</a>';
        }
    }
    add_action( 'manage_shop_order_posts_custom_column' , 'action_manage_shop_order_posts_custom_column', 10, 2 );
    

    结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 2019-12-25
      • 2021-04-15
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      相关资源
      最近更新 更多