He buscado por todas partes una solución simple a esto, pero fue en vano. Wordpress sigue envolviendo mis imágenes en etiquetas p y, debido a la naturaleza excéntrica del diseño de un sitio en el que estoy trabajando, esto es muy molesto.
He creado una solución jQuery para desenvolver imágenes, pero no es tan genial. Se retrasa debido a que otras cosas se cargan en la página y, por lo tanto, los cambios son lentos. ¿Hay alguna manera de evitar que Wordpress ajuste solo imágenes con etiquetas p? Un gancho o filtro tal vez que pueda ejecutarse.
Esto sucede al cargar una imagen y luego insertarla en el editor WYSIWYG. Entrar manualmente en la vista de código y eliminar las etiquetas p no es una opción, ya que el cliente no es tan técnicamente inepto.
Entiendo que las imágenes están en línea, pero la forma en que tengo las imágenes codificadas del sitio están dentro de divs y se configuran para bloquear, por lo que son códigos válidos.
Respuestas:
Esto es lo que hicimos ayer en un sitio de cliente con el que teníamos este problema exacto ... Creé un filtro rápido como complemento y lo activé.
Si coloca eso en un archivo php en su carpeta / wp-content / plugins y luego lo activa, debería eliminar las etiquetas p de cualquier parámetro que solo contenga una imagen.
No estoy seguro de cuán fuerte es la expresión regular en términos de si fallará con las salidas de otros editores, por ejemplo, si la etiqueta img se cierra con solo> fallará. Si alguien tiene algo más fuerte, eso sería realmente útil.
Aclamaciones,
James
--- Filtro mejorado ---
Para trabajar con imágenes envueltas en enlaces, mantiene los enlaces en la salida y elimina las etiquetas p.
fuente
img
marcado predeterminado de HTML5 , es decir,<img ...>
sin la barra inclinada de cierre. Es mejor hacer eso opcional en su expresión regular. O mejor aún, puede dejarlo fuera, ya.*
que se encargará de ello.<img ...>
fuera/>
?Básicamente, debe hacer que WordPress trate a img como un elemento de nivel de bloque con el propósito de formatear. Dichos elementos están codificados
wpautop()
y desafortunadamente la lista no se filtra.Lo que haría es:
wpautop()
con otro nombre.img
a regexp en$allblocks
variable.wpautop
delthe_content
filtro.the_content
.fuente
tal vez esto ayude
Pero luego va a agregar los párrafos para todo lo demás manualmente.
fuente
Soska ha dado una / manera fácil.
Pero lo que hago es extraer la imagen del contenido y mostrarla por separado.
fuente
Esta publicación es un poco antigua, pero hay una solución mucho más simple, salvo CSS por su parte.
Envolver la etiqueta img en un div tiene poco efecto negativo.
fuente
Desarrollé un complemento que solucionó este problema exacto: http://wordpress.org/extend/plugins/unwrap-images/
Es mejor que configurar el margen, o sumergirse directamente en el código de Wordpress para aquellos que no quieren meterse con el código porque usa la función de desenvoltura nativa de jQuery para desenvolver todas las imágenes de sus etiquetas p.
¡Espero que esto ayude a alguien! Saludos, Brian
fuente
La respuesta aceptada me ayudó solo con las imágenes, pero el código revisado no maneja bien las imágenes vinculadas en mi sitio. Esta publicación de blog tiene un código que funciona perfectamente.
Aquí está el código:
¡Aclamaciones!
fuente
No soy un experto, pero acabo de pasar la tarde tratando de resolver de img envuelto en etiquetas p y esto funcionó para mí.
Estoy trabajando en un tema basado en WordPress y acabo de agregar esto al archivo functions.js
Función Jquery desenvolver
ahora puedo trabajar p e img por separado.
También puede agregar un div con una clase diferente alrededor del img usando esto:
este último no resolvió mi problema porque quería hacer etiquetas p con display: none; así que realmente tuve que sacar esos img de allí.
fuente
Dependiendo de la publicación, otra solución podría ser utilizar el complemento WP sin formato para deshabilitar la función de auto-p por publicación.
fuente
En caso de que alguien busque una forma rápida y sucia de arreglar esto para cualquier etiqueta, esto es lo que hice:
$allblocks = '(?:table|thead|tfoot|capti...
img
,a
, etc ... por ejemplo si termina en(...)menu|summary)';
el cambio a(...)menu|summary|a)';
añadir laa
etiqueta y evitar autopeeing ella. Tenga en cuenta el|
separador de tubería : ¡es la sintaxis de expresiones regulares !Eso es todo, feliz Wordpressing!
fuente