Adakah yang tahu cara menambahkan pemisah menu admin? Saya menemukan ini tetapi tidak membantu.
Ada ide?
admin
admin-menu
pengguna1147
sumber
sumber
Jawaban:
Ini cara cepat dan kotor untuk mendapatkan yang Anda inginkan.
Latar Belakang
WordPress menyimpan bagian menu admin dalam array global bernama
$menu
. Untuk menambahkan pemisah Anda menambahkan elemen ke$menu
array menggunakan indeks yang berada di antara indeks opsi yang ingin Anda pisahkan.Menggunakan
add_admin_menu_separator()
fungsiJadi saya sudah menulis fungsi untuk merangkum logika untuk ini yang saya sebut
add_admin_menu_separator()
. Anda harus memilih nomor indeks array yang lebih tinggi dari opsi yang ingin Anda tambahkan pemisah, lalu panggil fungsi yangadd_admin_menu_separator()
menyampaikan indeks tersebut sebagai parameter Anda.Sebagai contoh:
The
add_admin_menu_separator()
fungsi itu sendiriBerikut definisi fungsi
add_admin_menu_separator()
yang dapat Anda salin kefunctions.php
file tema Anda . Ya itu misterius tapi kemudian kode yang membuat dan menggunakan$menu
array global . (Beruntung akhirnya rencana itu akan ditinggalkan, tapi itu mungkin beberapa tahun.)Menemukan indeks ke dalam
$menu
yang Anda butuhkanUntuk mengetahui nomor indeks apa yang Anda butuhkan, Anda dapat melakukan
var_dump()
dari$GLOBALS['menu']
dari dalam sebuahadmin_init
kait. Berikut adalah sedikit kode yang dapat Anda masukkan kefunctions.php
file tema sementara untuk melihat nilainya. Ini hanya akan berfungsi ketika meminta URL dimulai dengan/wp-admin/
(tetapi pastikan untuk melakukannya dengan FTP dan bukan editor tema bawaan atau Anda akan kehilangan akses ke situs Anda, setidaknya sampai Anda mendapatkan akses FTP kefunctions.php
file tema Anda !) :Lihat juga:
BTW, Anda mungkin menemukan tautan ini berguna secara umum untuk bekerja dengan menu admin:
wp-admin-menu-classes.php
Meskipun kelas menu admin saya saat ini tidak menawarkan cara mudah untuk menambahkan pemisah, saya pikir saya sekarang akan menambahkan itu ketika saya punya waktu.
sumber
Sangat mudah:
Catatan: Posisi pemisah default (
$menu[4]
) dapat berbeda tergantung dari konfigurasi yang Anda (atau plugin Anda) lakukan sebelum kail ini.Tentu saja, Anda juga dapat men-tweak
menu-top-first
danmenu-top-last
mengintrospeksi kelas.sumber
Seandainya beberapa masalah dengan pemisah tidak ditambahkan, itu karena cara wordpress menghapus pemisah duplikat. Menambahkan
ksort($menu);
ke bagian bawah fungsi memperbaiki masalah.sumber
Ini didasarkan pada jawaban MastaBaba, tetapi tidak menggantikan apa pun pada posisi yang Anda tentukan - hanya menambah pemisah sesudahnya.
Juga menggunakan fungsi anonim sehingga hanya kompatibel dengan PHP versi 5.3 dan di atasnya.
sumber
Agak sulit untuk menentukan apa yang Anda coba lakukan, tetapi saya pikir Anda ingin menambahkan entri tingkat atas di menu admin WordPress.
Lihat dokumentasi ini di WordPress Codex.
Singkatnya, Anda mencari penggunaan
add_menu_page()
fungsi, yang mengambil sejumlah argumen dan menampilkan item tambahan dalam menu administratif sebagai saudara dari "Dasbor", "Kiriman", "Media", dll.Semoga saya benar. :-)
sumber
add_menu_page()
.Di bawah ini iklan tindakan ke Wordpress yang dijalankan ketika menu admin diberikan. Menu admin adalah array dan semua yang Anda lakukan, di sini, adalah menambahkan elemen array yang mendefinisikan pemisah, di posisi yang Anda tentukan.
Dari sini :
Perhatikan bahwa, meskipun ini agak mirip dengan jawaban yang saat ini diterima, jawaban yang saat ini diterima tidak bekerja untuk saya (dan, menilai dari komentar, untuk beberapa orang lain).
sumber