WordPress 관리자의 사용자 정의 메뉴 순서

3765 단어 wordpress

사용자 정의 관리자 메뉴 후크 켜기


custom_menu_order 후크는 사용자 지정 순서로 관리자 메뉴를 표시하기를 원한다고 WordPress에 알리는 간단한 후크입니다. add_filter()로 필터링하고 내장 함수__return_true를 사용하여 후크에 true를 반환할 수 있습니다.
functions.php 파일에 다음을 추가하십시오.

 add_filter( 'custom_menu_order', '__return_true' );


Docs

주문... WordPress 관리자!



이제 맞춤 메뉴 주문이 켜져 있으므로 실제로 주문을 설정할 차례입니다. 이것은 menu_order 후크를 통해 제어됩니다.

add_filter( 'menu_order', '<custom_menu_order_fn_name>', 10, 1 );


후크는 현재 메뉴 항목의 URL 배열을 유일한 매개변수로 보냅니다. url AFTER /wp-admin/ 의 일부일 뿐이며 모든 url 매개변수를 포함합니다.

For example the Pages menu links to https://example.wp/wp-admin/edit.php?post_type=page and you just turn it into: edit.php?post_type=page.



메뉴에서 항목을 개별적으로 추가 및 제거하거나 원하는 순서대로 원하는 항목만 있는 완전히 새로운 배열을 반환할 수 있습니다.

WP 관리자에서 게시물 메뉴(모든 게시물, 새로 추가 등) 제거



PHP 함수array_search()를 사용하면 특정 값에 대한 배열 인덱스가 반환됩니다. 특정 메뉴/하위 메뉴를 완전히 제거하려면 최상위 수준 페이지 URL을 검색하고 PHPunset()를 사용하여 배열에서 항목을 제거하면 됩니다.

function jh_remove_posts_menu( $menu_ord ) {
    if (($key = array_search('edit.php', $menu_ord)) !== false) {
        unset($menu_ord[$key]);
    }
    return $menu_ord;
}
add_filter( 'menu_order', 'jh_remove_posts_menu', 10, 1 );


완전히 사용자 정의 WP 관리자 메뉴 순서



다음은 기본 메뉴 순서를 버리고 완전히 새로운 순서를 반환하는 예입니다.

This is probably the way to go if you're going to be moving or removing more than one item from the menu. It's easier to just set the order explicitly, instead of fighting with the array the hook provides.



function jh_custom_menu_order( $menu_ord ) {

    return array(
        'index.php', // Dashboard
        'separtor1', // First separator
        'edit.php', // Posts
        'edit.php?post_type=page', // Pages
        'edit.php?post_type=<custom post type>', // Custom Post Type 
        'separator2', // Second separator
        'upload.php', // Media
        'edit-comments.php', // Comments
        'separator3', // Third separator
        'users.php', // Users
        'themes.php', // Appearance
        'plugins.php', // Plugins
        'tools.php', // Tools
        'options-general.php', // Settings
        'separator-last', // Last separator
    );
 }
 add_filter( 'menu_order', 'jh_custom_menu_order', 10, 1 );


배열의 항목 순서에 따라 메뉴의 순서가 결정됩니다. WordPress 관리자에서 액세스할 수 있는 모든 페이지를 추가하거나 제외할 수 있습니다.

하지만 걱정하지 마세요. 메뉴는 여전히 사용자 역할 기능을 존중하므로 설정 메뉴를 추가해도 여전히 관리자 역할에 대해서만 표시됩니다.

핵심 WordPress 페이지 배열 주문



WordPress v6.0.1부터 다음은 필터 기능menu_order에 전달되는 기본 메뉴 순서입니다.

 [
    'index.php',
    'separator1',
    'edit.php',
    'upload.php',
    'edit.php?post_type=page',
    'edit-comments.php',
    'separator2',
    'themes.php',
    'plugins.php',
    'users.php',
    'tools.php',
    'options-general.php',
    'separator-last',
 ]

좋은 웹페이지 즐겨찾기