νƒœκ·Έ 보관물: wp-admin

wp-admin

ν”ŒλŸ¬κ·ΈμΈμ— μ˜ν•΄ μ‚½μž… 된 κ΄€λ¦¬μž 메뉴 νŽ˜μ΄μ§€λ₯Ό μ œκ±°ν•˜λŠ” 방법?

κ΄€λ¦¬μž μ˜μ—­ λ‚΄μ—μ„œ μ‚¬μš©λ˜μ§€ μ•Šμ„ λ§Žμ€ 것듀을 μ •λ¦¬ν•˜λŠ” λ‹€μŒ μ½”λ“œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

add_action( 'admin_menu', 'my_remove_menu_pages' );

function my_remove_menu_pages() {
  remove_menu_page( 'edit.php' );                   //Posts
  remove_menu_page( 'upload.php' );                 //Media
  remove_menu_page( 'edit-comments.php' );          //Comments
  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

};

κ·ΈλŸ¬λ‚˜ ν”ŒλŸ¬κ·ΈμΈμ—μ„œ μ‚½μž… 된 두 개의 메뉴 ν•­λͺ©μ΄ μžˆμŠ΅λ‹ˆλ‹€.

각 메뉴 ν•­λͺ© μœ„λ‘œ 마우슀λ₯Ό κ°€μ Έ κ°€λ©΄ 링크가 λ‹€μŒκ³Ό 같이 ν‘œμ‹œλ©λ‹ˆλ‹€.

/wp-admin/edit.php?post_type=acf
/wp-admin/admin.php?page=wpcf7

이 메뉴 νŽ˜μ΄μ§€λ₯Ό μˆ¨κΈ°λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?



λ‹΅λ³€

μ˜¬λ°”λ₯Έ 후크 (URL / μŠ¬λŸ¬κ·Έμ™€ 항상 λ™μΌν•˜μ§€λŠ” μ•ŠμŒ)λ₯Ό μ‚¬μš©ν•΄μ•Όν•˜λ©° λ‚˜μ€‘μ— μ‹€ν–‰λ˜λŠ” 후크 (예 :)λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 λ¬Έμ œκ°€λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ admin_init.

add_action( 'admin_init', 'wpse_136058_remove_menu_pages' );

function wpse_136058_remove_menu_pages() {

    remove_menu_page( 'edit.php?post_type=acf' );
    remove_menu_page( 'wpcf7' );
}

λ‹€μŒμ„ μ‚¬μš©ν•˜μ—¬ 디버깅 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

add_action( 'admin_init', 'wpse_136058_debug_admin_menu' );

function wpse_136058_debug_admin_menu() {

    echo '<pre>' . print_r( $GLOBALS[ 'menu' ], TRUE) . '</pre>';
}

Contact Form 7 ν”ŒλŸ¬κ·ΈμΈ 메뉴 νŽ˜μ΄μ§€μ— λŒ€ν•΄ λ‹€μŒκ³Ό 같이 μ„€μ •ν•©λ‹ˆλ‹€.

[27] => Array
        (
            [0] => Formular
            [1] => wpcf7_read_contact_forms
            [2] => wpcf7
            [3] => Contact Form 7
            [4] => menu-top menu-icon-generic toplevel_page_wpcf7 menu-top-last
            [5] => toplevel_page_wpcf7
            [6] => none
        )

ν‚€ 2κ°€μžˆλŠ” λ°°μ—΄ μš”μ†Œ λŠ” 당신이 μ°Ύκ³ μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€ : wpcf7.


λ‹΅λ³€

    // PLUGINS THAT ADD AS DASHBOARD SUBMENU
    // IF THIS IS THE URL BELOW - THE PAGE VARIABLE IS WHAT I NEED ( SO WHATEVER COMES AFTER PAGE= )
    // http://example.com/wp-admin/index.php?page=iconize-plugin-update-notifier
    remove_submenu_page( 'index.php', 'iconize-plugin-update-notifier' );

    // OR FOR EXAMPLE WOOCOMMERCE DASHBOARD SUBMENU
    remove_submenu_page( 'index.php', 'wc-about' ); //WOO
    remove_submenu_page( 'index.php', 'wc-credits' ); //WOO
    remove_submenu_page( 'index.php', 'wc-translators' ); //WOO

    // CUSTOM POST TYPE TOP LEVELS
    remove_menu_page( 'edit.php?post_type={$POST_TYPE}' ); //LOOK FOR WHAT COMES AFTER POST TYPE IN THE URL
    remove_menu_page( 'edit.php?post_type=testimonials-widget' ); //TESTIMONIALS WIDGET
    remove_menu_page( 'edit.php?post_type=product' ); //WOOCOMMERCE

    // CUSTOM POST TYPE SUBMENU
     remove_submenu_page( 'edit.php?post_type={$POST_TYPE}', '{$SUBMENU_URL_VARIABLE}' ); //EXAMPLE FORMAT
     // SO IF BELOW IS THE URL
     // http://example.com/wp-admin/edit.php?post_type=testimonials-widget&page=testimonialswidget_settings
     // YOU NEED TO SEE WHATS AFTER PAGE
     remove_submenu_page( 'edit.php?post_type=testimonials-widget', 'testimonialswidget_settings' ); //TESTIMONIALS WIDGET

    // OTHER EXAMPLES
    remove_menu_page( 'revslider' ); // REVSLIDER
    remove_menu_page( 'woocommerce' ); // WOOCOMMERCE
    remove_menu_page( 'order-post-types-shop_order' ); // WOOCOMMERCE
    remove_menu_page( 'order-post-types-shop_coupons' ); // WOOCOMMERCE
    remove_menu_page( 'shortcodes-ultimate' ); // SHORTCODES ULTIMATE
    remove_menu_page( 'wp-admin-microblog/wp-admin-microblog.php' ); // ADMIN MICROBLOG
    remove_menu_page( 'snippets' ); //CODE SNIPPETS
    remove_menu_page( 'gf_edit_forms' ); // GRAVITY FORMS
        remove_submenu_page( 'gf_edit_forms', 'gf_settings' ); // GRAVITY FORMS
        remove_submenu_page( 'gf_edit_forms', 'gf_export' ); // GRAVITY FORMS
        remove_submenu_page( 'gf_edit_forms', 'gf_update' ); // GRAVITY FORMS
        remove_submenu_page( 'gf_edit_forms', 'gf_addons' ); // GRAVITY FORMS
        remove_submenu_page( 'gf_edit_forms', 'gf_help' ); // GRAVITY FORMS

        remove_submenu_page( 'cleverness-to-do-list', 'cleverness-to-do-list-settings' ); //Cleverness TODO

당신은 당신이 ν•„μš”λ‘œν•˜λŠ” λͺ¨λ“  정보λ₯Ό μ–»κΈ° μœ„ν•΄ λ‹€μŒκ³Ό ν•¨κ»˜μ΄ λͺ¨λ“  것을 디버깅 ν•  수 μžˆμŠ΅λ‹ˆλ‹€ :

if (!function_exists('debug_admin_menus')):
function debug_admin_menus() {
if ( !is_admin())
        return;
    global $submenu, $menu, $pagenow;
    if ( current_user_can('manage_options') ) { // ONLY DO THIS FOR ADMIN
        if( $pagenow == 'index.php' ) {  // PRINTS ON DASHBOARD
            echo '<pre>'; print_r( $menu ); echo '</pre>'; // TOP LEVEL MENUS
            echo '<pre>'; print_r( $submenu ); echo '</pre>'; // SUBMENUS
        }
    }
}
add_action( 'admin_notices', 'debug_admin_menus' );
endif;

ν‚€λ₯Ό μ‚¬μš©ν•˜λ©΄ μ›Œλ“œ ν”„λ ˆμŠ€ μ „μ—­ 으둜이 λͺ¨λ“  μž‘μ—…μ„ μˆ˜ν–‰ ν•  μˆ˜μžˆλŠ” λ°°μ—΄ 값이 μ œκ³΅λ©λ‹ˆλ‹€ (ꢌμž₯ν•˜μ§€λŠ” μ•Šμ§€λ§Œ)

function remove_submenus_all_please() {
if ( !is_admin())
        return;
  global $submenu;
    unset($submenu['index.php'][10]); // Removes Updates
  //Posts menu
 // unset($submenu['edit.php'][5]); // Leads to listing of available posts to edit
 // unset($submenu['edit.php'][10]); // Add new post
 // unset($submenu['edit.php'][15]); // Remove categories
 // unset($submenu['edit.php'][16]); // Removes Post Tags
}
add_action('admin_menu', 'remove_submenus_all_please', 999);

λ˜ν•œ νŠΉμ • μ‚¬μš©μžλ₯Ό μ œκ±°ν•˜λ €λ©΄ κΈ°λŠ₯이 μΆ”κ°€ 된 경우λ₯Ό μ œμ™Έν•˜κ³  λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ‹­μ‹œμ˜€.

function remove_by_caps_admin_menu() {
if ( !is_admin())
        return;
    if ( !current_user_can('manage_options') ) {
        remove_menu_page( 'revslider' ); // REVSLIDER
    } elseif ( !current_user_can('edit_posts') ) {
        remove_menu_page( 'woocommerce' ); // WOO
    } else {
    }
}
add_action('admin_menu', 'remove_by_caps_admin_menu', 999);

μ™œ 우리의 κ·œλ²”μ„ λ°νžˆμ§€ μ•ŠλŠ”κ°€? remove_submenu_pageλ₯Ό 50 번 μ“°λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 배열을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. νˆ΄λ°” λ…Έλ“œμ—μ„œλ„ μž‘λ™ν•©λ‹ˆλ‹€.

if ( !function_exists( 'remove_admin_menupages_in_array' ) ) {
function remove_admin_menupages_in_array() {
    if ( !is_admin())
        return;
          $admin_menus = array(
                                'revslider',
                                'woocommerce',
                                'shortcodes-ultimate',
          );

    foreach ( $admin_menus as $menu_page ) {
        if ( !current_user_can('manage_options') ) {
            remove_menu_page( $menu_page );
        }
    } // foreach
 } // function
add_action('admin_menu', 'remove_admin_menupages_in_array', 9999);
} // exists

λ‹΅λ³€

add_action μš°μ„  μˆœμœ„ λ₯Ό 더 높은 수둜 μ„€μ •ν•˜κ³  두 개의 μƒˆ 링크λ₯Ό ꡬ체적으둜 λ‹€μŒκ³Ό 같이 νƒ€κ²ŸνŒ…ν•΄μ•Όν•©λ‹ˆλ‹€.

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

function my_remove_menu_pages() {
  remove_menu_page( 'edit.php' );                   //Posts
  remove_menu_page( 'upload.php' );                 //Media
  remove_menu_page( 'edit-comments.php' );          //Comments
  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
  remove_menu_page( 'edit.php?post_type=acf' );
  remove_menu_page( 'wpcf7' );
};

κ³ κΈ‰ μ‚¬μš©μž μ •μ˜ ν•„λ“œλŠ” λ©”λ‰΄μ—μ„œμ΄ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 방법에 λŒ€ν•œ 도움말 λ¬Έμ„œλ„ μ œκ³΅ν•©λ‹ˆλ‹€.

http://www.advancedcustomfields.com/resources/how-to/how-to-hide-acf-menu-from-clients/

Contact Form 7μ—λŠ” λ©”λ‰΄μ˜ κ°€μ‹œμ„±μ„ μ œν•œν•˜λŠ” 자체 방법이 μžˆμŠ΅λ‹ˆλ‹€.

http://contactform7.com/restricting-access-to-the-administration-panel/


λ‹΅λ³€

μ΅œμ‹  정보

λ‚΄κ°€ μ½”λ“œ 쑰각을 λ§Œλ“€μ–΄ λ”μš± κ°•λ ₯ν•œ κΈ°λŠ₯이 메인 메뉴와 ν•˜μœ„ 메뉴 ν•­λͺ©μ„ λͺ¨λ‘ 닀룬닀.

μ›λž˜ λ‹΅λ³€

μ œκ±°ν•˜λ €λŠ” 메뉴λ₯Ό μ§€μ •ν•˜λŠ” λŒ€μ‹  μœ μ§€ν•˜λ €λŠ” 메뉴λ₯Ό μ§€μ •ν•˜μ‹­μ‹œμ˜€. πŸ™‚

add_action('admin_init', 'nwcm_admin_init');

function nwcm_admin_init()
{
    // Remove unnecessary menus 
    $menus_to_stay = array(
        // Client manager
        'nwcm',

        // Dashboard
        'index.php',

        // Users
        'users.php'
    );
    foreach ($GLOBALS['menu'] as $key => $value) {
        if (!in_array($value[2], $menus_to_stay)) remove_menu_page($value[2]);
    }

} 

이런 μ‹μœΌλ‘œ μƒˆ ν”ŒλŸ¬κ·ΈμΈμ„ μΆ”κ°€ ν•  λ•Œ ν”ŒλŸ¬κ·ΈμΈ 이름을 κ²€μƒ‰ν•˜κ³  μ½”λ“œλ₯Ό μˆ˜μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.


λ‹΅λ³€

μ˜¬λ°”λ₯Έ $ menu_slugλ₯Ό μ°Ύμ•„μ•Όν•©λ‹ˆλ‹€. λ‹€μŒ μ½”λ“œλŠ” μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

add_action( 'admin_init', 'remove_menus' );
function remove_menus(){
  remove_menu_page( 'wpcf7' );
}

λ‹΅λ³€

λ¬Όλ‘  μ œκ±°ν•˜λ €λŠ” ν•­λͺ© 만 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜ μ½”λ“œλ₯Ό μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€.

/wordpress/wp-content/plugins/your_plugin/your_plugin.php :


add_action('admin_init', 'nwcm_admin_init');

function nwcm_admin_init()
{
// Remove unnecessary menus 
$menus_to_remove = array(
    // menu items you want to remove
    'menu_item_1',
    'menu_item_2',
    .
    .
    'menu_item_n'
);

// To avoid warning message, check whether 'menu' is set AND is an array
if(isset($GLOBALS['menu']) && is_array($GLOBALS['menu'])) {
   foreach ($GLOBALS['menu'] as $key => $value) {
     //Remove the '!' in the 'if' condition.        
     if (in_array($value[2], $menus_to_remove)) remove_menu_page($value[2]);
   }
}

} 

이것은 numediaweb의 λ°©λ²•μ˜ λ‹¨μ μž…λ‹ˆλ‹€. @numediaweb κ°μ‚¬ν•©λ‹ˆλ‹€. 잘 μž‘λ™ν•©λ‹ˆλ‹€.

μΆ”μ‹  : β€˜menu_item_1 / n’-> 메뉴 ν•­λͺ© μœ„μ— 마우슀λ₯Ό 놓고 링크에 ν‘œμ‹œλœ ν•΄λ‹Ή 메뉴 ν•­λͺ©μ˜ μ •ν™•ν•œ νŽ˜μ΄μ§€λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.


λ‹΅λ³€

이 μ½”λ“œ 슀 λ‹ˆνŽ«μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€

function your_custom_name() {
    remove_menu_page('vc-general'); //the slug as seen wp-admin.php?page=vc-general  
}
add_action( 'admin_init', 'your_custom_name' );