在WooCommerce管理员订单列表中添加自定义操作按钮

时间:2017-08-04 23:34:51

标签: php wordpress woocommerce status orders

我已关注this instructions为我的WooCommerce订单添加自定义订单状态。

我无法找到一种方法来创建自定义操作按钮,将订单状态从管理订单列表页面更改为我的自定义状态,如此屏幕截图:

This image shows where I want it to be.

我希望为具有“处理”状态的订单显示此自定义操作按钮。

我在WooCommerce文档中找不到任何答案。

是否有应用这些按钮的钩子?
如何在function.php

中添加它

谢谢

2 个答案:

答案 0 :(得分:5)

要恢复,您已创建自定义订单状态'wc-parcial'(使用问题中提供的说明代码),您需要在订单管理列表中添加相关操作按钮。

  

对于WooCommerce版本3.3+,请检查更新in this answer below

您需要使用隐藏在 woocommerce_admin_order_actions 过滤器钩子中的自定义函数

// Add your custom order status action button (for orders with "processing" status)
add_filter( 'woocommerce_admin_order_actions', 'add_custom_order_status_actions_button', 100, 2 );
function add_custom_order_status_actions_button( $actions, $order ) {
    // Display the button for all orders that have a 'processing' status
    if ( $order->has_status( array( 'processing' ) ) ) {

        // Get Order ID (compatibility all WC versions)
        $order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;
        // Set the action button
        $actions['parcial'] = array(
            'url'       => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=parcial&order_id=' . $order_id ), 'woocommerce-mark-order-status' ),
            'name'      => __( 'Envio parcial', 'woocommerce' ),
            'action'    => "view parcial", // keep "view" class for a clean button CSS
        );
    }
    return $actions;
}

// Set Here the WooCommerce icon for your action button
add_action( 'admin_head', 'add_custom_order_status_actions_button_css' );
function add_custom_order_status_actions_button_css() {
    echo '<style>.view.parcial::after { font-family: woocommerce; content: "\e005" !important; }</style>';
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

此代码已经过测试并且有效。你会得到的:

enter image description here

答案 1 :(得分:1)

  

Woocommerce 3.3 +

的更新版本

要继续,您已创建自定义订单状态'wc-parcial'(使用问题中提供的说明代码),您需要在订单管理列表中添加相关操作按钮。 < / p>

新代码:

ATTACH mydb.db as my_db

代码放在活动子主题(或活动主题)的functions.php文件中。

经过测试和工作

enter image description here