Sepertinya pertanyaan bodoh. Tapi, saya tidak tahu :(.
Saya perlu menampilkan tombol di rumah yang menuju ke URL arsip post_type khusus (archive- {post_type} .php). Bagaimana aku melakukan itu?
custom-post-types
templates
ariefbayu
sumber
sumber
yoursite.com/type-slug
kecuali Anda secara eksplisit mengaturnya ke sesuatu yang lain, misalnya.yoursite.com/some-other-url
..Jawaban:
Hai @Silent:
Ternyata ada fungsi di WordPress 3.1 yang melakukan persis apa yang Anda inginkan dan namanya
get_post_type_archive_link()
; begini cara Anda menyebutnya (dengan asumsi jenis pos khusus bernama'product'
):Di bawah ini adalah jawaban saya sebelumnya sebelum saya menemukan bahwa WordPress memang memiliki fungsi bawaan untuk use case ini.
Jawaban sebelumnya:
Kecuali saya mengabaikan sesuatu dalam kode sumber inti untuk WordPress 3.1 Saya pikir Anda mencari fungsi seperti
get_archive_link()
yang Anda sebut seperti ini (dengan asumsi jenis posting kustom bernama'product'
):Dan inilah kode sumber yang dapat Anda tempatkan ke
function.php
file tema Anda atau dalam.php
file untuk plugin yang mungkin Anda tulis:Saya benar-benar bekerja pada logika yang tepat ini selama akhir pekan meskipun saya belum 100% yakin bahwa urutan logika secara umum benar di semua kasus penggunaan yang mungkin dilihat oleh WordPress meskipun mungkin akan bekerja untuk situs tertentu.
Ini juga merupakan hal yang bagus untuk disarankan ditambahkan ke WordPress melalui trac yang saya pikir akan saya lakukan nanti malam.
sumber
ketika Anda mendaftarkan jenis posting, Anda dapat meneruskan string sebagai siput dengan parameter "has_archive" dan pastikan Anda juga mengatur penulisan ulang menjadi true atau array tetapi tidak false dan kemudian URL arsip CPT Anda akan menjadi http://www.YOURDOMAIN.com / has_archive_slug misalnya
jika Anda mengatur register_post_type Anda misalnya:
maka url tunggal Anda adalah: http://www.YOURDOMAIN.com/product/postName dan url arsip Anda adalah: http://www.YOURDOMAIN.com/products/
sumber
has_archive
itu boolean, tapi sekarang saya tahu itu bisa diberikan string, jadi tipe posting khusus tunggal sayarecipe
dapat memiliki siput jamak/recipes/
'rewrite'
hanya menerima nilai boolean atau array. Daripada yang'rewrite' => 'product',
telah Anda daftarkan, itu seharusnya'rewrite' => array( 'slug' => 'product' ),
.