TianDev

Ẩn, xóa menu trên WordPress

Posted: September 27, 2019 by anhkevin

Khi code dự án sử dụng WordPress, sẽ có trường hợp bạn muốn ẩn một số menu nào đó vì một số lý do:

  • Chức năng menu đó không sử dụng đến.
  • Khách hàng muốn ẩn Menu vì … vv.
  • ….. có hàng tá lý do, nếu bạn muốn ẩn menu trên trang quản lý wordpress

Bạn có thể tham khảo ví dụ ẩn menu "Comments"  dưới đây:

- Ẩn menu "Comments" trên trang Admin:

<?php
function remove_menu_comment() {
    remove_menu_page( 'edit-comments.php' ); //Comments 
} 
add_action( 'admin_menu', 'remove_menu_comment' ); 
?>

Trường hợp ẩn submenu thì sử dụng: remove_submenu_page( ‘link menu cha’, ‘link của submenu’ );

Tuy nhiên cái ví dụ trên chỉ ẩn trên menu thôi, nếu gõ link trực tiếp trên browser thì vẫn truy cập được.Nếu không muốn truy cập vào đó nữa thì có thể redirect đến trang khác => tham khảo ví dụ dưới:

<?php
// redirect đến trang chủ admin khi vào link domain.com/wp-admin/edit-comments.php 
function restrict_admin_with_redirect() { 
    $restrictions = array( '/wp-admin/edit-comments.php' ); 
    foreach ( $restrictions as $restriction ) { 
        if ( $_SERVER['PHP_SELF'] == $restriction ) { 
            wp_redirect( admin_url() ); 
            exit; 
        } 
    } 
} 
add_action( 'admin_init', 'restrict_admin_with_redirect' ); 
?>

Note: Ví dụ trên chỉ hướng dẫn xóa menu trên trang Admin thôi, các phần liên quan khác Admin thì không áp dụng.

Ngoài ra: xóa được, thì thêm được menu mới vào. Nhưng bài viết này chỉ hướng dẫn cách xóa thôi. Tham khảo các hàm khác liên quan tại đây: https://codex.wordpress.org/Administration_Menus