Saya telah bermain-main / mencari selama berjam-jam dan masih tidak bisa bekerja, jadi saya akhirnya menyerah dan meminta bantuan.
Saya mencoba menulis custom walker yang hanya menampilkan halaman anak saat ini, atau jika tidak ada anak yang menampilkan halaman saudara.
Misalnya, ambil susunan menu berikut:
- 1.0
- 1.2.0
- 1.3.0
- 1.3.1
- 1.3.2
- 1.2.1
- 1.2.2
- 1.2.0
- 2.0
Mari kita asumsikan bahwa saya ada di halaman saat ini 1.2.0. Di halaman ini saya ingin menampilkannya anak-anak (1.3.0, 1.3.1, 1.3.2)
namun, jika saya ada di halaman 1.2.2, karena tidak memiliki anak, ia harus menampilkan saudara kandungnya saat ini, jadi itu harus ditunjukkan kepada saya (1.2.0, 1.2.1, 1.2.2).
Jawaban:
Ini adalah alat bantu yang saya gunakan untuk menampilkan hanya anak-anak dari item menu saat ini. Atau menu item saudara kandung jika tidak memiliki anak sendiri.
Ada komentar di seluruh kelas yang menjelaskan setiap bagian
Lampirkan seperti yang Anda lakukan dengan walker khusus lainnya di wp_nav_menu
sumber
Saya memiliki pengalaman serupa. Anda mungkin ingin berpikir tentang memindahkan halaman logika keluar dari alat bantu jalan. Pada dasarnya, kompilasi hierarki halaman saat ini sebagai objek. Kemudian gunakan parameter 'kecualikan' di fungsi wp_nav_menu. Sekarang halaman yang dikecualikan akan tergantung pada apakah halaman saat ini memiliki anak. Jika tidak ada anak yang menunjukkan saudara laki-laki; jika anak-anak &&& anak-anak itu adalah akhir dari garis perlihatkan saudara dan anak; jika anak-anak && dan cucu ada, singkirkan saudara dan tunjukkan anak-anak dan cucu.
sumber
exclude
parameter ini yang Anda rujuk? Saya melihat dokumentasi dan tidak melihat referensi untuk itu.wp_list_pages()
dalam konteks ini, jadi itu ide yang menarik.