AJAX添加到购物车按钮的钩子?

时间:2012-06-19 作者:Anriëtte Myburgh

这里有没有人需要在自定义查询post输出中添加AJAX添加到购物车按钮(位于产品档案中的按钮)?

你介意共用这个钩子吗?我似乎找不到正确的。

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

通过代码挖掘,很容易找到。

First, 查看用于产品归档的模板-/templates/archive-product.php. 除此之外,它还设置常规查询并开始构建页面的标记。

但当它真正开始在每个产品中循环时,它会将工作委托给/templates/loop-shop.php. 为每个产品加载此模板,并使用以下代码构建列表:

<?php do_action(\'woocommerce_before_shop_loop_item\'); ?>
        
<a href="<?php the_permalink(); ?>">
            
    <?php do_action(\'woocommerce_before_shop_loop_item_title\', $post, $_product); ?>
            
    <h3><?php the_title(); ?></h3>
            
    <?php do_action(\'woocommerce_after_shop_loop_item_title\', $post, $_product); ?>
        
</a>

<?php do_action(\'woocommerce_after_shop_loop_item\', $post, $_product); ?>
我们关心的是最后一个动作:woocommerce_after_shop_loop_item. 它是有线的/woocommerce_template_actions.php 到函数woocommerce_template_loop_add_to_cart().

更深入地挖掘,看起来这个函数正是您所需要的。

如何添加此函数使用此函数最简单的方法是直接调用它。只需知道它需要参数,$post$_product. 下面的代码称之为“很好”:

global $post; // Assuming it\'s already set up
$_product = &new woocommerce_product( $post->ID );

woocommerce_template_loop_add_to_cart( $post, $_product );
函数本身调用自己的echos、 所以直接打电话就行了。

结束

相关推荐

Delete Child Posts

当父帖子被删除时,我正在尝试删除所有子帖子。父帖子删除得很好,但子帖子没有正确删除。以下是我现在掌握的代码:$args = array( \'post_parent\' => $parentid, \'post_type\' => \'custom-type\' ); $posts = get_posts( $args ); if ($posts) {