我想使用Woocommerce在Wordpress中创建捆绑创建器,在其中选择4件T恤中的1件+ 4对袜子中的1件,然后将它们添加到购物车中。目前,我一直在想办法。我目前需要实现的是: 有一个顶部图像对应于当前选择的产品,下面有三个较小的图像。单击小图像后,需要更改顶部图像。底部还有一个标题,与当前选择的产品相对应,该标题与顶部图像一起更改。 You can see the intended result here.
我需要以某种方式获取用户单击的产品的ID,并将其传递给其他php函数。这就是我卡住的地方。有人可以帮我吗?
代码应如下所示:
<div id="selected-product-image">
<?php get_the_post_thumbnail(/* ID of the currently selected product*/); ?>
</div>
<ul class="products">
<?php
$args = array( 'post_type' => 'product', 'posts_per_page' => 4, 'product_cat' => 't-shirts', 'orderby' => 'name' );
$loop = new WP_Query( $args );
?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<li class="product">
<div class="select-product"><!--This should have a function to capture the product ID on click. -->
<?php echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); ?>
</div>
</li>
<?php endwhile; ?>
<div id="selected-product-name">
<?php get_the_title(/* ID of the currently selected product*/) ?>;
</div>
<?php wp_reset_query(); ?>
</ul>
我知道我可以使用AJAX进行类似的操作,但是我不确定如何在get_the_post_thumbnail()或get_the_title()中使用返回的ID。这就是我得到的:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#select-product").click(function() {
var id = 29; /* Any value for testing */
jQuery.ajax({
method: "post",
url: "/test.php",
data: {
productID: id
}
})
.done(function(data) {
alert(data);
/* How do I use this data to update the picture/title? */
});
});
});
</script>
<!-- THE test.php FILE -->
<?php
$productID = $_POST['productID'];
echo $productID;
?>
更新: 我曾尝试编辑test.php以回显一个函数,但是每次尝试在test.php文件中使用Wordpress函数时,都会出现500错误。我尝试包括wp-blog-header.php文件,以便功能可以运行,但仍然无济于事。我在做什么错了?
<!-- THE test.php FILE -->
<?php
include_once('wp-blog-header.php');
$productID = $_POST['productID'];
echo get_the_post_thumbnail($productID);
?>