Cara menghapus siput dari tipe kustom hierarkis di 3.5.2

8

Saya tahu itu tidak disarankan dan ada banyak diskusi tentang argumen ini di luar sana. Sayangnya, setelah seminggu mencoba dan menguji, saya belum berhasil menghapus siput dari tipe kustom saya. Inilah situasinya:

Struktur url yang saya butuhkan

  • post / blog / my-blog-post [ok!]
  • halaman / induk-layanan / layanan [ok!]
  • portfolio / portfolio / my-first-work [ok!]
  • static / parent-static-page / static-page [<<< --- inilah masalahnya]

Konfigurasi saya

  • Wordpress 3.5.2
  • Jenis khusus 'statis': hierarkis; tanpa aturan 'tulis ulang'.
  • Jenis 'portofolio' khusus: tidak hierarkis; 'rewrite' => array ('with_front' => false)
  • Struktur permalink: / blog /% postname% /
  • Sebagai halaman depan saya mengatur halaman statis 'blog'

Masalah

  • posting blog / my-blog-post [ok!]
  • halaman / situs web / situs web dinamis [ok!]
  • portfolio / portfolio / my-first-work [ok!]
  • static / who-i-am / terms [<<< --- inilah masalahnya]

Apa yang saya coba

Tidak ada

Pada awalnya, seperti yang diharapkan, url dari pos 'statis' "Halaman pengujian saya" adalah / blog / static / my-test-page

'rewrite' => array ('slug' => '', 'with_front' => false)

Saya telah menghapus bagian depan dari url ... bagus! Sekarang saya sudah / static / my-test-page

'rewrite' => array ('slug' => false, 'with_front' => false)

Itu tidak menghapus siput. Saya memiliki / static / my-test-page .

'rewrite' => array ('slug' => '/', 'with_front' => false)

Ini menghapus siput! Sekarang saya memiliki / my-test-page . Sayangnya semua halaman mengembalikan saya kesalahan 404 .

Plugin 'Hapus siput dari jenis pos khusus'

Meskipun hanya berfungsi jika struktur permalink saya adalah /% postname%, saya sudah mencoba menginstal plugin ini dan mengubah struktur permalink saya untuk melakukan tes. Ini bekerja, tetapi sayangnya tidak menghormati sifat hierarkis tipe 'statis' saya.

Tutorial oleh Joakin Lim

Itu tidak bekerja. Secara khusus, setelah menambahkan function book_rewrite_rule()dikatakan bahwa jenis kustom saya sekarang akan dapat diakses dari / my-test-page serta / static / my-test-page , tetapi tidak berfungsi untuk saya. Saya hanya dapat mengakses dari / static / my-test-page . Saya sudah mencoba juga untuk menerapkan semua tutorial, juga melakukan beberapa perubahan dan tes, tetapi tidak berhasil

Tutorial dari vip.wordpress

Jika saya mengubah 'acara' dengan 'statis' di kedua fungsi, saya dapat mengakses halaman saya dari blog / parent-page / my-test-page . Jika saya menambahkan 'rewrite' => ('with_front' => false) semuanya brokes dan saya hanya dapat mengakses dari halaman statis / parent-page / my-test-page

Solusi dan tes lainnya

Sayangnya, dengan reputasi saya yang sebenarnya, saya tidak dapat menautkan lebih dari dua tautan. Tapi saya sudah mencoba juga solusi yang ditemukan di ryansechrest.com, shibashake.com dan - tentu saja - SEMUA pertanyaan yang diposting di portal ini sebelumnya. Tentu saja setiap kali saya menghapus semua aturan permalink, mengunjungi halaman pengaturan, menyimpan opsi, mengubahnya dua kali dan menyimpannya lagi, menggunakan global $wp_rewrite; $wp_rewrite->flush_rules();. Saya sudah mencoba banyak kombinasi dengan array 'tulis ulang' dan berbagai solusi di atas.

Apakah Anda punya saran?

Marco Panichi
sumber
1
Menghidupkan kembali pertanyaan yang diajukan soooo dulu (pertanyaan bagus BTW). Apakah Anda pernah menemukan solusinya? Mungkinkah solusinya menggunakan jenis halaman WP default dan menggunakan templat halaman khusus?
Jen
Hai @guiniveretoo, saya masih belum menemukan solusi. Di situs web saya, saya menerapkan percobaan: Saya akan mengonversi semua jenis posting khusus saya (portofolio, alat, info) dan semua posting di halaman. Dengan cara itu saya akan menyederhanakan struktur dan URL. Lalu saya akan menentukan halaman dengan bidang meta; juga ujung depan akan menghasilkan lebih sederhana.
Marco Panichi

Jawaban: