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
?
感谢。
答案 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; }