it-swarm.com.de

add_filter zur post-gallery hinzufügen und alle bilder entfernen?

hey Leute, ich brauche wirklich deine Hilfe.

Immer wenn ich eine Galerie in WordPress verwende und die Spalten auf 1 setze, fügt WordPress nach jedem <br style="clear: both"/> automatisch <dl class="gallery-item"> hinzu. Ich muss dieses Verhalten wirklich verhindern und möchte daher einen Filter zu meiner functions.php hinzufügen

Die folgenden Beispiele funktionieren nicht.

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);

}

Weder tut dies:

return str_replace('<br style="clear: both">', '',  $output);  

Irgendeine Idee, wie ich das lösen könnte? Ich möchte einfach keinen <br style="clear: both"/> in meinen Galerien haben.

3
mathiregister

BEARBEITEN: Sie müssen Ihren Filter aufrufen, nachdem der Shortcode verarbeitet wurde, und ihm eine Priorität> 10 zuweisen. Außerdem müssen Sie eine Übereinstimmung für einen mehrzeiligen Ausdruck festlegen.

Versuchen Sie diese Arbeit mit meiner Installation und mit dem Standard-Galerie-Shortag:

add_filter( 'the_content', 'remove_br_gallery', 11, 2);
function remove_br_gallery($output) {
    return preg_replace('/<br style=(.*)>/mi','',$output);
}
1
keatch

Alternativ können Sie auch versuchen, die Wirkung der <br> über eine Stylesheet-Überschreibung zu deaktivieren. Beispiel:

body dl.gallery-item + br { display: none; }

3
wyrfel

Sie können Justin Tadlocks Cleaner Gallery Plugin verwenden, um sauberes Markup zu erhalten.

0
kucrut

Preg Replace sollte Apostrophe enthalten.

return preg_replace('/<br style="(.*)">/mi','',$output);
0
Betagoo