hé les gars, j'ai vraiment besoin de votre aide.
Chaque fois que j'utilise une galerie dans wordpress et que je règle ses colonnes sur 1 Wordpress ajoute automatiquement <br style="clear: both"/>
après chaque <dl class="gallery-item">
. J'ai vraiment besoin d'empêcher ce comportement et par conséquent j'aimerais ajouter un filtre à mon functions.php
Les exemples suivants ne fonctionnent pas.
add_filter( 'post_gallery', 'remove_br_gallery', 9);
function remove_br_gallery($output) {
return preg_replace('#\<br*.?\>#is', '', $output);
}
add_filter( 'the_content', 'remove_br_gallery', 9);
function remove_br_gallery($output) {
return preg_replace('#\<br*.?\>#is', '', $output);
}
Ceci non plus:
return str_replace('<br style="clear: both">', '', $output);
Une idée de comment je pourrais résoudre ça? Je ne veux tout simplement pas avoir de <br style="clear: both"/>
à l'intérieur de mes galeries.
EDIT: vous devez appeler votre filtre après le traitement du shortcode, en lui donnant une priorité supérieure à 10, et vous devez faire correspondre une expression sur plusieurs lignes.
Essayez ce travail avec mon installation et en utilisant le raccourci standard de la galerie:
add_filter( 'the_content', 'remove_br_gallery', 11, 2);
function remove_br_gallery($output) {
return preg_replace('/<br style=(.*)>/mi','',$output);
}
Vous pouvez également essayer de désactiver l’effet du <br>
via un remplacement de la feuille de style, par exemple:
body dl.gallery-item + br { display: none; }
Vous pouvez utiliser Cleaner Gallery plugin de Justin Tadlock pour obtenir un balisage propre.
Preg remplacer devrait contenir des apostrophes.
return preg_replace('/<br style="(.*)">/mi','',$output);