Ada posting sebelumnya dengan judul yang mirip, tetapi tidak terlihat di WordPress 3.3, dan itu penting karena 3.3 mengiklankan dengan menarik: "Gunakan struktur permalink postname tanpa penalti kinerja"
Masalah dengan Wordpress 3.2 dan sebelumnya adalah bahwa pertama kali melihat nama halaman, dan kemudian 404. Itu tidak memeriksa jenis posting yang sewenang-wenang terlebih dahulu. 3,3 di sisi lain harus melihat jenis posting, lalu halaman, dan akhirnya 404 (karena mengiklankan fitur ini). Ini menyiratkan bahwa jenis posting khusus tanpa siput harus sederhana , jika tidak ada kode yang sulit di post_type=post
suatu tempat.
Saya belum menemukan solusi spesifik 3.3.
Pertanyaan : Bagaimana saya bisa mendefinisikan permalink struct "/% postname% /" untuk setiap jenis posting kustom "xyz"?
Terima kasih.
sumber
Jawaban:
Ini tidak mudah dilakukan di WP 3.3 kecuali Anda mengelabui aturan penulisan ulang berada di tempat yang benar dan membuat wp_rewrite berpikir aturan verbose digunakan di ujung depan. Kelas di bawah ini berfungsi.
sumber
Kunci mobil suci!
Saya pikir ini berhasil. Hampir berfungsi, sangat sederhana, hanya satu baris:PS Jika Anda mencoba ini di rumah, setelah menambahkan satu baris ini Pergi ke "Pengaturan" -> "Permalinks" dan Simpan Perubahan, itu menyegarkan permalinks.
Saya sedang membaca
register_post_type()
kode sumber WP dan menemukan sebuah baris:Tak perlu dikatakan, tetapi tanpa siput saya menyimpulkan itu harus bekerja,
dan itu berhasil. Bahkan pengeditan tautan permanen di bawah judul di editor berfungsi dengan benar!Pembaruan: Ini merusak permalinks halaman, kembali ke papan gambar ...
sumber
Jawaban prettyboymp hampir sama dengan yang saya dapatkan kemarin, tapi saya tidak senang dengan itu. Jawaban prettyboymp memiliki satu kelemahan, itu tidak berfungsi ketika /% postname% / sedang digunakan secara bersamaan pada beberapa tipe posting.
Inilah jawaban saya, yang juga melihat struktur saat ini, dan membuat berbagai jenis posting untuk mundur. Ada satu kelemahan dalam hal ini juga, jika dua tipe posting memiliki siput yang sama dan keduanya adalah /% postname% / maka itu menunjukkan keduanya.
sumber
Saya membuat solusi dan saya tidak bisa menemukan masalah dengannya. Silakan coba dan beri tahu saya jika Anda menemukan masalah
Ubah 'yemek' dengan nama tipe tulisan Anda.
sumber
Tautan ini harus menjawab pertanyaan Anda:
http://ottopress.com/2011/how-the-postname-permalinks-in-wordpress-3-3-work/
sumber
Jawaban terbersih yang dapat saya berikan untuk ini (saya membangun sebuah plugin yang benar-benar membutuhkan jenis posting khusus tanpa siput terkemuka) adalah dengan menggunakan templat halaman khusus alih-alih menggunakan jenis posting khusus.
Dengan melakukan ini, "tipe posting khusus" Anda dapat memiliki url seperti / apa pun tanpa harus khawatir melangkah di halaman atau memposting permalinks.
Untuk melakukan ini, saya akhirnya melakukan hal berikut:
Ini memungkinkan saya untuk:
Tarik daftar halaman yang menggunakan templat halaman menggunakan WP_Query
Tambahkan pemrosesan khusus dengan menghubungkan ke add_meta_boxes untuk menyimpan data khusus saya
Tambahkan templat khusus saya ke yang ditampilkan dengan memfilter page_attributes_dropdown_pages_args, theme_page_templates, wp_insert_post_data, dan template_include lihat posting ini tentang menambahkan templat halaman ke plugin
Sisi bawah
Tentu saja, sementara ini tidak menginjak tautan halaman atau posting, itu memang memiliki beberapa kelemahan jelas.
Tanpa arsip Anda tidak akan memiliki arsip (jika Anda mau), meskipun itu dapat diselesaikan dengan membuat templat halaman lain untuk menggambar arsip semua halaman menggunakan templat khusus Anda.
Dikelola di bawah Halaman Anda tidak mendapatkan navigasi sebelah kiri yang bagus di admin yang mengelompokkan semua jenis posting secara bersamaan.
Ini sebagian dapat diselesaikan dengan menambahkan filter ke daftar halaman (untuk membiarkan Anda memfilter dengan templat halaman yang digunakan), menampilkan templat halaman apa pun yang digunakan dalam kolom baru, dll.
Yang sedang berkata, saya ingin sesuatu yang tidak akan menyebabkan pengguna bertanya-tanya mengapa mereka membuat halaman kustom baru dan menemukan bahwa mereka tidak bisa lagi mencapai halaman normal atau halaman kustom baru menyebabkan halaman yang ada di situs mereka menghilang.
Saya tahu ini bukan solusi nyata , tetapi ini adalah alternatif yang bekerja sangat baik untuk kebutuhan saya.
sumber