为了账号安全,请及时绑定邮箱和手机立即绑定

在 woocommerce 管理列表状态和用户方面显示顺序

在 woocommerce 管理列表状态和用户方面显示顺序

PHP
慕的地6264312 2023-10-15 14:39:17
在 woocommerce 管理端的订单列表中,我想按状态显示订单。我的意思是说,如果订单处于处理状态,则该订单应显示在管理订单列表中,而其他订单不应显示在该列表中。检查图像以了解我需要的更多详细信息..在此处输入图像描述
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

我猜你正在寻找这样的东西?


/**

 * Limit statuses dropdown for custom user role.

 *

 * @param array $statuses

 * @see wc_get_order_statuses()

 */

add_filter( 'wc_order_statuses', function( $statuses ) {

    # Custom user role (registered elsewhere).

    $custom_user_role = 'administrator';

    

    # Status(es) of orders to show to custom user role.

    $limit_to_order_statuses = array(

        'wc-processing' => 1,

        'wc-on-hold' => 1,

    );

    

    # Make sure we're editing right query.

    # If not, then nothing to change ("return early").

    if (

        !function_exists( 'get_current_screen' )

        ||  'shop_order' !== get_current_screen()->post_type

        || 'woocommerce' !== get_current_screen()->parent_base

    )

        return $statuses;

    

    # Check if user has the specified custom user role.

    # If they don't, then nothing to change ("return early").

    if ( !in_array( $custom_user_role, wp_get_current_user()->roles ) )

        return $statuses;

    

    return array_intersect_key( $statuses, $limit_to_order_statuses );

} );


查看完整回答
反对 回复 2023-10-15
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信