¿Por qué pierdo todas las barras diagonales, es decir, "\", en mis blogs cuando importo archivos XML con el complemento de WordPress Importer?

4

Cuando quiero importar los archivos XML con la ayuda del complemento WordPress Importer, los blogs importados perderán todas las barras, es decir, "\", que están realmente contenidas en los archivos XML importados.

Dado que tengo que usar el complemento LaTeX (Latex for WordPress), se vuelve terrible.

De hecho, quizás semanas atrás, funcionó bien. No había tal problema en absoluto. Pero a partir de un día, encuentro que todo cambió. TT

¿Hay alguien que sepa lo que está pasando? ¡Muchas gracias!

    
pregunta shuiruge 28.04.2012 - 11:29

4 respuestas

4

El importador llama a wp_insert_post() que ejecuta stripslashes_deep() en los datos. Pero el exportador no ejecuta addslashes . Me parece un error.

Lo que puedes intentar es preparar los datos durante la exportación.

Cree un complemento con el siguiente contenido y actívelo antes de ejecutar la exportación:

<?php
/**
 * Plugin Name: Slash my export
 * Description: Adds extra back slashes to exported data.
 */

add_filter( 'the_content_export', 'addslashes' );
add_filter( 'the_excerpt_export', 'addslashes' );

No he probado esto, puede estar mal, puede tener efectos secundarios. stripslashes_deep() también puede comer barras adicionales ...

Debería abrir un error en Trac si este complemento soluciona su problema.

    
respondido por el fuxia 29.04.2012 - 10:39
1

El problema de la barra invertida faltante se informó a WordPress aquí:

enlace

y en su mayoría arreglados en 0.6.3:

enlace

Lamentablemente, el hecho de que falten barras invertidas en comentarios tampoco se informó y no se ha corregido. He enviado una solicitud de extracción que espero que se solucione:

enlace

Tenga en cuenta que el complemento también tiene un nuevo error que asigna una categoría Sin categoría a cada publicación, incluso si tiene una categoría. Eso no está relacionado con esta pregunta, pero es algo a tener en cuenta si está considerando usar este complemento. Discusión aquí:

enlace

Actualizar

La solución para las barras invertidas en los comentarios debería estar en la próxima versión secundaria, 0.6.4:

enlace

    
respondido por el Mark Berry 31.03.2017 - 03:15
0

Recientemente también encontré este problema y encontré una solución que funcionó para mí. En su carpeta de instalación de wordpress, busque la subcarpeta wp_includes y abra post.php. Mi versión contenía la línea:

$data = wp_unslash( $data );

(El manual de referencia de la función wordpress dice que wp_unslash es el reemplazo de stripslashes_deep () obsoleto, por lo que en una versión anterior de wordpress puede usar stripslashes_deep en lugar del comando anterior.)

Comenté esta línea, reimporté, y todas mis barras invertidas LaTeX estaban allí. Espero que esto ayude.

    
respondido por el Maria Monks Gillespie 27.01.2015 - 17:55
0

Descubrí que fue más fácil hacer una búsqueda global y reemplazarla por una sola barra invertida para doblar la barra invertida en un editor de texto. Estaba preocupado de que pudiera escapar algunas cosas importantes en el XML, por lo que el siguiente bit de PowerShell le dirá la etiqueta XML que rodea sus barras invertidas.

$r = Select-String '<([^>]*)>.*?\.*?' .\wordpress.2015-09-13.xml -AllMatches
$matches = $r | % { [PSCustomObject] @{ Tag = $_.Matches.Groups[1].Value; LineNumber = $_.LineNumber; Line = $_.Line } }
$matches

En mi caso, todas (excepto una) eran etiquetas HTML del contenido de la publicación.

PS> $matches | Foreach-Object Tag | Sort -Unique
/font
/SPAN
BR
content:encoded
div
font color="#000000"
FONT face="Courier New"
FONT face=Times color=#000000
LI
P
span style="color: "
span style="color: #000000"
SPAN style="COLOR: #006400"
span style="color: #cccc66; background-color: #012456"
SPAN style="COLOR: blue"
SPAN style="COLOR: green"
SPAN style="COLOR: maroon"
wp:comment_author

Eché un vistazo a la publicación wp: comment_author (alguien tenía barras invertidas en su nombre), y su nombre se importó bien en esa publicación.

    
respondido por el LeeHolmes 14.09.2015 - 04:47

Lea otras preguntas en las etiquetas