我试图在普通的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.
答案 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');
为了充分披露,我还是个新手。所以,如果有人有更有效的解决方案,那就非常感激了。