管理サイドバーから[表示]メニューを削除しました。
function clean_menu() {
remove_menu_page( 'themes.php' );
}
add_action('admin_menu','clean_menu');
その後、サイドバーの親としてnav-menu.php
を手動で追加しました。
function menu_reorder($menu_ord) {
if (!$menu_ord) return true;
return array(
...,
'nav-menus.php',
...
);
}
add_filter('custom_menu_order', 'menu_reorder');
add_filter('menu_order', 'menu_reorder');
Adminとしてはうまく機能していますが、私がエディタとしてログインすると、必要な機能を有効にしていますが、nav-menu.php
に移動するのはnot authorizedです。
function manage_users() {
if ( get_option( 'add_cap_editor_once' ) != 'done' ) {
$edit_editor = get_role('editor');
$edit_editor->add_cap('edit_themes');
$edit_editor->add_cap('edit_theme_options');
update_option( 'add_cap_editor_once', 'done' );
}
}
add_action( 'init', 'manage_users' );
なぜこれがうまくいかないのですか?
ああ、わかってるよ :
以前の操作による問題がありました。
add_cap
はデータベースを変更するですので、どういうわけか私は他の機能の上に書いていましたそしてそれは望みの結果を破りました。
だから私はいくつかのremove_cap
を使ってその役割をきれいにし、私の関数を元に戻してください。