Woocommerce在html表中显示产品

时间:2015-05-13 20:07:00

标签: html woocommerce html-table

我试图在普通的html表格中显示WooCommerce产品列表。这些产品确实是简单的产品;每个都包含一个产品名称,两个自定义字段(质量和尺寸),以及一个“引用”和“#39;按钮。这就是前端显示的所有内容。

在loop-start.php中,我添加了开始<table>标记。在loop-end.php中,我添加了结束</table>标记。但是,当加载前端页面并查看源代码时,每个产品都有自己的<table></table>标记。我想只有一张桌子......

环start.php:

<table> <?php echo (function_exists('sometheme_woo_shop_columns_class') ? sometheme_woo_shop_columns_class() : ''); ?>">

环end.php:

</table>

内容product.php:

    <?php do_action( 'woocommerce_before_shop_loop_item' ); ?>

        <?php
            /**
             * woocommerce_before_shop_loop_item_title hook
             *
             * @hooked woocommerce_show_product_loop_sale_flash - 10
             * @hooked woocommerce_template_loop_product_thumbnail - 10
             */
            do_action( 'woocommerce_before_shop_loop_item_title' );
        ?>
<tr>
<td>        <h5><?php the_title(); ?></h5></td>



        <?php
            /**
             * woocommerce_after_shop_loop_item_title hook
             *
             * @hooked woocommerce_template_loop_rating - 5
             * @hooked woocommerce_template_loop_price - 10
             */
            do_action( 'woocommerce_after_shop_loop_item_title' );
        ?>
<td>        <?php echo get_post_meta( get_the_ID(), '_mass_field', true );  ?></td>
<td>        <?php echo get_post_meta( $post->ID, '_dimensions_field', true ); ?></td>
<td>

    <?php

        /**
         * woocommerce_after_shop_loop_item hook
         *
         * @hooked woocommerce_template_loop_add_to_cart - 10
         */
        do_action( 'woocommerce_after_shop_loop_item' ); 

    ?>
</td>
</tr>

前端产品页面来源:

<div class="relative-container">...</div>
<div cass="boxed layout boxed colors</div>
<table>...</table>
<div class="relative-container">...</div>
<div cass="boxed layout boxed colors</div>
<table>...</table>
<div class="relative-container">...</div>
<div cass="boxed layout boxed colors</div>
<table>...</table>
<div class="relative-container">...</div>
<div cass="boxed layout boxed colors</div>
<table>...</table>
etc.

1 个答案:

答案 0 :(得分:0)

看到我一直在寻找这个解决方案一段时间(在发布问题之前),我会在这里发布解决方案以防其他人需要相同的。

问题:Wordpress自动格式化在生成前端时插入<table></table>标记。因此,解决方案是禁用Wordpress自动格式化。将此行添加到functions.php可以解决问题:

remove_filter('the_content', 'wpautop'); 

然而,这将全局禁用自动格式化。我只是希望在生成产品页面时发生这种情况。解决方案是创建一个在商店页面输出之前调用的函数:

function remove_wp_autoformatting () {
    remove_filter('the_content', 'wpautop');
    }

add_action ('woocommerce_before_shop_loop_item', 'remove_wp_autoformatting');

为了充分披露,我还是个新手。所以,如果有人有更有效的解决方案,那就非常感激了。