Ascunde meniul de administrare pentru un anumit ID de utilizator cu rol de administrator
Încerc să ascund aproape toate meniurile din panoul de administrare WordPress pentru un anumit ID de utilizator care are rol de administrator. Vreau să ofer acelui utilizator doar opțiunea de a edita un anumit tip de postare personalizată numită "lessons" și un alt tip de postare personalizată "Events".
Folosesc tema LMS WordPress de la Themeforest de la DesignThemes. Nu sunt sigur de ce această temă nu oferă acces la WP-admin pentru alte roluri în afară de administrator, cum ar fi Editor, Contributor etc. Așa că am decis să ofer acelui utilizator specific rol de administrator, astfel încât să poată accesa panoul de administrare. Apoi, planul meu este să ascund celelalte meniuri de administrare pentru acest utilizator.
Am folosit pluginul numit User Role Editor Pro și alte pluginuri gratuite, dar nimic nu pare să funcționeze cu aceasta. Apoi am încercat cu codul de mai jos. Dar acest cod elimină aceste meniuri de administrare și pentru alți administratori, unde eu vreau să fie eliminate doar pentru acest ID de utilizator, care este 279 în acest caz. Orice ajutor este apreciat. Acesta este linkul site-ului: https://impactmarketingsystems.com/
<?php
function hide_menu(){
global $current_user;
$user_id = get_current_user_id();
// echo "user:".$user_id; // Folosește asta pentru a găsi rapid ID-ul tău de utilizator
if($user_id != '279'){
// Pentru a elimina întregul meniu de administrare Aspecte
remove_menu_page( 'themes.php' );
// Pentru a elimina submeniurile editor de teme și opțiuni de temă
// din meniul de administrare Aspecte, precum și submeniul principal 'Teme'
remove_menu_page( 'index.php' );
remove_submenu_page( 'index.php', 'update-core.php' );
remove_submenu_page( 'themes.php', 'themes.php' );
remove_submenu_page( 'themes.php', 'theme-editor.php' );
remove_submenu_page( 'themes.php', 'theme_options' );
remove_menu_page( 'users.php' );
remove_submenu_page( 'users.php', 'user-new.php' );
remove_submenu_page( 'users.php', 'profile.php' );
remove_menu_page( 'upload.php' );
remove_submenu_page( 'upload.php', 'media-new.php' );
remove_submenu_page( 'upload.php', 'upload.php?page=wp-smush-bulk' );
remove_menu_page( 'admin.php?page=Wordfence' );
remove_submenu_page( 'admin.php?page=Wordfence', 'media-new.php' );
remove_menu_page( 'edit.php?post_type=dt_teachers' );
remove_submenu_page( 'edit.php?post_type=dt_teachers', 'post-new.php?post_type=dt_teachers' );
remove_menu_page( 'edit.php?post_type=dt_portfolios' );
remove_submenu_page( 'edit.php?post_type=dt_portfolios', 'post-new.php?post_type=dt_portfolios' );
remove_submenu_page( 'edit-tags.php?taxonomy=portfolio_entries', 'edit-tags.php?taxonomy=portfolio_entries&post_type=dt_portfolios' );
remove_menu_page( 'edit.php' );
remove_submenu_page( 'edit.php', 'post-new.php' );
remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=category' );
remove_submenu_page( 'edit.php', 'edit-tags.php?taxonomy=post_tag' );
// Elimină elementele meniului Pagini
remove_menu_page( 'edit.php?post_type=page' );
remove_submenu_page( 'edit.php?post_type=page', 'post-new.php?post_type=page' );
// Elimină meniul Comentarii
remove_menu_page( 'edit-comments.php' );
// Elimină meniul LMS
remove_menu_page( 'admin.php?page=parent' );
remove_menu_page( 'tools.php' ); //Unelte
remove_menu_page( 'options-general.php' ); //Setări
remove_menu_page( 'plugins.php' ); //Pluginuri
remove_menu_page( 'edit.php?post_type=product' );

problema este cu declarația ta logică. acum încerci să elimini panoul de control pentru personal unde ID-ul utilizatorului nu este '279', ceea ce înseamnă că doar utilizatorul cu ID-ul 279 poate vedea panoul de control. poți încerca această declarație în if
if(is_admin() && $user_id == '279'){ //codurile tale }

Mulțumesc frate. Am fost atât de prost încât nu am putut găsi această logică simplă. Anterior am încercat să folosesc ! și fără ! dar nu a funcționat. Așa că am rămas confuz. Dar mulțumesc pentru ajutor. A funcționat.
