Есть ли способ загружать формы Gravity каждый раз, когда пользователь меняет опцию в моем WooCommerce
переменный продукт dropdown
?
Форма гравитации будет зависеть от вариации id WooCommerce
,
Я могу вытащить и отобразить идентификатор вариации на странице своего продукта. Проблема в том, что я не знаю, как загрузить форму через AJAX.
// Это мой JS
jQuery(document).ready(function($){
$( document ).on( "found_variation.first", function ( e, v ) {
//console.log("inside JS "+ v.variation_id );
var varid = v.variation_id;
var ajaxurl = object.ajaxurl;
var data = {
action: 'my_action',
var_id : varid,
};
$.post(ajaxurl, data, function(response) {
$(('div.woocommerce-variation-add-to-cart')).html(response);
class="selected-variation-id">'+response+'</div>');
});
} );
});
Это мой functions.php
wp_register_script( 'my-fffjquery-script', get_template_directory_uri() . '/js/my-fffjquery-script.js', array( 'jquery' ), '1.0.0', true );
wp_localize_script( 'my-fffjquery-script', 'object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
wp_enqueue_script( 'my-fffjquery-script');
add_action( 'wp_ajax_my_action', 'my_action_callback' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );
function my_action_callback(){
$passedvariationid = $_POST['var_id'];
global $form_id;
echo $passedvariationid; // will be 'response' in ajax
$form_id = '9';
gravity_form( $form_id,true, false, false, false, true );
die();
Задача ещё не решена.
Других решений пока нет …