Всем привет, в js я не очень разбираюсь, но мне понадобилось написать функцию в WordPress которая по нажатию на кнопку будет дозагружать контент, и вот вроде как половину функции я написал, по идеи моя php функция берет контент и отсылает в js функцию,
add_action( 'wp_ajax_add_foobar', 'prefix_ajax_add_foobar' );
add_action( 'wp_ajax_nopriv_add_foobar', 'prefix_ajax_add_foobar' );
function prefix_ajax_add_foobar() {
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'post_status' => 'publish',
);
$query = new WP_Query( $args );
ob_start();
while ( $query->have_posts() ) {
$query->the_post();
get_template_part( 'content-post' );
}
wp_reset_query();
$data = ob_get_clean();
echo json_encode( $data );
exit;
}
но по нажатию на кнопку я не получаю никакого массива с контентом,
jQuery('a.download-more').click(function () {
event.preventDefault();
var url = '/wp-admin/admin-ajax.php';
var data = {
action: 'foobar',
data: 'current-data '
};
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(url, data, function (response) {
console.log(response.data);
}, 'json');
});
это мой первый опыт написания js функции, и с ajax и json я тоже не работал, можете глянуть и сказать что не так, буду благодарен!