1 回答

TA貢獻1875條經驗 獲得超3個贊
您的代碼中存在一些小錯誤...要檢查產品類別,您需要使用?has_terms()
?Wordpress 條件函數檢查訂單項目(每個訂單),如下所示:< /span>
<?php
$my_orders_columns = apply_filters(
? ? 'woocommerce_my_account_my_orders_columns',
? ? array(
? ? ? ? 'order-number'? => esc_html__( 'Order', 'woocommerce' ),
? ? ? ? 'order-date'? ? => esc_html__( 'Date', 'woocommerce' ),
? ? ? ? 'order-status'? => esc_html__( 'Status', 'woocommerce' ),
? ? ? ? 'order-total'? ?=> esc_html__( 'Total', 'woocommerce' ),
? ? ? ? 'order-actions' => ' ',
? ? )
);
$customer_orders = get_posts(
? ? apply_filters(
? ? ? ? 'woocommerce_my_account_my_orders_query',
? ? ? ? array(
? ? ? ? ? ? 'numberposts' => $order_count,
? ? ? ? ? ? 'meta_key'? ? => '_customer_user',
? ? ? ? ? ? 'meta_value'? => get_current_user_id(),
? ? ? ? ? ? 'post_type'? ?=> wc_get_order_types( 'view-orders' ),
? ? ? ? ? ? 'post_status' => array_keys( wc_get_order_statuses() ),
? ? ? ? )
? ? )
);
$product_category_terms = array('course'); // <== Here the defined product category term(s)
if ( $customer_orders ) : ?>
? ? <section class='courseHistory'>
? ? ? ? <div class='grid-container full'>
? ? ? ? ? ? <?php foreach ( $customer_orders as $customer_order ) :
? ? ? ? ? ? ? ? $order? ? ? = wc_get_order( $customer_order ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
? ? ? ? ? ? ? ? $item_count = $order->get_item_count();
? ? ? ? ? ? ? ? $category_found = false; // Initializing
? ? ? ? ? ? ? ? // Loop through order items
? ? ? ? ? ? ? ? foreach ( $order->get_items() as $item ) {
? ? ? ? ? ? ? ? ? ? if ( has_term( $product_category_terms, 'product_cat', $item->get_product_id() ) ) {
? ? ? ? ? ? ? ? ? ? ? ? $category_found = true;
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? // If the product category is not found in order items we jump to next order
? ? ? ? ? ? ? ? if ( ! $category_found ) continue;
? ? ? ? ? ? ?>
? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? <!-- Course loop to go here -->
? ? ? ? ? ? <?php foreach ( $my_orders_columns as $column_id => $column_name ) : ?>
? ? ? ? ? ? ? ? <div class='large-12 cell marB20 shadow'>
? ? ? ? ? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? ? ? ? ? ? ? <div class='small-12 medium-12 large-3 cell courseImg'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Course image here -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? <img src="<?php echo get_template_directory_uri(); ?>/assets/images/course.png"/>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? <div class='small-12 medium-12 large-9 cell courseInfo whiteBg'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='grid-x grid-margin-x align-middle'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='small-12 medium-12 large-7 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-5 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='bold title'>Course name:</p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-auto cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Course title here -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='noweight title'><?php echo the_dramatist_get_order_prod_name( $order ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-5 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='bold title'><?php esc_html_e("Date of course:", "woocommerce"); ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-auto cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Date of course from calendar here -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='noweight title'><?php _e("21.01.21", "woocommerce"); ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-5 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='bold title'><?php esc_html_e("Paid on:", "woocommerce"); ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-auto cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Purchase date here -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='noweight title'><time datetime="<?php esc_attr_e( $order->get_date_created()->date( 'c' ) ); ?>"><?php? esc_html_e( wc_format_datetime( $order->get_date_created() ) ); ?></time></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='grid-x'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-5 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='bold title'><?php esc_html_e("Status:", "woocommerce"); ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='large-auto cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Purchase status here -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <p class='noweight title'><?php esc_html_e( wc_get_order_status_name( $order->get_status() ) ); ?></p>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <div class='small-12 medium-12 large-5 cell'>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Link to course to go through to shop info page? -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <a class='orangeB' href="<?php the_permalink(); ?>"><?php esc_html_e("View course overview", "woocommerce"); ?></a>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <!-- Link to PPE for this course here. I've done it so each PPE product will have a course sub category
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? that can be assigned to it to make filtering easier. PPE Cat > Course PPE sub cat -->
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <a class='blackB marT20' href="<?php the_permalink(); ?>"><?php esc_html_e("Get PPE for this course", "woocommerce"); ?></a>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? </div>
? ? ? ? ? ? ? ? <!-- Course loop end -->
? ? ? ? ? ? ? ? <?php endforeach; ?>
? ? ? ? ? ? </div>
? ? ? ? ? ? <!-- Orders loop end -->
? ? ? ? ? ? <?php endforeach; ?>
? ? ? ? </div>
? ? </section>
<?php endif; ?>
它應該有效。
- 1 回答
- 0 關注
- 184 瀏覽
添加回答
舉報