Je ne sais pas pourquoi je ne peux pas faire en sorte que cela fonctionne. J'essaie de supprimer le
qui est ajouté à l'intérieur de ce shortcode ...
[box] Text [/box]
Quel est le résultat de cette sortie HTML:
<div class="box"> Text </div>
Je veux supprimer ces espaces. J'ai essayé de nous remplacer par str_replace, mais cela ne supprime pas le & nbsp:
function infoButton($atts, $content = null) {
extract( shortcode_atts( array(
'class' => '',
), $atts ));
$str = '<div class="box ' . $class . '">' . do_shortcode($content) . '</div>';
$new_str = str_replace(' ','',$str);
return $new_str;
}
add_shortcode('box', 'infoButton');
Cela pourrait être dû au do_shortcode
parcourant wpautop
, voir ici pour plus de détails sur la désactivation de: https://stackoverflow.com/questions/5940854/disable-automatic-formatting-inside-wordpress- shortcodes
Mais comme frogg3862
l'a dit, vous devez au lieu de cela couper les espaces de début et de fin à partir de $content
pour empêcher le espace insécable d'être ajouté automatiquement.
function infoButton($atts, $content = null) {
extract( shortcode_atts( array(
'class' => '',
), $atts ));
$str = '<div class="box ' . $class . '">' . do_shortcode( trim( $content ) ) . '</div>';
return $str;
}
add_shortcode('box', 'infoButton');