如何将订单状态类添加到Body标签?

时间:2021-02-16 作者:Ugur Terzi

你知道当用户有一个(任何)处于待定付款状态的订单时,我们如何将CSS类添加到body标记中吗?

我试过这个,但没有成功

add_filter( \'body_class\', \'order_class\');

function order_class($orderclasses) {

$order = wc_get_order( $order_id );
$order_status  = $order->get_status();

    if( is_page( 30 ))  {
        $orderclasses[] = $order_status;
    }
    return $orderclasses;
}
谢谢你

1 个回复
SO网友:Ugur Terzi

这就成功了

add_filter( \'body_class\', \'order_class\');

function order_class( $orderclasses ) {

    $user_id = get_current_user_id(); // The current user ID
    
    // Get the WC_Customer instance Object for the current user
    $customer = new WC_Customer( $user_id );
    
    // Get the last WC_Order Object instance from current customer
    $last_order = $customer->get_last_order();
    
    $order_id     = $last_order->get_id(); // Get the order id
    $order_data   = $last_order->get_data(); // Get the order unprotected data in an array
    $order_status = $last_order->get_status(); // Get the order status
    
    if( is_page( 30 ))  {
        $orderclasses[] = $order_status;
    }
    return $orderclasses;
}
记住,30是我想要运行过滤器和操作的页面ID。