Dans functions.php d’un thème fait un appel à show_admin_bar(false)
qui masque la barre d’administration en face avant:
if (!is_admin())
{
wp_deregister_style( 'bp-admin-bar' );
if ( function_exists( 'show_admin_bar' ) )
{
show_admin_bar( false );
remove_action( 'bp_init', 'bp_core_load_buddybar_css' );
}
}
Je souhaite que la barre d'administration apparaisse devant les utilisateurs de admin
. Pour ce faire, j'ai ajouté le code suivant à un plugin:
add_action('plugins_loaded', 'show_admin_bar_to_admins', 100);
function show_admin_bar_to_admins()
{
if (current_user_can('manage_options')) {
show_admin_bar(true);
}
}
Mais cet appel n'a pas fait de différence. Je mets 100
en tant que valeur de priorité telle afin que cette fonction soit appelée plus tard que l'appel dans functions.php
. Mais cela n'a pas fait de différence.
Existe-t-il un moyen de faire un appel de fonction dans un plug-in à exécuter plus tard que l'appel dans functions.php
.
Tout d'abord: ce thème fait tellement mal. Il ne faut pas simplement insérer des appels en clair dans les fichiers functions.php. Ceux-ci devraient être emballés et accrochés. Il vaut mieux utiliser after_setup_theme()
. Vous pouvez d'ailleurs essayer le même crochet.
Je pense que le meilleur moyen d’afficher ou de masquer la barre d’administration consiste à s’adapter au filtre show_admin_bar
et à spécifier les conditions dont vous avez besoin dans la fonction de filtrage:
add_filter('show_admin_bar', 'ad_show_admin_bar');
function ad_show_admin_bar($show) {
// show front-end admin bar for admins only
if(current_user_can('manage_options')) {
return true;
} else {
return false;
}
}
Cela permettra d’ajouter les scripts et les styles nécessaires à la barre d’administration.