• Всем привет, у меня есть функция длзагрузки, она хорошо работает, но если я нажму на значок дозагрузки одновременно два или больше раз, то оно загрузить два или больше раз один и тот же контент, поэтому я хочу как то исключать те посты которые уже были выведенны, не подскажите как это можно сделать?

    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' );

  • Тема «Аяксовая дозагрузка, как исключить посты которые уже б» закрыта для новых ответов.