【问题标题】:Adding Woocommerce Add to Cart Button to related products and product listing将 Woocommerce 添加到购物车按钮添加到相关产品和产品列表
【发布时间】:2013-02-23 01:58:49
【问题描述】:
我在向 WooCommerce 添加其他内容时遇到了一些困难,因为我还是新手。我正在尝试将“添加到购物车”按钮添加到相关产品和产品列表中。
正在运行代码并卡在下面。
<a href="<?php the_permalink(); ?>">
<?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' );
?>
<h3><?php the_title(); ?></h3>
<?php
/**
* woocommerce_after_shop_loop_item_title hook
*
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
?>
</a>
<?php do_action( 'woocommerce_after_shop_loop_item' ); ?>
希望有人可以指导我如何添加按钮。提前致谢。
【问题讨论】:
标签:
wordpress
cart
woocommerce
【解决方案1】:
解释每个 do_action 都在 woocommerce-hooks.php 内部,并指向 woocommerce-template.php 内部的一个函数
创建缩略图:
Function Name: woocommerce_template_loop_product_thumbnail()
do_action( 'woocommerce_before_shop_loop_item_title' );
提供价格:
Function Name: woocommerce_template_loop_price()
do_action( 'woocommerce_after_shop_loop_item_title' );
添加到购物车按钮:
Function Name: woocommerce_template_loop_add_to_cart()
do_action( 'woocommerce_after_shop_loop_item' );
【解决方案2】:
在您的 wordpress 文件夹中递归搜索 woocommerce_template_loop_add_to_cart。
默认情况下,WooCommerce 将其挂钩到 wp-content\plugins\woocommerce\woocommerce-hooks.php 中的 woocommerce_after_shop_loop_item
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
我安装的主题 Mystile 删除了 wp-content\themes\mystile\includes\theme-woocommerce.php 中的这个钩子
// Remove add to cart button on archives
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
一旦我将其注释掉,“添加到购物车”按钮就会出现。
【解决方案3】:
要在产品列表页面添加“添加到购物车”按钮,我个人复制了:
wp-content/plugins/woocommerce/templates/content-product.php
进入:
wp-content/themes/myChildTemplate/woocommerce/content-product.php
然后我换了:
do_action( 'woocommerce_after_shop_loop_item_title' );
?>
</a>
作者:
do_action( 'woocommerce_after_shop_loop_item_title' );
?>
</a>
<?php do_action('woocommerce_simple_add_to_cart'); ?>
【解决方案4】:
供遇到此问题的任何人参考,您也可以尝试使用此钩子使其正常工作...
// Add add to cart button on archive page products
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
【解决方案5】:
在 ElegantTheme wordpress 主题 (Divi) 上使用 WooCommerce,我在 functions.php 中添加了这一行:
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_add_to_cart', 10 );
它在标题和价格之后添加一个“添加到购物车”按钮(即每个产品一个“添加到购物车”按钮)