WC_Admin_List_Table_Orders::get_order_preview_actions_htmlpublic staticWC 1.0

Get actions to display in the preview as HTML.

Method of the class: WC_Admin_List_Table_Orders{}

Returns

String.

Usage

$result = WC_Admin_List_Table_Orders::get_order_preview_actions_html( $order );
$order(WC_Order) (required)
Order object.

WC_Admin_List_Table_Orders::get_order_preview_actions_html() code WC 10.5.0

public static function get_order_preview_actions_html( $order ) {
	$actions        = array();
	$status_actions = array();

	$wp_post_type = get_post_type_object( $order->get_type() ) ?? get_post_type_object( 'shop_order' );
	if ( ! current_user_can( $wp_post_type->cap->edit_post, $order->get_id() ) ) {
		return '';
	}

	if ( $order->has_status( array( OrderStatus::PENDING ) ) ) {
		$status_actions['on-hold'] = array(
			'url'    => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=on-hold&order_id=' . $order->get_id() ), 'woocommerce-mark-order-status' ),
			'name'   => __( 'On-hold', 'woocommerce' ),
			'title'  => __( 'Change order status to on-hold', 'woocommerce' ),
			'action' => 'on-hold',
		);
	}

	if ( $order->has_status( array( OrderStatus::PENDING, OrderStatus::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'   => __( 'Processing', 'woocommerce' ),
			'title'  => __( 'Change order status to processing', 'woocommerce' ),
			'action' => 'processing',
		);
	}

	if ( $order->has_status( array( OrderStatus::PENDING, OrderStatus::ON_HOLD, OrderStatus::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'   => __( 'Completed', 'woocommerce' ),
			'title'  => __( 'Change order status to completed', 'woocommerce' ),
			'action' => 'complete',
		);
	}

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

	return wc_render_action_buttons( apply_filters( 'woocommerce_admin_order_preview_actions', $actions, $order ) );
}