Untuk pengguna WordPress self hosted yang mengizinkan member bisa melihat halaman admin backend dashboard saat pengguna sedang login sebagai contributor, subscriber ataupun author, mungkin saja kamu ingin agar menu post seperti All, Published, Draft dan Pending tidak ingin terlihat maupun dapat diakses mereka.
Untuk menghapus atau menyembunyikan menu tersebut tanpa menggunakan plugin dengan meng-edit dan menambahkan script di file functions.php template wordpress kamu. Berikut caranya tanpa perlu menggunakan plugin.
1. Masuk ke menu Appearance – Editor – Functions.php
2. Tambahkan script berikut ini di bawah <?php
function mine_published_only($views) { unset($views['all']); unset($views['draft']); unset($views['pending']); unset($views['publish']); unset($views['future']); unset($views['sticky']); unset($views['trash']); return $views; } function only_own_posts_parse_query( $wp_query ) { if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) { global $current_user; $wp_query->set( 'author', $current_user->id ); } } if (current_user_can('contributor') || current_user_can('author')) { add_filter('views_edit-post', 'mine_published_only'); add_filter('parse_query', 'only_own_posts_parse_query' ); }
3. Jika sudah ditambahkan kemudian simpan/update file.
Hasilnya akan seperti berikut ini.:
Sebelum.
Sesudah.
Keterangan kode:
unset($views[‘draft’]); merupakan perintah yang digunakan untuk menyembunyikan menu draft di post.
Fungsi script di atas untuk memblokir atau menyembunyikan menu dari user “Contributor” dan “Author”. Silakan di ganti atau ditambahkan bila ingin menambah user lainnya.
(current_user_can('contributor') || current_user_can('author'))
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
sedangkan agar member benar-benar tidak bisa mengakses halaman draft, published, trash dan lainya.