web-dev-qa-db-fra.com

Enregistrer le contenu de wp_editor () en tant qu'option

J'ai quelques problèmes avec une fonctionnalité supplémentaire que j'écris pour mon thème.

L'administrateur devrait pouvoir créer des publications spéciales, ces publications étant stockées en option. Les options sont présentées sous forme de tableau et WP crée son propre json pour les tableaux.

Ainsi, l'utilisateur a un wp_editor (), et le tableau stocké ressemble à ceci:

array(
    'title' => 'My title',
    'content' => 'Look at my cat! <img src="mycat.jpg" />', //Generated by wp-editor
    'signature' => 'My name'
);

Le fait est que, lorsqu'une image est ajoutée à ce contenu, la chaîne d'image est assez mal échappée. Quand j'essaie d'obtenir ce contenu, je l'obtiens en tant que

<img src="\"mycat.jpg\"" />

au lieu de

<img src="mycat.jpg" />

Comment puis-je stocker un contenu comme celui-ci dans le tableau wp-options afin que je puisse bien le comprendre lorsque j'essaie d'obtenir le contenu?

1
gubbfett

Si vous voulez juste vous débarrasser des caractères \ de la chaîne renvoyée, vous pouvez utiliser le PHP stripslashes() :

$content = stripslashes( $content );

Je recommanderais de le faire en sortie plutôt qu'en entrée; WordPress ajoute les barres obliques au fur et à mesure qu'il désinfecte vos données, par la page Codex update_option() ,

La valeur $option (nom de l'option) est échappée avec $wpdb->escape avant l'instruction INSERT.

Voir Validation des données pour plus d'informations .

2
Pat J