小编Jul*_*lia的帖子

通过Ajax加载single_product_content时,变体Javascript不起作用(WooCommerce)

在我的WooCommerce商店模板中,我正在使用Ajax在archive-product.php页面中动态加载单个产品内容。这部分正在工作。但是缺少用于选择产品变体的javascript,因此我尝试在成功的ajax请求后将脚本添加到html。我可以加载脚本,但是仍然不能选择产品版本。没有事件被触发。好像我缺少什么...

我的Javascript:

jQuery('.project-preview').on('click',function(){
    var theId = $(this).attr('data-project-id');
    var div = $('#product-container');

    $.ajax({
        type: "POST",
        url: singleprojectajax.ajaxurl,
        data : {action : 'load_single_product_content', post_id: theId },
        success: function(data){
            div.html(data);
            loadVariationScript();
        },
        error : function() {
        }
    });
});

function loadVariationScript () {
    jQuery.getScript("../wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.min.js");
    jQuery.getScript("../wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.js");
}
Run Code Online (Sandbox Code Playgroud)

在functions.php中

add_action( 'wp_enqueue_scripts', 'child_add_scripts' );
function child_add_scripts(){
    wp_register_script( 'pa_script', get_stylesheet_directory_uri() . '/main.js', array('jquery'), true );
    wp_localize_script( 'pa_script', 'singleprojectajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
    wp_enqueue_script('pa_script');
}

function load_single_product_content () {
     $post_id = intval(isset($_POST['post_id']) ? $_POST['post_id'] : 0); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax wordpress product woocommerce

5
推荐指数
1
解决办法
1235
查看次数

标签 统计

ajax ×1

javascript ×1

product ×1

woocommerce ×1

wordpress ×1