首页 > 解决方案 > 如何将 Woocommerce 的订单状态添加到时间表视图中的 Woocommerce Bookings wc-bookings-schedule-booking-info?

问题描述

Woocommerce 预订插件具有显示约会名称和产品的日历视图。我希望显示与预订相关联的 Woocommerce 订单状态,而不是产品属性。如果有人有想法使用functions.php的自定义代码到达那里,我将非常感激。

预订计划事件的内容由 /admin/views/html-calendar-schedule.php 编码。此函数可能包含编写自定义函数所需的挂钩。


<a class="wc-bookings-schedule-event" href="<?php echo esc_url( $event_data['url'] ); ?>">
    <div class="wc-bookings-schedule-booking-duration">
        <?php echo esc_html( $event_data['time'] ); ?>
    </div>
    <div class="wc-bookings-schedule-booking-info">
        <div class="wc-bookings-schedule-booking-description">
            <?php echo wp_kses_post( $description ); ?>
        </div>
        <div class="wc-bookings-schedule-booking-details">
            <?php
            $resources = array();
            if ( ! empty( $event_data['resource'] ) ) {
                array_push( $resources, $event_data['resource'] );
            }
            if ( ! empty( $event_data['resources'] ) ) {
                echo esc_html( __( 'Resources: ', 'woocommerce-bookings' ) );
                echo esc_html( implode( ', ', $event_data['resources'] ) );
            }
            ?>
        </div>
        <div class="wc-bookings-schedule-booking-details">
            <?php
            $persons   = '';
            if ( ! empty( $event_data['persons'] ) ) {
                $persons = $event_data['persons'];
            }
            if ( ! empty( $persons ) ) {
                // Persons from Booking data already contains label
                echo esc_html( $persons );
            }
            ?>
        </div>

这是在(编辑预订)页面中显示订单号的代码。

<p class="booking_number">
                <?php
                if ( $order ) {
                    /* translators: 1: href to order id */
                    printf( ' ' . esc_html__( 'Linked to order %s.', 'woocommerce-bookings' ), '<a href="' . admin_url( 'post.php?post=' . absint( ( is_callable( array( $order, 'get_id' ) ) ? esc_html( $order->get_id() ) : esc_html( $order->id ) ) ) . '&action=edit' ) . '">#' . esc_html( $order->get_order_number() ) . '</a>' );
                }

                if ( $product && is_callable( array( $product, 'is_bookings_addon' ) ) && $product->is_bookings_addon() ) {
                    /* translators: 1: bookings addon title */
                    printf( ' ' . esc_html__( 'Booking type: %s', 'woocommerce-bookings' ), esc_html( $product->bookings_addon_title() ) );
                }
                ?>
                </p>

标签: phpwordpresswoocommerceorderswoocommerce-bookings

解决方案


推荐阅读