Dan zou ik eerder naar je opmaak gaan kijken, het zou bij een goede opmaak niet uit moeten maken. Misschien moet je “in de war” even verder definiëren.
Ik heb mijn afbeelding links uitgelijnd middels float:left, dit heb ik ook met de heading en p gedaan die naast de afbeelding moeten komen te staan. Dit werkt normaal maar het lijkt erop dat dit niet werkt door het <p> element wat automatisch om de afbeelding wordt heen gezet.
Je moet je heading en p nooit links uitlijnen met float: left. Dit zijn blok elementen en zijn standaard al links uitgelijnd. Daar moet je de float uithalen. Alleen de afbeelding moet je “float: left” geven met een classe .alignleft.
Om de wpautop filter volledig uit te schakelen, gooi dit in functions.php:
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
Om enkel de p tags rond afbeeldingen te verwijderen:
function robbert88_filter_ptags_on_images( $content )
{
return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}
add_filter('the_content', 'robbert88_filter_ptags_on_images');