Я пробовал все, чтобы узнать, откуда идет этот "0". У меня нет никаких var_dumps на странице. Если я запускаю console.log (productlist); и найду раздел innerhtml, он показывает нуле. «0» не отображается в источнике страницы. Если я посмотрю ответ на вкладке «Сеть», он показывает «0». < /P>
нет «0» в HTML. img alt = "Введите описание изображения здесь" src = "https://i.sstatic.net/knvpwcrg.png"/>
Вот php
// AJAX Favorite Products Display Product List
function display_favorite_products() {
// Get Favorite Products Array
$user_id = get_current_user_id();
$favs_array = get_user_meta($user_id, 'fav_products', true);
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'post__in' => $favs_array
);
$loop = new WP_Query($args);
if ($loop->have_posts()) {
while ($loop->have_posts()) : $loop->the_post();
wc_get_template_part('content', 'product');
endwhile;
}else{
echo __('No products found');
}
wp_reset_postdata();
}
add_action('wp_ajax_display_favorite_products', 'display_favorite_products');
< /code>
Вот JS < /p>
$('body').on('click', '.filter-fav-products', function(e) {
e.preventDefault();
const productList = $('ul.product-list');
$.ajax({
url: '/wp-admin/admin-ajax.php',
method: 'POST',
data: {
action: 'display_favorite_products'
},
beforeSend: function(xhr) {
// preloading effect, the same WooCommerce cart and checkout use
productList.fadeTo('400', '0.7').block({message: null, overlayCSS: {opacity: 0.7, backgroundColor: '#fff'}});
},
success: function(data) {
productList.stop(true).css('opacity', '1').unblock();
productList.html(data);
}
});
});
Вот список продуктов (если я удаляю wc_get_template_part ('content', 'product');) он не показывает никаких продуктов, но все еще показывает "0" , так что это ничего в этом шаблоне) < /p>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -mystery-0
Мобильная версия