J'ai utilisé le code suivant pour remplacer "Howdy" dans la barre d'administration. C'est adorable. Cependant, lorsque je consulte le site alors que je suis connecté, Word Howdy réapparaît. Tant que je regarde le tableau de bord, pas de problème. Quand je regarde le site, beurk.
//* Change the Dashboard Welcome Message
add_filter('gettext', 'change_howdy', 10, 3);
function change_howdy($translated, $text, $domain) {
if (!is_admin() || 'default' != $domain)
return $translated;
if (false !== strpos($translated, 'Howdy'))
return str_replace('Howdy', 'Explore the Possibilities', $translated);
return $translated;
}
Quelqu'un sait comment je fais en sorte que le changement s'applique aux deux vues de la barre d'administration?
Je vois quelques problèmes ici.
Cette ligne
if (!is_admin() || 'default' != $domain)
return $translated;
renvoie le retour de Howdy inchangé si is_admin est false - ce qui est le cas si vous n'êtes pas dans le tableau de bord.
En outre, vous exécutez votre rappel de filtre sur gettext. Cela signifie qu'il sera exécuté chaque fois qu'un contenu internationalisé est utilisé, ce qui est très inefficace. Vous feriez mieux d'utiliser un filtre plus approprié, comme ci-dessous.
function change_howdy( $wp_admin_bar ) {
$my_account = $wp_admin_bar->get_node( 'my-account' );
$new_title = str_replace( 'Howdy', 'Explore the Possibilities', $my_account->title );
$wp_admin_bar->add_node( array(
'id' => 'my-account',
'title' => $new_title,
) );
}
add_filter( 'admin_bar_menu', 'change_howdy', 25 );