Saya memiliki jenis pos kustom, Pekerjaan, dengan 3 taksonomi di bawahnya di menu Admin.
Salah satu taksonomi adalah Status, yang Aktif atau Tertutup. Saya ingin item menu di bawah Jobs for Active Jobs. Saya membuatnya dengan kode ini
add_submenu_page(
'edit.php?post_type=jobs',
'Active Jobs',
'Active Jobs',
'manage_options',
'edit.php?post_type=jobs&jobstatus=67'
);
Ini berfungsi dengan baik, kecuali bahwa item menu Pekerjaan tetap disorot ketika opsi menu Pekerjaan Aktif aktif. Lihat tangkapan layar
Saya membaca di artikel ini Kelas saat ini pada menu admin menggunakan add_submenu_page () untuk tidak memasukkan slug induk sebagai parameter pertama. Saya tidak tahu cara membuat submenu muncul di bagian nav yang benar ketika saya menghapus slug nama file.
Pada titik ini saya tidak menggunakan fungsi panggilan balik, saya hanya menjalankan URL yang sama dengan opsi submenu Pekerjaan standar, kecuali dengan params kueri yang menyaring posting yang ditampilkan. Jika memindahkan ini ke fungsi panggilan balik akan menyelesaikan masalah, saya bisa melakukannya. Tapi saya tidak tahu apa yang harus dilakukan dalam fungsi callback. Saya ingin menampilkan halaman edit jenis posting kustom standar, hanya dengan filter taksonomi di tempat. terima kasih atas bantuannya
sumber
'edit.php?&post_type=jobs&jobstatus=67'
... yang pertama&
tidak boleh ada di sana, mengikuti?
...Jawaban:
Saya membuat pekerjaan ini menggunakan menu Posting dan status Konsep. Itu bergantung pada jQuery untuk mengubah kelas item daftar. Beradaptasi untuk bekerja dengan jenis dan URL posting Anda.
Ini hasilnya:
sumber
Ini adalah solusi yang baru saja saya buat yang tidak menggunakan jQuery:
Ada filter
parent_file
diwp-admin/menu-header.php
mana berjalan tepat sebelum mengeluarkan menu. Komentar inline mengatakan:Ini hanya filter pada variabel global
$parent_file
dan saya tidak yakin apa fungsinya, tetapi kita akan menggunakan filter ini untuk mengubah variabel global$submenu_file
, yang mengatur submenu yang disorot. Jadi ini akan menjadi solusi dalam kasus Anda:Anda dapat menyesuaikan ini dengan pemformatan url apa pun. Misalnya saya menggunakan format
admin.php?page=my_plugin_slug&action=myaction
untuk sub menu plugin saya jadi saya menggunakan ini untuk menyorot sub menu saya:PS: Saya juga mencoba tindakan
admin_menu
untuk mengatur$submenu_file
, dan itu berhasil dalam kasus saya (halaman plugin kustom / siput) tetapi tidak untukedit.php
sub menu (kasus Anda). Jadi saya mencari tindakan / filter lain yang berjalan kemudian dan itu adalah filterparent_file
.sumber
saya menemukan bahwa Anda juga perlu menggunakan entitas html untuk tautan Anda. karena kamu punya
Anda dapat mencoba dan mengubah ampersand ke entitas html yang setara
jadi Anda akan melakukannya
ini bekerja untuk saya ... saya juga menguji string keluaran untuk menu submenu dan induk dan memeriksa apakah cocok. ini bisa menjadi fungsi utilitas kecil untuk memeriksa hal-hal ini
sumber