wordpress - WooCommerce 在类别页面的弹出窗口中显示追加销售产品

标签 wordpress woocommerce

在类别页面上,当用户单击“添加到购物车”按钮时,我想在弹出窗口中显示与该特定产品相关的追加销售产品,以便用户可以选择将追加销售产品与该产品一起添加到购物车中。

<script>
jQuery(function() {
    jQuery(".single_add_to_cart_button, .add_to_cart_button").click(function(evt) {
        //evt.preventDefault();
        var product_id = jQuery(this).attr("data-product_id");

        jQuery.ajax({
            type: "POST",
            url: "<?php echo get_site_url(); ?>/wp-admin/admin-ajax.php",
            data: {action: 'myajax-submit', id: product_id},
            cache: false,
            success: function(data) {
                jQuery("#result").html(data);
            }
        });
        //return false;
    })

})

在functions.php中我编写了以下代码

add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
function myajax_submit(){
  $product_id = $_REQUEST['id'];
}

最佳答案

在探索了插件核心文件之后,我自己解决了这个问题。 这是代码片段,可能会帮助寻找相同内容的人

$product = new WC_Product($product_id);
    $upsells = $product->get_upsells();
   if (!$upsells)
        return;

$meta_query = WC()->query->get_meta_query();

    $args = array(
        'post_type' => 'product',
        'ignore_sticky_posts' => 1,
        'no_found_rows' => 1,
        'posts_per_page' => $posts_per_page,
        'orderby' => $orderby,
        'post__in' => $upsells,
        'post__not_in' => array($product->id),
        'meta_query' => $meta_query
    );

    $products = new WP_Query($args);
    if ($products->have_posts()) :
// Iterate over the each product

   endif;

关于wordpress - WooCommerce 在类别页面的弹出窗口中显示追加销售产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24033842/

相关文章:

php - Woocommerce 运费基于特定运输类别的元素数量

javascript - 在 Woocommerce 中使用 jQuery 产品变体属性呈现

css - float div 的问题 - 我怎样才能将小部件放在帖子旁边,而不是下面?

php - 基于 Woocommerce 中自定义单选按钮的动态运费

javascript - 禁用 php if/else 中的元素

php - WordPress 网站服务器与大型数据库一起移动问题

html - 如何对齐网站页脚上的元素

wordpress woocommerce 模板文件覆盖

javascript - 在加载时将事件类添加到自定义链接

php - 如何获取 WooCommerce 订单详细信息