Php WooCommerce-自定义管理订单状态不起作用
我使用以下代码在WooCommerce中创建了自定义订单状态:Php WooCommerce-自定义管理订单状态不起作用,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我使用以下代码在WooCommerce中创建了自定义订单状态: function register_packed_order_status() { register_post_status( 'wc-goods-packed', array( 'label' => 'Gepackt', 'public' => true, 'exclude_from_s
function register_packed_order_status() {
register_post_status( 'wc-goods-packed', array(
'label' => 'Gepackt',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Gepackt <span class="count">(%s)</span>', 'Gepackt <span class="count">(%s)</span>' )
) );
}
add_action( 'init', 'register_packed_order_status' );
add_filter( 'woocommerce_admin_order_actions', 'add_cancel_order_actions_button', PHP_INT_MAX, 2 );
function add_cancel_order_actions_button( $actions, $the_order ) {
if ( ! $the_order->has_status( array( 'wc-goods-packed' ) ) ) {
$actions['wc-goods-packed'] = array(
'url' => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=wc-goods-packed&order_id=' . $the_order->id ), 'woocommerce-mark-order-status' ),
'name' => __( 'Gepackt', 'woocommerce' ),
'action' => "view packed", // setting "view" for proper button CSS
);
}
return $actions;
}
有效-我可以在产品编辑屏幕中选择订单状态并保存订单。为了防止商店经理总是需要编辑订单详细信息屏幕,我想在订单概览屏幕的订单操作列中包括一个按钮。我使用以下代码执行此操作:
function register_packed_order_status() {
register_post_status( 'wc-goods-packed', array(
'label' => 'Gepackt',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Gepackt <span class="count">(%s)</span>', 'Gepackt <span class="count">(%s)</span>' )
) );
}
add_action( 'init', 'register_packed_order_status' );
add_filter( 'woocommerce_admin_order_actions', 'add_cancel_order_actions_button', PHP_INT_MAX, 2 );
function add_cancel_order_actions_button( $actions, $the_order ) {
if ( ! $the_order->has_status( array( 'wc-goods-packed' ) ) ) {
$actions['wc-goods-packed'] = array(
'url' => wp_nonce_url( admin_url( 'admin-ajax.php?action=woocommerce_mark_order_status&status=wc-goods-packed&order_id=' . $the_order->id ), 'woocommerce-mark-order-status' ),
'name' => __( 'Gepackt', 'woocommerce' ),
'action' => "view packed", // setting "view" for proper button CSS
);
}
return $actions;
}
我可以在概述()中看到该按钮,并可以单击它,但状态不变。你知道为什么会这样吗?我看不出我的代码有什么问题
谢谢 我明白了。我需要设置的状态不是“wc货物包装”,而是“货物包装”,因为wc去掉了“wc-”