【问题标题】:Woocommerce Template Files not allowing using divWoocommerce 模板文件不允许使用 div
【发布时间】:2021-07-09 07:29:36
【问题描述】:

所以我将 Woocommerce 模板文件添加到我的 Wordpress 自定义主题 woocommerce 文件夹中,我可以编辑文件,但是当我尝试使用 div 时,它会自动删除它们,有时还会删除其中的所有内容。找不到任何解决方案,有什么方法可以绕过它?

mytheme/woocommerce 文件夹中有我的 my-order.php,我编辑了几个类以更改为引导程序外观,但是当我想用带有类的 div 包装任何代码行时,但没有显示在页面中.

<?php
/**
 * My Orders - Deprecated
 *
 * @deprecated 2.6.0 this template file is no longer used. My Account shortcode uses orders.php.
 * @package WooCommerce\Templates
 */

defined( 'ABSPATH' ) || exit;

$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' => '&nbsp;',
    )
);

$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() ),
        )
    )
);

if ( $customer_orders ) : ?>

    <h2><?php echo apply_filters( 'woocommerce_my_account_my_orders_title', esc_html__( 'Recent orders', 'woocommerce' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></h2>
<div class="common-table table-1 desk">
    <table class="table">

        <thead>
            <tr>
                <?php foreach ( $my_orders_columns as $column_id => $column_name ) : ?>
                    <th class="<?php echo esc_attr( $column_id ); ?>"><span class="nobr"><?php echo esc_html( $column_name ); ?></span></th>
                <?php endforeach; ?>
            </tr>
        </thead>

        <tbody>
            <?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();
                $a=0;
                ?>
                <tr class="order">
                    <?php foreach ( $my_orders_columns as $column_id => $column_name ) : ?>
                        <td class="<?php if ($a == 0 ) {echo $x="text-start"; $a++;} ?>">
                            <?php if ( has_action( 'woocommerce_my_account_my_orders_column_' . $column_id ) ) : ?>
                                <?php do_action( 'woocommerce_my_account_my_orders_column_' . $column_id, $order ); ?>

                            <?php elseif ( 'order-number' === $column_id ) : ?>
                                <a href="<?php echo esc_url( $order->get_view_order_url() ); ?>">
                                    <?php echo _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
                                </a>

                            <?php elseif ( 'order-date' === $column_id ) : ?>
                                <time datetime="<?php echo esc_attr( $order->get_date_created()->date( 'c' ) ); ?>"><?php echo esc_html( wc_format_datetime( $order->get_date_created() ) ); ?></time>

                            <?php elseif ( 'order-status' === $column_id ) : ?>
                                <?php echo esc_html( wc_get_order_status_name( $order->get_status() ) ); ?>

                            <?php elseif ( 'order-total' === $column_id ) : ?>
                                <?php
                                /* translators: 1: formatted order total 2: total order items */
                                printf( _n( '%1$s for %2$s item', '%1$s for %2$s items', $item_count, 'woocommerce' ), $order->get_formatted_order_total(), $item_count ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
                                ?>

                            <?php elseif ( 'order-actions' === $column_id ) : ?>
                                <?php
                                $actions = wc_get_account_orders_actions( $order );

                                if ( ! empty( $actions ) ) {
                                    foreach ( $actions as $key => $action ) { // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
                                        echo '<a href="' . esc_url( $action['url'] ) . '" class="button ' . sanitize_html_class( $key ) . '">' . esc_html( $action['name'] ) . '</a>';
                                    }
                                }
                                ?>
                            <?php endif; ?>
                        </td>
                    <?php endforeach; ?>
                </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
  </div>
<?php endif; ?>

【问题讨论】:

  • 是否显示文件中的其他内容?确保加载复制到主题的文件而不是 WooCommerce 文件夹中的文件
  • 是的,它正在工作,我更改了一些其他代码没有问题,但是当我想将所有代码表添加到带有类的 div 时,它就消失了
  • 你可以在问题中添加代码吗?
  • 我做了更正,实际上当我使用 div 时,它只是删除了 div 有时还删除了里面的内容,还添加了代码它的外观,所以
    当我检查页面时不显示。
  • 谢谢你,你是对的!我应该使用 orders.php 而不是 my-orders.php,现在它可以工作了。

标签: wordpress templates woocommerce


【解决方案1】:

将编辑从 my-orders.php 更改为 orders.php,现在它可以工作了。它们是相同的文件,但对于 woocommerce 的最新版本是 orders.php。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签