• I am having some trouble customizing the woocommerce templates in my wordpress theme. I would like to add additional data as variables in my templates.

    I want to show active orders on the dashboard or my-account page. I want to do this by passing in order data variables to the template to be able to call, like how it is done in the orders.php template.

    I know I can override the wc-template-functions.php in my theme and then add the data in the wc_get_templates function for the dashboard or my account. However, I don’t want to do this.

    What I’ve tried is creating a hook such as:

    functions.php

    function wc_fr_add_orders_to_account( $dashboard_orders, $current_page ) {
      global $account_orders;
      $current_page = empty( $current_page ) ? 1 : absint( $current_page );
    
      $customer_orders = wc_get_orders( apply_filters( 'woocommerce_my_account_my_orders_query', 
        array( 
          'customer' => get_current_user_id(), 
          'page' => $current_page, 
          'paginate' => true,
          'status' => array( 'wc-pending' )
          ) ) );
    
      $fr_account_orders = array(
        'current_page' => absint( $current_page ),
        'customer_orders' => $customer_orders,
        'has_orders' => 0 < $customer_orders->total
      );
    
      return $fr_account_orders;
    }
    add_action( 'woocommerce_account_dashboard', 'wc_fr_add_orders_to_account' );

    /theme-directory/woocommerce/templates/myaccount/dashboard.php (also tried in my-account.php)

    do_action( 'woocommerce_account_dashboard', $fr_account_orders);
    var_dump($fr_account_orders);

    $fr_account_orders comes back null. However if I var_dump the array in the hook function, it comes back with data. Any help is appreciated.

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)

The topic ‘Customizing and adding woocommerce template data’ is closed to new replies.