in woocommerce, is there a shortcode/page to view all orders?

前端 未结 2 1220
予麋鹿
予麋鹿 2020-12-17 00:57

I\'m using the plugin woocommerce for my wordpress site, and need a section where member can see their order history. Are there any shortcodes or page in woocommerce that s

相关标签:
2条回答
  • 2020-12-17 01:22

    I was reading about extract and apparently its not recommended by Wordpress anymore. I found this soloution, hope this helps:

    function shortcode_my_orders( $atts ) {
    $args= shortcode_atts( 
    array(
        'order_count' => -1
        ), 
    $atts
    );
    $order_count = esc_attr( $args['order_count'] );
    
    
    ob_start();
    wc_get_template( 'myaccount/my-orders.php', array(
        'current_user'  => get_user_by( 'id', get_current_user_id() ),
        'order_count'   => $order_count
    ) );
    return ob_get_clean();
    

    }

    0 讨论(0)
  • 2020-12-17 01:26

    My Account shortcode:

    [woocommerce_my_account order_count="-1"]
    

    Shows the ‘my account’ section where the customer can view past orders and update their information. You can specify the number or order to show, it’s set by default to 15 (use -1 to display all orders.)

    Reference: Woocommerce Shortcodes


    Update

    If you need only the orders I don't know if there's already a shortcode, but I made one taking woocommerce_my_account as example:

    function shortcode_my_orders( $atts ) {
        extract( shortcode_atts( array(
            'order_count' => -1
        ), $atts ) );
    
        ob_start();
        wc_get_template( 'myaccount/my-orders.php', array(
            'current_user'  => get_user_by( 'id', get_current_user_id() ),
            'order_count'   => $order_count
        ) );
        return ob_get_clean();
    }
    add_shortcode('my_orders', 'shortcode_my_orders');
    

    Add this to your functions.php file and then use it like [my_orders order_counts=10] (order_counts is optional, if missing it lists all the orders).

    0 讨论(0)
提交回复
热议问题