반응형
Wordpress에서 관리 메뉴 항목 숨기기
Wordpress의 특정 관리 메뉴 항목을 한 사용자를 제외한 모든 사용자로부터 숨기려고 합니다.
다양한 튜토리얼을 찾을 수 있지만 대부분 사용자 역할보다는 사용자 역할에 숨겨져 있습니다.
워드프레스 코덱스에서 이걸 찾았어요
<?php
function custom_menu_page_removing() {
remove_menu_page( $menu_slug );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
?>
하지만 완전히 이해하지는 못하고, 코드를 기본적으로 다음과 같이 하기 위해 PHP를 추가해야 할 것 같습니다.
사용자가 shaun@seedcreativity.co.uk이 아닌 경우(Me!)
그런 다음 다음 메뉴 항목을 제거합니다.
항목 ID 1, 항목ID 2, 항목ID 3 등...
누구 도와줄 사람?
사용자 ID 를 확인할 수 있습니다.
// admin_init action works better than admin_menu in modern wordpress (at least v5+)
add_action( 'admin_init', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
global $user_ID;
if ( $user_ID != 1 ) { //your user id
remove_menu_page('edit.php'); // Posts
remove_menu_page('upload.php'); // Media
remove_menu_page('link-manager.php'); // Links
remove_menu_page('edit-comments.php'); // Comments
remove_menu_page('edit.php?post_type=page'); // Pages
remove_menu_page('plugins.php'); // Plugins
remove_menu_page('themes.php'); // Appearance
remove_menu_page('users.php'); // Users
remove_menu_page('tools.php'); // Tools
remove_menu_page('options-general.php'); // Settings
}
}
지정된 전자 메일의 Posts 메뉴를 삭제할 수 있습니다.
function custom_menu_page_removing() {
if ( get_currentuserinfo()->user_email != 'shaun@seedcreativity.co.uk' )
remove_menu_page( 'edit.php' );
}
add_action( 'admin_menu', 'custom_menu_page_removing' );
사용자가 적절한 URL(예: /wp-admin/edit)을 추측할 수 있는 경우 삭제된 페이지를 사용할 수 있습니다.php
이 코드를 사용해 보세요.
function remove_menus(){
$current_user = wp_get_current_user();
if( 'shaun@seedcreativity.co.uk' !== $current_user->user_email){
remove_menu_page( 'item1' );
remove_menu_page( 'item2' );
}
}
add_action( 'admin_menu', 'remove_menus' );
item1, item2는 페이지명을 http://test.com/wp-admin/admin.php?page=item1과 같이 지정합니다.
** woocommerce, 마케팅, acf 필드 및 분석 메뉴를 숨기려면 아래 코드를 사용합니다**
add_action( 'admin_init', 'remove_menu_pages' );
function remove_menu_pages() {
global $user_ID;
if ( $user_ID != 1 ) {
remove_menu_page( 'edit.php?post_type=acf-field-group' );
remove_menu_page( 'edit.php?post_type=product' );
remove_menu_page('woocommerce');
remove_menu_page('wc-admin&path=/analytics/overview');
remove_menu_page('woocommerce-marketing');
}
}
언급URL : https://stackoverflow.com/questions/42934129/hiding-admin-menu-items-in-wordpress
반응형
'programing' 카테고리의 다른 글
스프링 보안 및 JSON 인증 (0) | 2023.03.12 |
---|---|
HTML 문자열을 사용자 정의 스타일과 바인딩 (0) | 2023.03.12 |
Google API에 jQuery Post를 보내는 동안 Access-Control-Allow-Origin 오류가 발생했습니다. (0) | 2023.03.12 |
@문자열에서 정수로의 값 주석 유형 (0) | 2023.03.12 |
"JSX 요소에 암묵적으로 "임의" 유형의 오류가 있습니다."를 해결하는 방법 (0) | 2023.03.12 |