Word press 사용자 지정 메뉴에 하위 메뉴
만들고 있는 워드프레스 플러그인에서는 서브메뉴 페이지가 있는 새로운 최상위 관리 메뉴를 만듭니다.제 코드는 다음과 같습니다.
add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom");
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch');
따라서 이 코드는 새로운 관리 메뉴인 "Eastview Custom"을 만듭니다.다음으로 Eastview Custom과 GLS Lunch의 2개의 서브링크를 추가합니다.문제는 "Eastview Custom"을 서브링크로 원하지 않는다는 것입니다.서브링크는 'GLS 런치'뿐입니다.어떻게 해야 할지 모르겠어요.도와주셔서 감사합니다!
고문서에 따르면
플러그인이 독자적인 톱 레벨 메뉴를 작성하는 상황에서는, 통상, 첫 번째 서브 메뉴에는 톱 레벨 메뉴와 같은 링크 타이틀이 있기 때문에, 그 링크는 복제됩니다.parent_slug 파라미터와 menu_slug 파라미터에 같은 값을 지정하여 add_submenu_page 함수를 처음 호출하면 링크 타이틀 중복을 피할 수 있습니다.
이 페이지에는 http://codex.wordpress.org/Adding_Administration_Menus#Sub-Menus 가 있습니다.
따라서 Codex에 따르면 다음과 같은 기능을 사용할 수 있습니다(사용자의 레벨 파라미터를 권장하지 않는 기능으로 대체하여 모두 작은 따옴표로 표준화했습니다).
add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle');
이제 당신은 이것이 Codex에 근거해서 작동한다고 생각할 것이다.-그렇지 않다.하위 메뉴 항목이 하나만 있기 때문에 하위 메뉴 항목이 표시되지 않습니다.다른 아이템을 추가하면 동작하는 것을 알 수 있습니다.
add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'New Item', 'New item', 'manage_options', 'new-handle');
이것이 도움이 되기를 바랍니다, 단일 목록 항목에 대한 답을 찾을 수 없어서 유감입니다!
또는 메인 메뉴를 만든 후 하위 메뉴를 제거할 수 있습니다.
add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom");
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch');
remove_submenu_page("eastview-custom", "eastview-custom");
이 기능을 사용할 수 있습니다.
function custom_add_admin_menu_page($args = []) {
$args = wp_parse_args($args, [
'page_title' => '',
'menu_title' => '',
'capability' => 'manage_options',
'function' => false',
'menu_slug' => '',
'icon_url' => '',
'position' => 20,
]);
add_menu_page(
$args['page_title'],
$args['menu_title'],
$args['capability'],
$args['menu_slug'],
$args['function'],
$args['icon_url'],
$args['position']
);
add_action('admin_head', function () use ($args) {
if (!$args['function']) {
remove_submenu_page($args['menu_slug'], $args['menu_slug']);
}
}, 99);
}
다음과 같이 사용합니다.
custom_add_admin_menu_page([
'page_title' => __('your page title', 'your domain'),
'menu_title' => __('your menu title', 'your domain'),
'menu_slug' => 'your slug',
'icon_url' => 'dashicons-page',
'position' => 20,
]);
언급URL : https://stackoverflow.com/questions/11613597/wordpress-add-submenus-to-custom-menu
'programing' 카테고리의 다른 글
효소에서는 어댑터가 구성되어야 합니다. (0) | 2023.02.20 |
---|---|
Oracle: 시퀀스 MySequence.currval이 이 세션에서 아직 정의되지 않았습니다. (0) | 2023.02.20 |
React-Redux에서의 디스패치 기능 (0) | 2023.02.20 |
WordPress REST API에 대한 액세스 제한 (0) | 2023.02.20 |
AngularJS에서 div의 맨 위로 스크롤하시겠습니까? (0) | 2023.02.20 |