23
06
12

Dzielenie wpisów na strony w WordPressie

Podział na strony — edycja szablonu

O ile każdy szablon powinien sobie poradzić z wyświetlaniem tylko części wpisu, o tyle nie każdy wyświetli również odnośniki do przechodzenia do następnej i kolejnej strony.

Mój tego nie potrafił.

W takim przypadku trzeba sięgnąć po funkcję wp_link_pages(). W odpowiednim miejscu w szablonie (np. na końcu treści) dodajemy taki fragment:
<?php wp_link_pages(); ?>

Ta funkcja ma sporo argumentów, warto z nimi się zapoznać, podobnie jak z wpisem w Codeksie WP o stylowaniu tych linków.

Wywołanie funkcji oczywiście wrzucamy w plik single.php, a jeśli go w szablonie nie ma, to w plik index.php.

Zadanie to wydaje się banalne, ale jednak może przysporzyć trochę problemów. Bo sporo wtyczek dodaje bezpośrednio po treści wpisu np. przyciski do głosowania w mediach społecznościowych, czy odnośniki do podobnych artykułów. Jeśli więc dodamy wywołanie tej funkcji w szablonie pod wywołaniem treści wpisu, może się okazać, że odnośniki wypadną pod tymi dodatkami. I tam pozostaną niezauważone przez użytkownika.

Nie znam automatycznego rozwiązania tego problemu, bo też nie było mi do niczego potrzebne. Zrobiłem je ręcznie — wyłączyłem dodawanie related posts (powiązanych wpisów, generowanych przez wtyczkę YARPP) automatycznie i wkleiłem kod wyświetlający je ręcznie w plik single.php. Tym sposobem bezpośrednio pod treścią wpisów mam najpierw pasek z przyciskami do FB i Twittera, a zaraz potem odnośniki do kolejnych podstron danego artykułu.

Duplikowanie komentarzy

Domyślnie po uruchomieniu podziału na strony, na obydwu stronach z artykułem pojawiają się komentarze. Ponieważ trochę obawiam się duplikowania treści (Google nie lubi powielania treści na różnych podstronach, wyrzucając z indeksu te, które zdaniem robota są powtórzeniami), dlatego zdecydowałem o wyłączeniu wyświetlania komentarzy na kolejnych podstronach artykułu.

Komentarze wyświetlane są więc tylko na pierwszej podstronie. Na kolejnych jest komunikat o tym, że komentarze można znaleźć na pierwszej podstronie i odnośnik do niej. No i na każdej podstronie jest formularz do dodawania komentarzy. Robię to tak:

  1. sprawdzam, czy artykuł jest dzielony na podstrony, a jeśli tak, sprawdzam na której jestem podstronie,
  2. jeśli nie jest dzielony lub jestem na pierwszej podstronie, wklejam wywołanie całego bloku komentarzy (treść komentarzy + pole do ich wpisywania, najczęściej wywoływane poleceniem <?php comments_template(); ?>
  3. jeśli jest dzielony i nie jesteśmy na pierwszej podstronie, wklejam odnośnik do komentarzy i formularz do komentowania (sprawdzając jednocześnie, czy w ogóle włączyłem komentowanie pod wpisem — bo jeśli nie, to i tak formularz nie zadziała i nie ma go co wklejać).

Robię to wszystko za pomocą poniższego skróconego kodu:

<?php
$paged = get_query_var( 'page' ) ? get_query_var( 'page' ) : false;
if ( $paged === false )
{
// Jeśli te warunki są spełnione, artykuł nie jest dzielony na podstrony, albo jest to pierwsza podstrona.

?><p><?php comments_template(); ?></p><?php

}
else
{
// Artykuł jest dzielony i jest to podstrona inna, niż pierwsza.

?><p>Dotychczas opublikowane komentarze wyświetlane są na <a href=”<?php the_permalink() ?>#comments”>pierwszej stronie artykułu</a>.</p><?php

if (‚open’ == $post->comment_status) : ?>

<h3 id=”respond”>Pozostaw komentarz</h3>

// Tu wstawiać kod formularza do publikowania komentarzy.

<?php endif; // if you delete this the sky will fall on your head

}
?>

I w sumie tyle. Jak Wam się to podoba?

Kolejne strony artykułu: [ 1 ] [ 2 ]

Autor:Krzysztof Lis | Tagi: ,
Wpisy powiązane tematycznie:

Dotychczas opublikowane komentarze wyświetlane są na pierwszej stronie artykułu.

Pozostaw komentarz

Pamiętaj tylko proszę o polityce komentarzy! Komentarze służą do wyrażania opinii na temat opublikowanego tekstu, albo zadawania pytań jego dotyczących. Nie służą do reklamowania własnych stron ani zadawania pytań nie związanych z tematem wpisu. Jeśli masz pytanie, zadaj je na forum o zarabianiu na blogach albo napisz do mnie e-maila.

XHTML - możesz użyć tagów:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Jak zarabiam?

Na moich blogach i witrynach zarabiam między innymi sposobami podanymi poniżej.