Di Pengaturan Membaca, ada tempat untuk mengatur jumlah posting yang ditampilkan yang mempengaruhi jumlah posting yang ditampilkan dalam semua konteks. Sebagai gantinya, saya ingin menampilkan sejumlah posting tertentu di beranda, dan sejumlah posting berbeda di halaman seperti arsip, hasil pencarian, dll.
Saya sadar saya bisa melakukan ini dengan mengedit file tema dan mengubah parameter kueri di sana, tetapi saya lebih suka memiliki akses yang lebih mudah ke halaman pengaturan yang sederhana. Dahulu kala, saya menemukan sebuah plugin yang melakukan ini, tetapi saya tidak dapat menemukannya sekarang.
Adakah yang tahu tentang plugin untuk melakukan ini, atau bahkan sebuah fungsi yang saya bisa masukkan ke functions.php untuk mencapai hal yang sama?
Jawaban:
Saya percaya cara terbaik untuk melakukan ini dalam sebuah plugin adalah dengan menjalankan fungsi sampel berikut ketika
pre_get_posts
kait tindakan ditemukan. The$wp_query
objek tersedia, yang berarti tag kondisional Anda yang tersedia, tapi sebelum WordPress mendapat tulisan, yang berarti Anda mengubah permintaan vars sebelum permintaan pertama yang dijalankan, daripada menambahkan query kedua seperti ketika query_posts () digunakan dalam tema mengajukan.sumber
Anda dapat melakukan loop kustom menggunakan query_posts, dan menentukan jumlah posting oleh is_home, is_archive, dll.
hanya pernyataan if sederhana bersama dengan query_posts
sumber
query_posts
tema Anda, Anda akan mengabaikan permintaan asli dan membuat yang lain, berlebihan.Untuk menambah pertanyaan ini. Adakah yang tahu cara menentukan post_per_page untuk fungsi fungsi ini custom_posts_per_page ($ query) jika menambahkan halaman baru ke index.php seperti ini:
sumber
Untuk kepentingan kelengkapan, saya menemukan bahwa
query_posts
dikombinasikan dengan$query_string
penggabungan bekerja dengan baik.Saya menempatkan kode ini di
index.php
(tema saya tidak memiliki category.php) ...Tentu saja yang kami lakukan di sini adalah memodifikasi string kueri internal loop, menimpa jumlah posting default per halaman .
Ini berfungsi memperlakukan untuk menyediakan daftar posting yang lebih kecil di beranda tempat saya menunjukkan posting penuh, dan daftar posting yang jauh lebih besar di mana pun (kategori, berdasarkan tanggal, dll) di mana saya hanya menampilkan ringkasan posting.
Namun, harap dicatat bahwa tidak seperti jawaban yang diterima, ini akan menjalankan kueri dua kali , jadi itu bukan solusi yang baik.
sumber