Mon auteur a tendance à ajouter des traits nouveaux (touche Entrée) et des espaces (barre d'espace) à la fin des publications. Parfois, il en résulte des pouces d’espace supplémentaire à l’écran!
Existe-t-il un moyen de m'assurer que les espaces de fin supplémentaires sont supprimés lorsqu'il clique sur "Update" dans l'éditeur de publication Wordpress?
Une hypothèse rapide serait:
add_filter('content_save_pre', 'trim');
Ajoutez au functions.php
du thème ou à tout autre endroit approprié sur votre site.
Cela empêchera l'affichage des espaces insécables à la fin sans modifier réellement la publication dans la base de données lors de l'ajout à functions.php (ou à l'endroit où votre thème stocke des fonctions ajoutées par l'utilisateur).
function trim_post_trailing_whitespace ($ content) { // utilise preg_replace pour convertir & nbsp; dans un caractère inutilisé "☺" (ALT 1) // utilisez ensuite rtrim pour supprimer les caractères inutilisés "☺" // maintenant, utilisez à nouveau rtrim pour supprimer les espaces blancs // reconvertit maintenant le ou les caractères inutilisés "" en & nbsp; si utilisé ailleurs // Retourner $ content = preg_replace ("/ & nbsp; /", "☺", $ content); $ content = rtrim ($ content, ""); $ content = rtrim ($ content); $ content = preg_replace ("/ ☺ /", "& nbsp;", $ content); return $ content; /* Tout ce qui précède est simplifié en une seule équation return preg_replace ("/ ☺ /", "& nbsp; ", rtrim (rtrim (preg_replace ("/& nbsp;/"," ", $ content)," ☺ "))); */ } add_filter ('the_content', 'trim_post_trailing_whitespace', 0); // La priorité '0' signifie faire ce premier.
Le "problème" est que wordpress convertit "entre" dans les paragraphes (<p>). Les paragraphes de fin et de début résultent en de grands espaces blancs gâchant votre conception. L'éditeur wp (wysiwyg) est configuré de manière assez spacieuse, ce qui conduit souvent l'utilisateur à croire que le contenu est propre.
Vérifiez ce plugin très simple, Space Remover , il supprime ces paragraphes non voulus et vous donne également le contrôle de cette fonctionnalité. (au cas où vous souhaitiez utiliser cet espace supplémentaire sur certains messages/pages)
Si vous souhaitez supprimer non pas un mais plusieurs espaces insécables, vous pouvez utiliser une variante du code UncaJoes qui utilise également la valeur par défaut php rtrim charlist .
function trim_post_trailing_whitespace( $content ) {
$content = preg_replace( '/ /', '☺', $content );
$content = rtrim( $content, '☺' . " \t\n\r\0\x0B" );
$content = preg_replace( '/☺/', ' ', $content );
return $content;
}
add_filter( 'the_content', 'trim_post_trailing_whitespace', 0 );