Woocommerce:管理员订单列表 - 预览 - 重命名底部按钮

时间:2018-05-16 02:33:16

标签: wordpress woocommerce hook-woocommerce

in

Woocommerce 3.3.0

在订单列表中。 当您点击the eye时,它会显示订单的AJAX预览。

该行动由以下人员处理: get_order_preview_actions_html( WC_Order $order )

WC_Admin_List_Table_Orders.php

如何取消设置"completed"按钮

并将"processing"按钮重命名为"approved"

在我的functions.php

感谢。

1 个答案:

答案 0 :(得分:0)

布拉赫!

懒惰......暂时替换整件事。
如果有人能想出更清洁,更漂亮,更安全的方式......请。

add_filter('woocommerce_admin_order_preview_actions','remove_complete',20,2); function remove_complete( $actions, $order ){
                $actions        = array();
        $status_actions = array();

        if ( $order->has_status( array( 'pending', 'on-hold' ) ) ) {
            $status_actions['processing'] = array(
                'url'    => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=processing&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
                'name'   => __( 'Approve', 'woocommerce' ),
                'action' => 'processing',
            );
        }

        if ( $order->has_status( array( 'processing' ) ) ) {
            $status_actions['complete'] = array(
                'url'    => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=completed&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
                'name'   => __( 'Complete', 'woocommerce' ),
                'action' => 'complete',
            );
        }


        if ( $status_actions ) {
            $actions['status'] = array(
                'group'   => __( 'Change status: ', 'woocommerce' ),
                'actions' => $status_actions,
            );
        }

    return $actions; }