Question

Je voudrais être en mesure d'accorder mes rédacteurs en chef le pouvoir de changer le menu, cela peut-il être fait?

L'onglet apparence ne semble pas être une option du tout, puis-je faire cela?

Était-ce utile?

La solution

ajouter ce au functions.php de votre thème:

// add editor the privilege to edit theme

// get the the role object
$role_object = get_role( 'editor' );

// add $cap capability to this role object
$role_object->add_cap( 'edit_theme_options' );

Autres conseils

EDIT: mise à jour pour WP 4.9 et uniquement des éléments de menu pour se cacher Editor

Si vous voulez que vos utilisateurs soient en mesure de changer le menu de navigation, mais pas les autres options en apparence: utiliser ce

// Do this only once. Can go anywhere inside your functions.php file
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );

Vous pouvez commenter ce code entier après avoir rafraîchi votre panneau d'administration, car le code ci-dessus apportera des modifications persistantes à la base de données.

Vous avez maintenant toutes les options sous l'apparence visible aux rédacteurs en chef. Vous pouvez cacher les autres options comme ceci:

function hide_menu() {

    if (current_user_can('editor')) {

        remove_submenu_page( 'themes.php', 'themes.php' ); // hide the theme selection submenu
        remove_submenu_page( 'themes.php', 'widgets.php' ); // hide the widgets submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php' ); // hide the customizer submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php&autofocus%5Bcontrol%5D=background_image' ); // hide the background submenu


        // these are theme-specific. Can have other names or simply not exist in your current theme.
        remove_submenu_page( 'themes.php', 'yiw_panel' );
        remove_submenu_page( 'themes.php', 'custom-header' );
        remove_submenu_page( 'themes.php', 'custom-background' );
    }
}

add_action('admin_head', 'hide_menu');

Les 3 dernières lignes dans la fonction hide_menu() sont spécifiques à thème pour mon thème. Vous pouvez trouver le deuxième paramètre en cliquant sur le sous-menu que vous souhaitez masquer, dans le panneau d'administration. Votre URL sera alors quelque chose comme: example.com/wp-admin/themes.php?page=yiw_panel

Ainsi, dans cet exemple, le deuxième paramètre de la fonction remove_submenu_page() sera yiw_panel

Dans WordPress 3.8, ce serait un meilleur code que la réponse acceptée actuelle.

/**
 * @var $roleObject WP_Role
 */
$roleObject = get_role( 'editor' );
if (!$roleObject->has_cap( 'edit_theme_options' ) ) {
    $roleObject->add_cap( 'edit_theme_options' );
}

Quand je regarde la structure du menu d'administration, il semble le lien nav-menus.php est lié à la capacité de edit_theme_options . Pouvez-vous modifier le rôle de l'éditeur d'inclure cette fonctionnalité? Cela aussi leur donner la possibilité de modifier des widgets , je ne sais pas si cela est un problème? Tout le menu Ajax choses est limitée par cette capacité, donc juste changer la capacité du menu d'administration pour l'édition des menus ne fonctionnera probablement pas.

plug-in instal "Rôle utilisateur Editor" - edit_theme_options commutateur ON - installer le plugin Adminimize - Widgets "Eteindre" et "Switch Theme" pour les éditeurs;)

Ive a trouvé que votre menu fonctionne de cette façon: plug-in instal " rôle utilisateur éditeur » et là vous pouvez modifier la condition de pour le rôle de rédacteur en chef et d'autres aussi. Commutateur edit_theme_options sur ON. Mais maintenant, vous verrez « menu » -option sous « thèmes », « widgets ». Pour moi: Après avoir cliqué sur « menu » (comme éditeur) pas d'options voir Id remplies, mais vide. Donc, désactiver le plugin Id « Rôle utilisateur Editor » et les options remplies pour « menu » apparaît correctement. Notez que la désactivation de plug-ins « Rôle d'utilisateur Editor » reste les conditions d'éditeur actif! Bon pour moi, peut-être vous aider aussi

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top