Wsparcie » Zaawansowane » Wywołanie poprzednich postów

  • Cześć,

    chciałbym wywołać na stronie z postem (wpisem), wcześniejsze 3 posty niż aktualnie wyświetlany, jeden post bez problemu wywołałem kodem:

    $post_prev = get_previous_post('aktualnosci');

    natomiast mam problem, aby wywołać kolejne dwa wcześniejsze, gdyż nie ma takiej funkcji, a wywołanie ID i odejmowanie wartości nie jest metodą poprawną, gdyż w tabeli posty są wymieszane z kategoriami itp, także wszystkie ID są wymieszane.

    Także lepiej by było wywołać posty z post_type => post według kolejności od najnowszego i odejmować od nich wartości, ale niestety to nie działa. Macie może jakieś pomysły?

    Będę bardzo wdzięczny za pomoc.

    • This topic was modified 7 years, 3 months temu by edsdg.
Viewing 1 replies (of 1 total)
  • Ja mam pomysł. Możesz wywołać te posty korzystając z WP Query

    https://codex.wordpress.org/Class_Reference/WP_Query

    <?php 
    	$query_args = array(
    		'date_query' => array(
    			array(
    				'before'    => array(
    					'year'  => 2013,
    					'month' => 2,
    					'day'   => 28,
    				),
    				'inclusive' => true,
    			),
    		),
    		'posts_per_page' => 3,
    		'orderby' => 'date', 
    		'order' => 'DESC'
    	);
    	
    	$the_query = new WP_Query($query_args);
    
     ?>
    
    <!-- The Loop -->
    
    <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    
    	<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    
    <?php endwhile; else : ?>
    	<p>Nie znaleziono pasujących wpisów.</p>
    <?php endif; ?>

    Nie testowałem tego, ale raczej nie dużo trzeba zmienić żeby uruchomić. Najważniejsze to podać w tabeli odpowiednią datę. Możesz podać w ten sposób albo w postaci stringa, jak w dokumentacji tutaj:

    https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

Viewing 1 replies (of 1 total)
  • Temat ‘Wywołanie poprzednich postów’ jest zamknięty na nowe odpowiedzi.