最近在開發(fā)項目時,用到一個Elementor的擴展插件 Element Pack Pro,發(fā)現它在WordPress后臺添加的菜單位置太靠前了,對用戶不是很友好。這篇文教就來通過實例講解一下WordPress 自定義后臺管理菜單的順序的方法。
之前WordPress大學發(fā)布過一個教程《自定義排序WordPress后臺管理菜單》,介紹的方法存在一個弊端:如果有新增其他菜單或自定義文章類型,就需要重新修改補充對應的菜單項到代碼中。
所以繼續(xù)找教程,最終在這里發(fā)現了可用的方案。我們最終需要的就是將 Element Pack Pro 的菜單往下挪到 設置 的下面,如下圖所示。

所用的代碼如下,有改進:
/**
* 激活 'custom_menu_order'鉤子然后掛載代碼到 'menu_order'
* https://wordpress.stackexchange.com/questions/276230/how-can-i-control-the-position-in-the-admin-menu-of-items-added-by-plugins#answer-315621
*/
add_filter( 'custom_menu_order', '__return_true' );
add_filter( 'menu_order', 'wpkj_admin_menu_order' );
function wpkj_admin_menu_order( $menu_order ) {
// 在下面的數組中定義菜單的位置,后面的數字就是位置
$new_positions = array(
// 'index.php' => 1, // 儀表盤
// 'edit.php' => 2, // 文章
// 'upload.php' => 3, // 媒體
// 'edit.php?post_type=page' => 4, // 頁面(如果是自定義文章類型,可以參考這個)
// 'edit-comments.php' => 5 // 評論
'element_pack_options' => 81, // 插件的頂級菜單網址為 admin.php?page=element_pack_options,選項菜單可以參考這個
);
//遍歷新位置并移動項目(如果在原始 menu_positions 中找到)
foreach( $new_positions as $value => $new_index ) {
if( $current_index = array_search( $value, $menu_order ) ) {
$out = array_splice($menu_order, $current_index, 1);
array_splice($menu_order, $new_index, 0, $out);
}
}
return $menu_order;
};
注意看代碼的第10行的 $new_positions 數組,根據需要添加你要調整的菜單和位置即可。
默認管理菜單的位置對應的數字如下,可參考來設置你的菜單位置。
5 - 文章下方
10 - 媒體下方
15 - 鏈接(默認移除了)下方
20 - 頁面下方
25 - 評論下方
60 - 對一個分隔符下方
65 - 插件下方
70 - 用戶下方
75 - 工具下方
80 - 設置下方
100 - 第二個分隔符下方
好了,教程就到這里。
拓展閱讀:
- 自定義排序WordPress后臺管理菜單
- WordPress后臺管理菜單編輯插件:Admin Menu Editor
- WordPress 在后臺管理菜單中使用Dashicons圖標
- 將通知氣泡添加到WordPress管理菜單的3種方法
- 詳解WordPress的用戶角色和能力/權限
- WordPress根據用戶角色顯示/隱藏某些后臺功能
- WordPress刪除和自定義后臺管理菜單
聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。




