Saya ingin menggunakan arsip jenis kiriman khusus sebagai halaman depan situs, jadi
http://the_site.com/
adalah arsip jenis kiriman khusus yang ditampilkan menurut saya archive-{post-type}.php
file .
Idealnya saya ingin mengubah kueri menggunakan file is_front_page()
saya functions.php
. Saya mencoba yang berikut, dengan halaman yang disebut "Beranda" sebagai halaman depan saya:
add_filter('pre_get_posts', 'my_get_posts');
function my_get_posts($query){
global $wp_the_query;
if(is_front_page()&&$wp_the_query===$query){
$query->set('post_type','album');
$query->set('posts_per_page',-1);
}
return $query;
}
tetapi halaman depan mengembalikan konten "Beranda" dan tampaknya mengabaikan permintaan khusus.
Apa yang saya lakukan salah? Apakah ada cara yang lebih baik, secara umum, untuk melakukan hal ini?
Jawaban:
Setelah Anda menetapkan halaman statis sebagai halaman rumah Anda, Anda dapat menambahkan ini ke Anda
functions.php
dan Anda baik untuk pergi. Ini akan memanggilarchive-POSTTYPE.php
template dengan benar juga.sumber
if(is_admin()) return;
di awal, jika tidak mengacaukan area admin.Beri nama baru arsip CPT Anda ke home.php
Kemudian gunakan pre_get_posts untuk mengubah kueri beranda sehingga hanya tampilan CPT
Ganti cpt Anda dengan nama jenis posting kustom Anda.
sumber
Terima kasih atas jawabannya ljaas — saya ingin menyelesaikan masalah yang tepat ini. Untuk mendapatkan templat arsip jenis pos kustom yang harus dipanggil, saya harus menambahkan ketentuan berikut:
sumber
Ini berfungsi lebih baik bagi saya untuk menimpa posting blog dan halaman statis di Pengaturan> Membaca> Tampilan halaman depan:
Saya menggunakannya bersama dengan template yang menimpa menggunakan filter
front_page_template
danhome_template
mengembalikan template kustom.sumber
Bagi saya itu merusak pagination: baik Anda memilih indeks atau halaman statis sebagai halaman rumah, tautan pagination muncul tetapi ketika mengklik pada halaman 2 saya mendapatkan:
Saya pikir perlu beberapa aturan penulisan ulang untuk menangkap argumen paged dan meneruskannya dengan benar.
Bagaimanapun, halaman templat khusus harus menjadi solusi dengan beberapa aturan penulisan ulang tambahan.
sumber