2011-01-25 19 views

Odpowiedz

45

Można utworzyć nowy szablon strony z tej pętli w nim:

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array('post_type' => 'post', 'posts_per_page' => 10, 'paged' => $paged); 
$wp_query = new WP_Query($args); 
while (have_posts()) : the_post(); ?> 
    <h2><?php the_title() ?></h2> 
<?php endwhile; ?> 

<!-- then the pagination links --> 
<?php next_posts_link('&larr; Older posts', $wp_query ->max_num_pages); ?> 
<?php previous_posts_link('Newer posts &rarr;'); ?> 
+0

Działa jak urok !!! –

1

Nieco bardziej wyszukane rozwiązanie oparte na @Gavins odpowiedzieć

<?php 
/* 
Template Name: List-all-chronological 
*/ 

function TrimStringIfToLong($s) { 
    $maxLength = 60; 

    if (strlen($s) > $maxLength) { 
     echo substr($s, 0, $maxLength - 5) . ' ...'; 
    } else { 
     echo $s; 
    } 
} 

?> 

<ul> 
<?php 
$query = array('posts_per_page' => -1, 'order' => 'ASC'); 
$wp_query = new WP_Query($query); 

if (have_posts()) : while (have_posts()) : the_post(); ?> 
<li> 
    <a href="<?php the_permalink() ?>" title="Link to <?php the_title_attribute() ?>"> 
     <?php the_time('Y-m-d') ?> 
     <?php TrimStringIfToLong(get_the_title()); ?> 
    </a> 
</li> 
<?php endwhile; else: ?> 
<p><?php _e('Sorry, no posts published so far.'); ?></p> 
<?php endif; ?> 
</ul> 
+1

Jak dodać paginację dla więcej niż 10 wpisów? –

11

dla innych, którzy może be Googling this ... Jeśli zastąpiłeś pierwszą stronę witryny ze stroną static, ale nadal chcesz, aby Twoja lista wpisów pojawiała się und er oddzielny link trzeba:

  1. Utwórz pustą stronę (i podać dowolny URL/ślimak chcesz)
  2. Pod Ustawienia> Czytanie, wybierz tę nową stronę jako swojej stronie „Wiadomości”

Teraz, gdy klikniesz link do tej strony w swoim menu, powinna ona zawierać listę wszystkich twoich ostatnich postów (nie ma problemów z wymaganym kodem).

+0

dzięki za odpowiedź! szybkie pytanie: jak edytować szablon strony po wykonaniu tej czynności? –

Powiązane problemy