Je souhaite donner à mes éditeurs l'accès à une page de paramètres d'un plugin que j'ai installé sur leur site web. Pour l'instant, il n'est visible que par les administrateurs.
Le plug-in que j'utilise est uTubeVideo Gallery, et il n'y a pas d'autre option pour donner aux utilisateurs un accès autre que celui des administrateurs.
Dans son admin.php, j'ai trouvé ces lignes qui, je le sais, créent la page des paramètres:
public function addMenus()
{
add_menu_page('uTubeVideo', 'uTubeVideo', 'manage_options', 'utubevideo_settings', array($this, 'option_panel'), plugins_url('utubevideo-gallery/i/utubevideo_icon_16x16.png'));
add_submenu_page('utubevideo_settings', 'uTubeVideo Galleries', __('Galleries', 'utvg'), 'manage_options', 'utubevideo_settings_galleries', array($this, 'gallery_panel'));
}
Y at-il un moyen pour moi de modifier son code afin que je puisse donner accès aux éditeurs?
L'argument manage_options
que vous voyez dans les deux appels de fonction est une capacité. Cette fonctionnalité particulière rend la page accessible uniquement aux administrateurs .
Pour que cela fonctionne, vous pouvez changer cela en une des capacités de l'éditeur comme edit_others_posts
Vous pouvez aussi créer une nouvelle capacité et l'utiliser.
Cependant, cela signifie le piratage du plugin et la prochaine fois que le plugin sera mis à jour, vos modifications seront écrasées. C'est pourquoi le piratage des plugins est généralement une mauvaise idée.
Je voudrais:
Essayer avec
public function addMenus()
{
add_menu_page('uTubeVideo', 'uTubeVideo', 'delete_posts', 'utubevideo_settings', array($this, 'option_panel'), plugins_url('utubevideo-gallery/i/utubevideo_icon_16x16.png'));
add_submenu_page('utubevideo_settings', 'uTubeVideo Galleries', __('Galleries', 'utvg'), 'delete_posts', 'utubevideo_settings_galleries', array($this, 'gallery_panel'));
}