Pourquoi je perds toutes les barres obliques, c'est-à-dire «\», dans mes blogs lorsque j'importe des fichiers XML à l'aide du plug-in WordPress Importer?

4

Lorsque je veux importer les fichiers XML à l'aide du plug-in WordPress Importer, les blogs importés perdent toutes les barres obliques, c'est-à-dire "\", qui sont réellement contenues dans les fichiers XML importés.

Comme je dois utiliser le plug-in LaTeX (plug-in Latex for WordPress), cela devient terrible.

En fait, il y a peut-être des semaines, cela a bien fonctionné. Il n'y avait pas un tel problème du tout. Mais à partir d'un jour, je trouve que tout a changé. TT

Quelqu'un sait-il ce qui se passe? Merci beaucoup!

    
posée shuiruge 28.04.2012 - 11:29

4 réponses

4

L'importateur appelle wp_insert_post() qui exécute stripslashes_deep() sur les données. Mais l'exportateur n'exécute pas addslashes . Ça ressemble à un bug pour moi.

Vous pouvez essayer de préparer les données lors de l'exportation.

Créez un plug-in avec le contenu suivant et activez-le avant d'exécuter l'exportation:

<?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' );

Je n’ai pas testé cela, cela peut être faux, cela peut avoir des effets secondaires. stripslashes_deep() peut manger les barres supplémentaires aussi…

Vous devriez ouvrir un bogue sur Trac si ce plugin corrige votre problème.

    
réponse donnée fuxia 29.04.2012 - 10:39
1

Le problème de barre oblique inverse manquante a été signalé à WordPress ici:

enlace

et principalement corrigé en 0.6.3:

enlace

Malheureusement, le fait qu'il manque également des barres obliques inverses dans les commentaires n'a pas été signalé et n'a pas été corrigé. J'ai soumis une demande d'extraction qui, j'espère, résoudra le problème:

enlace

Notez que le plugin a également un nouveau bogue qui assigne une catégorie sans catégorie à chaque publication, même si elle en a une. Ce n'est pas lié à cette question, mais c'est quelque chose à noter si vous envisagez d'utiliser ce plugin. Discussion ici:

enlace

Mettre à jour

Le correctif pour les barres obliques inverses dans les commentaires devrait figurer dans la prochaine version mineure, 0.6.4:

enlace

    
réponse donnée Mark Berry 31.03.2017 - 03:15
0

J'ai récemment rencontré ce problème également et j'ai mis au point une solution qui fonctionnait pour moi. Dans votre dossier d'installation wordpress, accédez au sous-dossier wp_includes et ouvrez post.php. Ma version contenait la ligne suivante:

$data = wp_unslash( $data );

(Le manuel de référence des fonctions wordpress indique que wp_unslash est le remplacement de la commande obsolète stripslashes_deep (). Ainsi, dans une version plus ancienne de wordpress, il pourrait utiliser stripslashes_deep au lieu de la commande ci-dessus.)

J'ai commenté cette ligne, réimportée, et toutes mes barres obliques inverses LaTeX étaient présentes. J'espère que cela vous aidera.

    
réponse donnée Maria Monks Gillespie 27.01.2015 - 17:55
0

J'ai finalement trouvé qu'il était plus simple de faire une recherche globale et de remplacer les barres obliques inverses simples par des barres obliques inverses doubles dans un éditeur de texte. Je craignais que le code XML échappe à des éléments importants. Le texte suivant de PowerShell vous indiquera la balise XML entourant vos barres obliques inverses.

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

Dans mon cas, toutes (sauf une) étaient des balises HTML du contenu du message lui-même.

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

J'ai jeté un coup d'œil au message wp: comment_author (une personne avait des barres obliques inverses en son nom), et son nom a été importé correctement dans ce message.

    
réponse donnée LeeHolmes 14.09.2015 - 04:47

Lire d'autres questions sur les étiquettes