Аяксовая дозагрузка, как исключить посты которые уже б
-
Всем привет, у меня есть функция длзагрузки, она хорошо работает, но если я нажму на значок дозагрузки одновременно два или больше раз, то оно загрузить два или больше раз один и тот же контент, поэтому я хочу как то исключать те посты которые уже были выведенны, не подскажите как это можно сделать?
function load_more_home() { $paged = (int) $_POST['info']['page'] + 1; $query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => get_option( 'posts_per_page' ), 'paged' => $paged, 'post_status' => 'publish', 'order' => 'DESC' ) ); $current = 1; ?> <?php $html[1] = '<div class="grid-row"><div class="grid-42">{{content}}'; $html[2] = '{{content}}'; $html[3] = '{{content}}'; $html[4] = '{{content}}</div>'; $html[5] = '<div class="grid-42">{{CONTENT}}</div></div>'; $html[6] = '<div class="grid-row"><div class="grid-41">{{content}}'; $html[7] = '{{content}}</div>'; $html[8] = '<div class="grid-42">{{CONTENT}}</div>'; $html[9] = '<div class="grid-41">{{content}}'; $html[10] = '{{content}}</div></div>'; ?> <?php if ( $query->have_posts() ): ?> <?php if ( $query->post_count <= 5 ) { unset( $html[6] ); unset( $html[7] ); unset( $html[8] ); unset( $html[9] ); unset( $html[10] ); } ?> <?php while ( $query->have_posts() ): ?> <?php $query->the_post(); ?> <?php ob_start(); if ( $current == 5 || $current == 8 ) { include ABSPATH . "wp-content/thesis/boxes/posts-list/template_big.php"; } else { include ABSPATH . "wp-content/thesis/boxes/posts-list/template.php"; } ?> <?php $content = ob_get_clean(); if ( $current == 5 || $current == 8 ) { $html[ $current ] = str_replace( '{{CONTENT}}', $content, $html[ $current ] ); } else { $html[ $current ] = str_replace( '{{content}}', $content, $html[ $current ] ); } ?> <?php $current ++; ?> <?php endwhile; ?> <?php if ( $query->max_num_pages > (int) $paged ) { $hide = 'no'; } else { $hide = 'yes'; } ?> <?php else: ?> <?php $hide = 'yes'; ?> <?php endif; ?> <?php $html = implode( '', $html ); $html = str_replace( '{{content}}', '', $html ); $html = str_replace( '{{CONTENT}}', '', $html ); $return = array( 'html' => $html, 'hide' => $hide ); echo json_encode( $return ); die(); } add_action( 'wp_ajax_nopriv_load_more_home', 'load_more_home' ); add_action( 'wp_ajax_load_more_home', 'load_more_home' );
- Тема «Аяксовая дозагрузка, как исключить посты которые уже б» закрыта для новых ответов.