Я написал код, который генерирует ссылку на основе местоположения посетителя, и она отлично работала, но я обнаружил, что сгенерированный код кэшируется, так как я использую кэширование на всю страницу, поэтому я решил эту проблему, но могу использовать ajax длязагрузить эту ссылку.Я использовал приведенный ниже код, который отлично работал при получении некоторых необходимых мне переменных, таких как переменная местоположения, переменная домена ссылки и т. Д. Однако я не могу получить данные настраиваемого поля WooCommerce или даже идентификатор продукта, который он просто возвращает пустым.
Я использую этот код для получения настраиваемого поля, которое отлично работает при использовании непосредственно в функции, но не может заставить его работать в ajax
$uk_asin = get_post_meta(get_post()->ID, "wccaf_uk_asin", true );
Я использовал этот код в functions.php
add_action( 'woocommerce_before_add_to_cart_button', 'affiliate_link_ajax', 11);
function affiliate_link_ajax() {
?>
<script>
jQuery(document).ready(function(){
jQuery.ajax({
url: "<?php echo admin_url('admin-ajax.php'); ?>",
type: 'POST',
data: {
action: 'getmyfunctionform1'
},
dataType: 'html',
success: function(response) {
jQuery("#myResultsform1").html(response);
}
});
});
</script>
<!-- end Ajax call to getmyfunctionform1 smc 11-22-2013 -->
<div id="myResultsform1"></div>
<?php
}
и этот код в funnctions.php, а также
// Ajax Function to Load PHP Function myfunctionform1 smc 11/22/2013
add_action('wp_ajax_getmyfunctionform1', 'myfunctionform1');
add_action('wp_ajax_nopriv_getmyfunctionform1', 'myfunctionform1');
function myfunctionform1() {
$uk_asin = get_post_meta(get_post()->ID, "wccaf_uk_asin", true );
echo $uk_asin;
// Whatever php and or html you want outputed by the ajax call in template file
die(); } // important must use
// end Ajax Function to Load PHP Function myfunctionform1 smc 11/22/2013
Я был бы очень признателен, если бы ответ был простым, поскольку я все еще очень плохо знаком с кодированием