Cara Menghapus Item Menu Admin WordPress Secara Terprogram Tanpa Plugin

Diterbitkan: 2020-01-20

Cara Menghapus Item Menu Admin WordPress secara terprogram Menu dasbor WordPress adalah cara yang sangat berguna untuk menjelajahi berbagai bagian dasbor admin, tetapi terkadang menu tersebut dapat mengganggu atau tidak diinginkan. Secara khusus, ketika Anda menggunakan WordPress sebagai sistem manajemen konten untuk membuat situs web klien sebagai lawan dari blogging, Anda perlu menghapus item menu admin WordPress yang tidak diperlukan.

Salah satu cara termudah untuk menghapus item menu admin WordPress adalah menggunakan plugin yang tersedia secara bebas yang dapat menyembunyikan item menu admin berdasarkan peran pengguna, atau secara kondisional.

Kapan Tidak Menghapus Item Menu Admin WordPress menggunakan Plugin

Kelemahan menggunakan plugin untuk menghapus item menu admin WordPress mungkin terlalu bergantung pada pengembang plugin pihak ketiga untuk pembaruan yang konsisten.

Risiko Plugin Pihak Ketiga

Dalam hal ini, ketika Anda ingin mengontrol menu mana yang ditampilkan di dashboard WordPress Anda tanpa menggunakan plugin, tutorial ini adalah panduan terbaik untuk Anda.

Pembaruan Konstan

Alasan lain untuk menghapus item menu admin WordPress secara terprogram adalah pembaruan konstan yang Anda miliki di semua plugin WordPress yang Anda instal.

Pembaruan ini penting karena mereka meningkatkan pengalaman pengguna, kinerja, dan keamanan tetapi mereka bisa terlalu rumit terutama ketika Anda berurusan dengan sejumlah besar situs web klien.

Beberapa Menu Admin Plugin

Ketika Anda memiliki begitu banyak plugin yang diinstal di situs Anda, sebagian besar datang dengan menu admin dan Anda mungkin ingin menghapus menu karena Anda tidak terus-menerus menggunakan menu admin.

Dalam posting ini, saya akan menggambarkan cara menghapus item menu WordPress tanpa menggunakan plugin. Bagi Anda untuk menerapkan ini di situs WordPress Anda, Anda memerlukan sedikit pengalaman mengedit situs WordPress terutama menambahkan potongan kode ke file tema functions.php.

Hapus Item Menu Admin WordPress Secara Terprogram

Saya suka memulai dengan ringkasan cepat karena memudahkan pembaca mencari solusi cepat dalam panduan langkah demi langkah. Berikut ini adalah langkah-langkah yang harus Anda ambil untuk menghapus item menu admin WordPress.

  1. Masuk ke situs WordPress Anda dan identifikasi item menu admin yang ingin Anda hapus
  2. Buat kait tindakan yang mengaitkan acara admin_menu dengan fungsi panggilan balik yang memiliki logika untuk menghapus menu admin WordPress dari dasbor Anda.
  3. Fungsi callback harus menggunakan fungsi remove_menu_page atau remove_submenu_page() WordPress untuk menghapus setiap item menu admin yang ditargetkan. Misalnya, Anda dapat menghapus menu widget dari menu tema menggunakan kode ini remove_submenu_page( 'themes.php', 'widgets.php'); atau hapus menu utama dashboard dengan kode ini – remove_menu_page('index.php');
  4. Atau, Anda dapat menggunakan fungsi unset() php dan mengakses nilai larik submenu global untuk menghapus setiap item menu admin WordPress yang ditargetkan.
  5. Tambahkan cuplikan kode ini ke fungsi tema.php dan perbarui perubahannya. Ini akan berhasil menghapus item menu admin WordPress tanpa menggunakan plugin.
  6. Anda juga dapat menambahkan kode ini ke fungsi di plugin khusus Anda dan itu akan berfungsi saat berfungsi di fungsi tema.php

Cara Menghapus Menu Admin WordPress tanpa Plugin

Berikut ini adalah pendekatan langkah demi langkah terperinci untuk menghapus item menu admin WordPress dengan menambahkan kode alih-alih menggunakan plugin lain.

Identifikasi Item Menu Admin Slug

Masuk ke dasbor WordPress Anda dan periksa item menu admin yang ingin Anda hapus. Seperti yang Anda lihat dalam contoh ini, menu dasbor utama memiliki slug index.php .

Siput ini penting karena merupakan salah satu parameter yang Anda tambahkan ke fungsi remove_submenu_page() , seperti yang akan saya ilustrasikan segera.

hapus menu admin wordpress

Memahami Cara Menghapus Halaman dan Menghapus Fungsi Halaman Submenu Bekerja

Hapus Fungsi Halaman

Fungsi remove_menu_page hadir dengan hanya satu parameter yaitu slug halaman dan menghapus menu admin tingkat atas. Parameternya adalah string karena itu adalah slug halaman yang jelas merupakan string dan kode umumnya harus sebagai berikut:

 hapus_menu_page( string;$menu_slug;)

Hapus Fungsi Subhalaman

Fungsi remove_submenu_page hadir dengan dua parameter yang pertama adalah slug dari menu induk saat Anda menghapus submenu dan yang kedua dari slug dari submenu yang ingin Anda hapus. Kode umum harus sebagai berikut:

 remove_submenu_page( string $menu_slug, string $submenu_slug )

Buat Kait Tindakan untuk Menghapus Menu Admin dan atau Item Submenu

Berikut ini adalah contoh dari action hook yang mengaitkan event admin_menu dan memiliki fungsi callback yang kami beri nama ' remove_admin_menu_items'

 add_action('admin_menu', 'remove_admin_menu_items', 999);

Buat Fungsi Panggilan Balik untuk Menghapus Menu Admin dan atau Item Submenu dengan remove_submenu_page dan remove_menu_page()

Pertama, dalam fungsi panggilan balik, Anda perlu mendapatkan larik menu global dengan variabel $submenu global jika Anda akan menggunakan fungsi unset() .

Kedua, Anda menambahkan fungsi remove_submenu_page atau remove_menu_page() yang menargetkan halaman yang ingin Anda hapus seperti yang ditunjukkan pada kode di bawah ini:

 fungsi hapus_admin_menu_items() {        

    remove_submenu_page( 'menu_slug', 'submenu_slug'); 

}

Atau menggunakan unset Anda dapat memiliki fungsi panggilan balik berikut

 fungsi hapus_admin_menu_items() {

        global $submenu; 

       unset($submenu['parent menu slug'][admin item submenu array index]);

 }

Contoh Cara Menghapus Item Menu Admin Pembaruan

Saat Anda masuk ke dasbor WordPress Anda, ada item menu tentang pembaruan yang terletak di bawah menu dasbor utama seperti yang ditunjukkan pada gambar di bawah ini:

hapus menu admin wordpress

Saya akan mengilustrasikan bagaimana Anda dapat menghapus item menu admin ini menggunakan metode yang dibahas di atas. Pertama, slug menu induk adalah index.php dan slug untuk menu pembaruan adalah update-core.php

Hapus Item Menu Admin WordPress Induk dan Submenu

Jadi Anda dapat membuat kait tindakan dan fungsi panggilan balik untuk menghapus seluruh item menu menggunakan fungsi remove_menu_page() sebagai berikut:

 // Hapus item menu utama bersama dengan subhalaman /submenu

add_action('admin_menu', 'remove_admin_menu_items', 999);

 fungsi hapus_admin_menu_items() {

    remove_menu_page('index.php');


 }

Ini akan menghapus seluruh menu dan submenu seperti yang ditunjukkan pada gambar di bawah ini:

Hapus Item Submenu WordPress Saja

Hapus Item Submenu WordPress Saja

Anda dapat membuat kait tindakan dan fungsi panggilan balik untuk menghapus item submenu menggunakan fungsi remove_submenu_page sebagai berikut:

 //Hapus subhalaman atau submenu

add_action('admin_menu', 'remove_admin_menu_items', 999);

fungsi hapus_admin_menu_items() {

    remove_submenu_page('index.php','update-core.php' );

}

Ini akan menghapus submenu yang ditentukan dalam parameter kedua dari fungsi remove_submenu_page, dalam hal ini, kami menetapkan sebagai ' update-core.php' dan hasilnya seperti yang ditunjukkan pada gambar di bawah ini:

Menggunakan Unset() Fungsi PHP

Kita juga dapat menggunakan fungsi PHP yang tidak disetel untuk menghapus item submenu dan dalam hal ini, kita harus terlebih dahulu mengakses array $submenu global seperti yang ditunjukkan pada kode di bawah ini:

 //tambahkan kait tindakan ke acara admin_menu

add_action('admin_menu', 'remove_admin_menu_items', 999);

//fungsi panggilan balik
fungsi hapus_admin_menu_items() {

    //Array menu Admin->Daftar semua item menu admin WordPress ada dalam larik ini
    global $submenu;

    //cetak array ke layar sehingga kita dapat melihat item menu admin berdasarkan indeks
    
     print('<pra>');
     print_r($submenu);
     print('<pra>');

      // kami menghapus semua yang ditampilkan di layar sehingga hanya melihat larik item menu admin
      mati();

}

Kode ini memegang larik submenu global dan kami mencetaknya untuk menampilkan larik semua menu sehingga kami dapat memilih indeks setiap item menu admin lalu menghapusnya sesuai keinginan.

Dalam kode ini, Anda dapat melihat penggunaan tag awal dan fungsi die() untuk menampilkan kode dalam format yang dapat dibaca.

Menggunakan Unset() PHP Fungsi wordpress

Hapus item Menu Submenu WordPress menggunakan Unset

Jadi indeks array untuk submenu update-core adalah 10 . Jadi kita bisa melanjutkan dan menggunakan fungsi unset() sebagai berikut:

 // Hapus item menu utama bersama dengan subhalaman menggunakan unset

add_action('admin_menu', 'remove_admin_menu_items', 999);

fungsi hapus_admin_menu_items() {

    global $submenu;

       unset($submenu['index.php'][0]); //hapus menu tingkat atas index.php (menu dasbor - menu Beranda)
      unset($submenu['index.php'][10]); // hapus submenu update-core.php (menu update)


}

Hasilnya akan sama dengan menggunakan fungsi remove_submenu_page WordPress.

Hapus item Menu Admin WordPress menggunakan Unset

Kami juga dapat menghapus halaman tingkat atas dan submenu bersama-sama menggunakan fungsi yang tidak disetel yang menargetkan setiap halaman ini:

Hapus item Menu Admin WordPress menggunakan Unset

Kode harus sebagai berikut:

 //. Hapus item submenu utama menggunakan unset

add_action( 'admin_menu', 'remove_admin_menu_items', 999 );

fungsi hapus_admin_menu_items() {

   global $submenu;

   unset($submenu['index.php'][10]);


}

Hasilnya adalah menghapus salah satu halaman karena kami tidak menyetel kode:

Cara Menghapus Item Menu Admin WordPress Secara Terprogram tanpa plugin

Membungkus

Dalam posting ini, kami telah membahas secara luas dua cara utama yang dapat Anda gunakan untuk menghapus item menu admin WordPress dan Anda membersihkan dasbor WordPress Anda. Jika Anda seorang pengembang WordPress, Anda dapat menggunakan kembali kode ini dan menyalinnya dengan mudah . Periksa intisari saya dan Anda dapat mengikuti saya di GitHub untuk pembaruan lebih lanjut di masa mendatang. Saya juga telah membagikan beberapa cuplikan lainnya di sini – WP-Snippets . Saya harap Anda sekarang dapat menghapus item admin WordPress yang tidak Anda inginkan dari menu Anda.