WordPress oferuje stosunkowo mało znaną funkcję dzielenia bardzo długich postów na różne strony. Jednak stylizacja jest nieco trudna, więc pasuje do ogólnego stylu witryny, ponieważ domyślnie WordPress nie stosuje klas CSS do kierowania swoich elementów. Nauczmy się filtrować funkcję, która je wyprowadza i dodawać klasy, aby je stylizować.
Przegląd
Posty można podzielić na strony, wpisując <!--nextpage--> Quicktag podczas pisania treści posta, aby wskazać, że treść po tagu musi zostać umieszczona na nowej stronie. Linki są następnie generowane za pomocą funkcji wp_link_pages, która tworzy stronicowanie treści posta.
Chociaż musisz wziąć pod uwagę wpływ stronicowania treści na SEO, a to już cały temat, prawdopodobnie masz dobry powód, aby to zrobić, na przykład niesamowicie długi artykuł, prawdopodobnie z dużą ilością obrazów i osadzonych filmów, które zajęłyby zbyt dużo do załadowania i zużyłoby wiele zasobów na twoim serwerze.
Inicjalizacja
Możemy wywołać wp_link_pagesfunkcję w naszym motywie WordPress, w tym nasze klasy CSS gotowe do stylizacji w następujący sposób:
<?php
wp_link_pages(
'before' => '<div class="nextpages">'. esc_html__( 'Next Pages:', 'startfunction' ),
'after' => '</div>',
'pagelink' => '<span class="pagelink">%</span>'
);
Filtracja
Co się stanie, jeśli użyjemy motywu potomnego? jeśli jest poprawnie zbudowany przy użyciu get_template_part, możemy skopiować plik do naszego motywu potomnego i ponownie zainicjować funkcję z odpowiednimi wartościami.
Dobrą alternatywą byłoby użycie filtra w wp_link_pages_argscelu zastąpienia inicjalizacji wp_link_pagesfunkcji. Możemy dodać następujący kod w pliku functions.php naszego motywu potomnego:
<?php
function startfunction_link_pages( $r) {
$args = array(
'before' => '<div class="nextpages">'. esc_html__( 'Next Pages:', 'startfunction' ),
'after' => '</div>',
'pagelink' => '<span class="pagelink">%</span>'
);
return wp_parse_args( $args, $r );
}
add_filter( 'wp_link_pages_args','startfunction_link_pages' );
Jest to również dobra alternatywa, jeśli funkcja jest inicjowana wewnątrz frameworka i chcemy nadpisać wartości dla naszych własnych celów.