Kilka godzin temu otrzymałem takie pytanie:
Jak stworzyć taką listę wszystkich wpisów jaką ma Pan na swojej stronie?
Mojemu czytelnikowi chodziło o mój spis treści, który mam od początku na swoim blogu, a który wykorzystuje w różnych celach np. łatwiej mi się w nim wyszukuje starsze posty i linki do nich :)
Jest to lista przygotowana zarówno dla użytkowników, jak i wyszukiwarek, które bardzo chętnie odwiedzają tę podstronę i ją indeksują.
Wyświetlanie listy wszystkich opublikowanych wpisów
Poniżej kod, który należy wkleić do pliku functions.php motwu (najlepiej motywu potomnego):
function jcz_wszystkie_shortcode($atts, $content) {
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DSC'
);
$query = new WP_Query( $args );
if( $query->have_posts() ) {
echo '<ul class="display-posts-listing">';
while ( $query->have_posts() ) {
$query->the_post();
echo '<li><a class="title" href="'.get_the_permalink().'">' .
get_the_title() . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
}
add_shortcode('wszystkie', 'jcz_wszystkie_shortcode');
Teraz wystarczy w treści strony, na której ma się znaleźć wpis wkleić shortcode (bez spacji pomiędzy nawiasami):
[ wszystkie ]
i lista będzie wyglądać dokładnie tak jak na tej stronie.
4 komentarze do wpisu “Jak wyświetlić listę wszystkich wpisów w WordPress?”
Janusz Kamiński
Coś jak mapa strony, hehe :)
Jakub Jaworowicz[ Autor Artykułu ]
Dokładnie – tylko przydatna bardziej dla użytkownika niż wyszukiwarki, ale też wyszukiwarki ją lubią.
Krzysztof K
A jak zmodyfikować ten kod, aby zliczał jeszcze wyświetlenia dla danej strony ? :)
Jakub Jaworowicz[ Autor Artykułu ]
Trzeba połaczyć z inną wtyczką np. post view :)