如果 woocommerce 中没有订单则显示消息

Show message if no orders in woocommerce

如果客户没有我想显示的订单,我想在我的帐户中显示一条消息 "No orders currently"。 我猜有一个函数可以用来连接到某个地方? 进行了很好的搜索,但找不到任何让我入门的东西。 谢谢。

修改自 this tutorial 我认为这可行:

function wc_get_customer_orders() {

    // Get all customer orders
    $customer_orders = get_posts( array(
        'numberposts' => 1,
        'meta_key'    => '_customer_user',
        'meta_value'  => get_current_user_id(),
        'post_type'   => wc_get_order_types(),
        'post_status' => array_keys( wc_get_order_statuses() ),
    ) );

    $customer = wp_get_current_user();

    // Text for our message
    $notice_text = sprintf( 'Hey %1$s 😀 We noticed you haven\'t placed any orders with us.', $customer->display_name );

    // Display our notice if the customer has no orders
    if ( count( $customer_orders ) == 0 ) {
        wc_print_notice( $notice_text, 'notice' );
    }
}
add_action( 'woocommerce_before_my_account', 'wc_get_customer_orders' );

基本上,我们在帐户页面上查询当前登录用户的单个订单。如果我们没有收到订单,我们会出示通知。

已将 my-orders.php 复制到本地文件夹并添加了一个 else 子句:

else{
    echo "No orders";
    }

可以使用 WC 设置样式 css