Показать сообщение отдельно
  #1 (permalink)  
Старый 05.01.2015, 22:41
Аспирант
Отправить личное сообщение для Wahtel Посмотреть профиль Найти все сообщения от Wahtel
 
Регистрация: 21.11.2014
Сообщений: 35

Функция для дозагрузки контента
Всем привет, в 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 я тоже не работал, можете глянуть и сказать что не так, буду благодарен!
Ответить с цитированием