Saya memiliki jenis portofolio pos kustom (slug portfolio) dalam tema saya dan semua berfungsi dengan baik kecuali satu hal. Ketika orang membuat halaman dengan slug portofolio, misalnya: example.com/portfolio, tema tersebut mengira saya ingin menggunakan halaman arsip jenis posting khusus, bukan halaman saya yang dibuat di editor.
Dapatkah saya entah bagaimana "memesan" portofolio slug ketika halaman disimpan untuk memastikan itu tidak pernah digunakan, mungkin diubah namanya menjadi portofolio-halaman?
Proyek saya menggunakan metode yang dijelaskan dalam tutorial ini, inilah konflik yang saya maksud:
"Selain harus menambal kode, ada satu tangkapan lain di sini yaitu Anda tidak dapat memanggil siput Halaman Anda dengan hal yang sama dengan siput jenis pos kustom. Pikirkan siput jenis pos kustom sebagai kata kunci yang dipesan; namun, Anda dapat membuat judul Halaman Anda nama yang sama dengan siput tipe posting kustom Anda asalkan siput Halaman Anda adalah sesuatu yang berbeda. " - http://wp.tutsplus.com/tutorials/custom-post-type-pagination-chaining-method/
Terima kasih atas sarannya!
sumber
Jawaban:
2 filter berikut memungkinkan Anda untuk terhubung ketika WordPress memeriksa siput dan ditemukan di fungsi wp_unique_post_slug () di file wp-include / post.php.
Ada 2 filter, satu untuk posting hierarkis dan satu untuk non-hierarkis. Filter hierarki menyediakan ID untuk induk postingan sehingga jika $ post_parent adalah 0, Anda tahu ini adalah postingan "base".
Filter juga meneruskan $ post_type jika Anda ingin menambahkan jenis posting tertentu ke logika Anda.
Dengan mengembalikan "true", Anda memberi tahu WordPress bahwa siput ini buruk sehingga WordPress menambahkan akhiran, sama seperti yang akan dilakukan jika Anda mencoba memberi kami nama pos / siput yang sudah diambil.
sumber
Buat halaman dengan slug 'portofolio' dan jadikan 'Privat'. Ini akan disembunyikan dari publik ketika memesan siput dari penggunaan lebih lanjut.
sumber
Datang persis masalah ini ketika menyelidiki masalah pagination. Kami memiliki beranda Berita (slug "news") dan pagination gagal ... upaya untuk sampai ke / news / halaman / 2 / selalu menghasilkan '404 - Tidak Ditemukan'.
Masalahnya ternyata jenis berita kustom kami juga telah diberi siput "berita". Dengan mengubah yang terakhir (misalnya menjadi "news_archive") masalahnya telah diperbaiki. Ini membuat referensi URL berita asli tidak berubah. Mengubah siput beranda Berita juga berhasil, tetapi kemudian semua URL akan memasukkan siput yang diubah.
sumber