Así que configuré un archivo php básico para mi tema de WordPress:
<?php get_header(); ?> <div class = "content"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <p><?php the_content(); ?></p> <?php endwhile; else : ?> <p><?php _e( 'Sorry, no pages found.' ); ?></p> <?php endif; ?> </div> <?php get_footer(); ?>
Cuando ejecuté mi tema y abrí el elemento de inspección, decía que había dos elementos de párrafo adicionales encima y debajo de mi elemento de párrafo que contenía el contenido ( <p><?php the_content(); ?></p>
).
Se veía así en el inspector:
<h1>Home</h1> <p></p> <p>Content</p> <p></p>
¿Por qué está haciendo esto?
Editar: encontré una "solución": aunque no eliminará los elementos del párrafo, los hará invisibles en caso de que desee ajustar el relleno, el margen o cualquier otro atributo de su contenido:
.content p:first-child { /*...in my case, my content paragraph is in a 'content' div...*/ padding: 0; margin: 0; /*...or any other attribute...*/ } .content p:last-child { padding: 0; margin: 0; }
WordPress reemplaza las nuevas líneas con párrafos en el contenido de la publicación.
Tiene etiquetas de inicio y fin p adicionales generadas por the_content();
Elimina la etiqueta <p>
no deseada.
/** * Remove empty <p> tag. * * @param type $content * @return type */ function pd_remove_unwanted_p($content){ $content = force_balance_tags( $content ); $content = preg_replace( '#<p>\s*+(<br\s*/*>)?\s*</p>#i', '', $content ); $content = preg_replace( '~\s?<p>(\s| )+</p>\s?~', '', $content ); return $content; } add_filter('the_content', 'pd_remove_unwanted_p', 20, 1);
Simplemente coloque el código anterior en su tema activo functions.php
.