Dodaj funkcjonalność paginacji do niestandardowych typów postów w WordPressie
Objaśnienie
Aby dodać paginację do swoich niestandardowych typów postów w WordPressie, musisz dostosować sposób wyświetlania postów oraz dodać linki nawigacyjne, które umożliwią użytkownikom przechodzenie między stronami.
Ustawianie paginacji:
- Najpierw upewnij się, że archiwum twojego niestandardowego typu postu wyświetla określoną liczbę postów na stronę. Można to zrobić, modyfikując główne zapytanie za pomocą haka pre_get_posts. Ustawiamy tutaj, aby wyświetlało 10 postów na stronę.
Wyświetlanie linków paginacji:
- Użyj funkcji paginate_links, aby stworzyć linki nawigacyjne. Ta funkcja generuje linki do poprzednich i następnych stron, używając symbolu zastępczego dla numeru bieżącej strony.
- Dostosuj tekst przycisków "Poprzednia" i "Następna", aby pasował do języka lub stylu twojej witryny.
Podłączenie paginacji do wyświetlania:
- Na koniec upewnij się, że linki paginacji pojawiają się po pętli postów, podłączając się do akcji loop_end. Zapewnia to, że paginacja jest dodawana tylko do stron archiwum twojego niestandardowego typu postu.
Dzięki tym krokom archiwa twojego niestandardowego typu postu będą miały schludny system paginacji, co ułatwi odwiedzającym przeglądanie twojej zawartości. Pamiętaj tylko, aby zastąpić 'your_custom_post_type' rzeczywistą nazwą twojego niestandardowego typu postu.
Kod
// Function to add pagination to custom post types
function wp_dudecom_custom_post_type_pagination( $query ) {
if ( ! is_admin() && $query->is_main_query() && is_post_type_archive( 'your_custom_post_type' ) ) {
$query->set( 'posts_per_page', 10 ); // Set the number of posts per page
}
}
add_action( 'pre_get_posts', 'wp_dudecom_custom_post_type_pagination' );
// Function to display pagination links
function wp_dudecom_display_pagination() {
global $wp_query;
$big = 999999999; // Need an unlikely integer
$pagination_args = array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var( 'paged' ) ),
'total' => $wp_query->max_num_pages,
'prev_text' => __( '« Previous', 'text-domain' ),
'next_text' => __( 'Next »', 'text-domain' ),
);
echo paginate_links( $pagination_args );
}
// Hook to display pagination after the loop
function wp_dudecom_add_pagination_to_custom_post_type() {
if ( is_post_type_archive( 'your_custom_post_type' ) ) {
wp_dudecom_display_pagination();
}
}
add_action( 'loop_end', 'wp_dudecom_add_pagination_to_custom_post_type' );
Instrukcja
Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.
Wymagania wstępne:
- Upewnij się, że masz zarejestrowany własny typ posta w swojej witrynie WordPress.
- Podstawowa znajomość plików motywu WordPress i jego struktury.
Kroki wdrożenia:
- Otwórz plik
functions.phpswojego motywu: Przejdź do Wygląd > Edytor motywu w swoim panelu WordPress. Wybierz plikfunctions.phpz listy po prawej stronie. - Wstaw kod paginacji: Skopiuj i wklej podany fragment kodu do pliku
functions.php. Upewnij się, że umieszczasz go na końcu pliku lub przed jakimikolwiek zamykającymi tagami PHP. - Zamień placeholder: W kodzie zamień
'your_custom_post_type'na rzeczywistą nazwę swojego własnego typu posta. - Zapisz zmiany: Po wstawieniu kodu kliknij przycisk Aktualizuj plik, aby zapisać wprowadzone zmiany.
- Przetestuj paginację: Odwiedź stronę archiwum swojego własnego typu posta, aby upewnić się, że paginacja działa poprawnie. Powinieneś zobaczyć linki nawigacyjne na dole strony.
Postępując zgodnie z tymi krokami, pomyślnie dodasz paginację do archiwów swojego własnego typu posta, co poprawi nawigację użytkowników. Jeśli potrzebujesz dalszej pomocy lub chcesz zbadać bardziej zaawansowane funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.