Je veux me débarrasser d'un tiret '-' dans le titre de mon site Wordpress sur mobile. Pour ce faire, je veux placer une étendue autour du tableau de bord, quelque chose comme ci-dessous.
Résultat désiré
<h1 class="site-title">My Site Title <span class="remove-mob">-</span> Is Great</h1>
Voici mon code PHP actuel. Quelqu'un peut-il suggérer une modification afin que je puisse ajouter la plage ci-dessus autour du tiret contenu dans le titre du site?
Code actuel
<h1 class="site-title"><?php bloginfo( 'name' ); ?></h1>
Méthode 1
Vous pouvez le faire en utilisant JavaScript.
Commencez par ajouter un identifiant pour votre balise h1
. Je vais utiliser mobId
ici pour que votre balise d'en-tête ressemble à ceci:
<h1 class="site-title" id="mobId">My Site Title - Is Great</h1>
Puis remplacez le trait d'union par votre code désiré:
<script>
var myStr = document.getElementById("mobId").innerHTML;
var newStr = myStr.replace("-", "<span class='remove-mob'>-</span>");
document.getElementById("mobId").innerHTML = newStr;
</script>
Cela peut être écrit plus court, mais j’ai écrit le code complet pour que vous sachiez ce qui se passe.
Méthode 2
Strip utilisant php str_replace()
:
<h1 class="site-title">
<?php echo str_replace("-","<span class='remove-mob'>-</span>", get_bloginfo('name')); ?>
</h1>
Vous pouvez enregistrer get_bloginfo();
dans une variable et l’utiliser dans la fonction, au cas où il retournerait une erreur à cause de guillemets.
Vous pouvez réellement le faire en utilisant un filtre. La fonction bloginfo () appelle en fait la fonction get_bloginfo () et renvoie le résultat.
Le get_bloginfo () a un filtre bloginfo appliqué dans la sortie avant son retour. Vous pouvez donc utiliser add_filter pour modifier le résultat de la fonction.
En utilisant cette méthode, vous n’aurez pas à éditer vos fichiers de thème.
UPDATE: J'ai édité la fonction pour m'assurer qu'elle ne s'exécute qu'une fois dans la variable globale, ce qui devrait résoudre le problème de l'édition d'autres instances de bloginfo en supposant que l'appel dans l'en-tête est le plus ancien.
function wpse253508_change_title( $output, $show ) {
static $run_once;
if ( "name" == $show && "change_title" != $run_once ) {
$run_once = "change_title";
$output = str_replace("-", "<span class='remove-mob'>-</span>", $output);
return $output;
}
return $output;
}
add_filter( 'bloginfo', 'wpse253508_change_title', 10, 2 );