У меня есть запрос WordPress (пользовательский тип сообщения) и я хочу, чтобы пользователь загружал больше статей с помощью кнопки «Загрузить еще» (Ajax). Чтобы скрыть кнопку «Загрузить еще», когда сообщений больше нет, я добавил функцию «иначе, если»:
var ajaxurl = "";
var page = 2;
$('.loading').hide();
jQuery(function($) {
$('body').on('click', '.loadmore', function(e) {
$('.loadmore').hide();
$('.loading').show();
var data = {
'action': 'load_posts_by_ajax',
'page': page,
'security': ''
};
$.post(ajaxurl, data, function(response) {
if(response != '') {
$('.ajax-posts').append(response);
$('.loadmore').show();
$('.loading').hide();
page++;
} else if(response == 0) {
$(".ajax-posts").append("No More Records Found");
$('.loading').hide();
}
});
});
});
Проблема в том, что кнопка скрывается только при нажатии:
} else if(response == 0) {
Но я хочу автоматически скрывать кнопку, когда больше нет сообщений для загрузки. Поэтому мне нужно сделать что-то вроде
} else if(response == 'last posts to load') {
Есть идеи, как это сделать?
РЕДАКТИРОВАТЬ — это запрос:
add_action('wp_ajax_load_posts_by_ajax', 'load_posts_by_ajax_callback');
add_action('wp_ajax_nopriv_load_posts_by_ajax',
'load_posts_by_ajax_callback');
function load_posts_by_ajax_callback() {
check_ajax_referer('load_more_posts', 'security');
$date_now = date('Y-m-d H:i:s');
$paged = $_POST['page'];
$args = array(
'posts_per_page' => 2,
'post_type' => 'termin',
'meta_query' => array(
'key' => 'end_date',
'compare' => '>=',
'value' => $date_now,
'type' => 'DATETIME'
),
'orderby' => 'end_date',
'order' => 'ASC',
'meta_type' => 'DATE',
'post_status' => 'publish',
'paged' => $paged,
);
$my_posts = new WP_Query( $args );
if ( $my_posts->have_posts() ) :
?>
Подробнее здесь: https://stackoverflow.com/questions/577 ... re-content