Pregunta sobre Arreglando WordPress de Wordpress:

Los saltos de línea dobles se cambiaron a saltos de una sola línea después de importar el archivo xml

Un usuario preguntó 👇

Después de importar todas las publicaciones de mi antigua instalación de wordpress, todos los saltos de línea dobles en las publicaciones fueron reemplazados por saltos de línea única

esto afectó en gran medida el formato del texto, después de la importación, el texto en las publicaciones se ve muy amplio, ya que los saltos de línea dobles generalmente se convierten en etiquetas de párrafo, pero debido a que ahora son saltos de línea única, interpretarlos como etiquetas br.

¿Alguien sabe de alguna manera de solucionar este problema?

las dos instalaciones de wordpress son v4.9.6

(@bcworkz)

Hace 2 años, 8 meses

No es posible determinar qué descansos individuales fueron dobles y qué descansos individuales se cree que son únicos. Supongo que hay solteros que en realidad son solteros en diferentes lugares; de lo contrario, podría hacer una búsqueda global y reemplazar todas las rupturas con duplicados.

Con tal ambigüedad en las pausas simples, tendría que volver a la fuente XML y convertir las pausas dobles en etiquetas p, luego volver a importar el archivo. Esto se puede hacer con una secuencia de comandos, pero es difícil crear la secuencia de comandos ya que se supone que las etiquetas p están emparejadas con etiquetas finales y no hay pausas. El script debería asumir que la etiqueta p inicial siempre ocurre inmediatamente después de la pausa doble anterior. Si este no es siempre el caso, esto puede ser un desastre. De todos modos, debería ser un resultado mucho mejor que el que tienes actualmente.

Otra posibilidad posible es importar manualmente los datos como archivos SQL a través de phpMyAdmin. Desea asegurarse de que los ID importados no entren en conflicto con el contenido existente en la base de datos de destino.

Lanzador de hilos

(@ steve442)

Hace 2 años, 8 meses

sí, gracias a bcworkz, intenté seguir la ruta de búsqueda y reemplazo pero no tuve suerte, y decidí que la mejor manera de hacerlo es su sugerencia de volcar la base de datos sql. el único problema es que mi acceso a la base de datos anterior está desconectado. Ahora solo tengo disponible el archivo xml de exportación de wordpress, pero cuando se abre en el editor de texto, los saltos de línea dobles todavía están en las publicaciones.

lo que le daría otra oportunidad al método de búsqueda y reemplazo, quería hacerlo en Notepad ++ pero no pudo encontrar la manera correcta de resolverlo.

(@bcworkz)

Hace 2 años, 8 meses

Cuando se refiere a saltos de línea dobles, ¿se refiere al tipo HTML como en <br><br> o estilo de archivo de texto como en rnrn? La búsqueda y reemplazo de HTML es sencillo, por lo que creo que tiene problemas con el retorno de un archivo de texto y los caracteres de nueva línea. En algunas aplicaciones, escriba rn para coincidir con el retorno real y los caracteres de nueva línea. En otros casos, al escribir shift-Enter se ingresarán los mismos caracteres en el campo. Incluso si no ve nada en el campo, la búsqueda y la ubicación en la que estos personajes estarán involucrados funcionarán.

(@jinschoi)

Hace 2 años, 4 meses

Me acabo de encontrar con el mismo problema. Ocurre cuando el importador encuentra una línea en blanco, la recorta y luego la omite si la línea de importación estaba vacía (línea 493 de plugins / wordpress-import / parsers.php).

La configuración más sencilla es utilizar el importador del analizador XML real instalando el módulo php-xml.

(@ scott8035)

Hace 2 años, 3 meses

Tengo el mismo problema. Esto parece ser una deficiencia bastante significativa en el plugin WP Import.

@jinschoi, ¿podrías describir tu arreglo? ¿WP Importer usará automáticamente un analizador diferente después de instalar php-xml? Estoy usando el alojamiento de SiteGround, ¿cómo puedo saber si está instalado o no?

(@ scott8035)

Hace 2 años, 3 meses

Actualización: utilicé el siguiente código PHP para comprobar si se instalaron los módulos denominados WP Import:

echo extension_loaded( 'simplexml' ) ? "SimpleXML loadedn" : "SimpleXML NOT loadedn";
echo extension_loaded( 'xml' )       ? "XML loadedn"       : "XML NOT loadedn";

Mis resultados fueron:

SimpleXML loaded
XML loaded

Entonces, si entiendo correctamente, el plugin de importación de WP debería estar usando el analizador SimpleXML (miré el código y lo verifica primero). ¿Debería intentar que cargue el módulo XML en su lugar?

(@ scott8035)

Hace 2 años, 3 meses

Actualización: hay tres analizadores, SimpleXML, XML y un analizador basado en Regex. No pude validar el analizador XML porque mi archivo de importación era demasiado grande y alcancé la memoria máxima que podía asignar. Los otros dos problemas, SimpleXML y Regex, son la causa del problema original de esta publicación, que es que dos filas seguidas n (o r n) caen en una, después de lo cual wpautop lo convierte en
en lugar de envolver el bloque de texto en

.

Tendré que escribir una utilidad rápida que pueda usar para mover el contenido correcto 🙁

(@jinschoi)

Hace 2 años, 3 meses

Puede ver la salida de phpinfo (); para ver qué módulos están cargados. También tengo instalado SimpleXML, que se probó primero, por lo que probablemente fue lo que se usó al final.

Un posible problema con el que me encontré: si el archivo de exportación no se valida correctamente, el analizador fallará y pasará al siguiente, y el analizador Regex finalmente tiene el nuevo problema. En una Mac, «xmllint —noout file.xml» le dará una verificación rápida para ver si su archivo de importación es válido. Estoy seguro de que puede encontrar algo similar en Linux.

Un carácter de control aleatorio en mi archivo se insertó en el cuerpo de una publicación en algún lugar, que debía eliminarse antes de que pudiera importarse correctamente.

(@ scott8035)

Hace 2 años, 2 meses

Bueno, tuve que resucitar este tema para completar el proyecto. Finalmente lo resolví escribiendo un convertidor para el archivo de exportación XML que maneja la línea doble de la misma manera que lo hace WordPress: usando el wpautop función. Creo que esto es lo más cercano a una importación «perfecta». Mira https://scotthom.com/wordpress-import-with-wpautop/ para más detalles.

(@mwsmedia)

Hace 2 años

@ scott8035 – agradable ingenioso; y diré (incluso antes de intentarlo) que agradezco el esfuerzo, porque tengo un proyecto de cliente en marcha que crea este problema.

Solo tiene una pregunta crítica antes de que intente usarla en las quinientas publicaciones de mi cliente:

¿El archivo php que creó se ejecuta de forma independiente, fuera de WordPress? ¿Dónde debería instalarse el archivo en mi servidor?

Gracias nuevamente por el arduo trabajo y gracias de antemano por su respuesta.

– Matt

(@ scott8035)

Hace 2 años

@mwsmedia, el archivo se ejecuta independientemente de WordPress, en el directorio donde está instalado WP (el mismo directorio donde está su wp-config.php).

(@mwsmedia)

Hace 2 años

Gracias, @ scott8035 – gran obligación de respuesta rápida.

¿Quizás su archivo podría ser un plugin? ¿Al menos hasta que Automattic realice su acción en la herramienta de importación / exportación …?

De cualquier manera, nuevamente, gracias por el trabajo.

(@mwsmedia)

Hace 2 años

Hmmm … perdóname, @ scott8035, pero tengo que ser un poco compacto. He instalado fix-wordpress-export-wpautop.php en la raíz de mi instalación de WP (mismo directorio que wp-config.php) … ¿y ahora qué? Cuando lo instalé en mi navegador (http://mysite.com/fix-wordpress-export-wpautop.php), Solo aparece una pantalla en blanco.

(@ scott8035)

Hace 2 años

@mwsmedia, es un programa de línea de comandos.

(@ scott8035)

Hace 2 años

@ mwsmedia, … lo que significa que lo ejecuta en la línea de comando de esta manera:

php fix-wordpress-export-wpautop.php < input.xml > output.xml

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *