web-dev-qa-db-fra.com

Existe-t-il des scripts, des classes et/ou des fonctions intégrés à WP pour un plugin pour exporter/importer ses données sauvegardées depuis wp_options?

Dans WordPress, existe-t-il des "plugins de script", des classes et/ou une fonction WordPress pris en charge qui permettent à un plugin d'utiliser pour exporter/importer ses propres données de la base de données vers un fichier txt/json? Un moyen d'aider à gérer les données d'une fonctionnalité de sauvegarde dans un plugin.

Original le code que j'ai travaillé sur un localhost, mais pas quand je suis allé vivre, et pour diverses raisons. Comme Oli l'avait déjà indiqué dans sa réponse, lorsque cela a été posté, "vous ne pouvez pas télécharger de fichiers AJAX". Ils ne sont pas pris en charge, mais vous pouvez les simuler. " Comment puis-je télécharger des fichiers de manière asynchrone avec jQuery? . Depuis lors, quelques réponses supplémentaires ont été ajoutées.

La plupart des problèmes surgissent lorsque vous utilisez un formulaire et une fonction ajax. Surtout quand un fichier ($ _FILE) est impliqué. Pour expliquer, j'essaie de suivre la route suivante HTTP-> JS-> PHP (AJAX) -> JS (AJAX) -> PHP (iFrame) au lieu de HTTP-> JS-> PHP (iFrame) en annulant l'envoi du formulaire afin qu'ajax puisse prendre le relais, puis qu'un iFrame soit créé et ciblé (au fait, s'agit-il d'un défaut de conception?).

En gros, je suis à la recherche de quelque chose, de préférence supporté par WordPress (script/classe/fonction), permettant de gérer les données entre de JS à PHP et de PHP à JS .

1
EkoJR

La seule installation d'importation/exportation native est celle située sous Outils dans l'admin. Et même que nécessite une extension (plugin) pour importer des formats différents.

C'est assez simple d'en construire un vous-même. Quelque chose dans le genre de:

$options = get_my_options();
header( 'Content-disposition: attachment; filename=my_export.txt' );
header( 'Content-Type: text/plain' );
echo json_encode( $options );
exit;

Et inversement:

if ( ! empty( $_FILES['my_import']['tmp_name'] ) ) {
   if ( $import = file_get_contents( $_FILES['my_import']['tmp_name'] ) ) {
       if ( $options =@ json_decode( $import ) ) {
           save_my_options( $options );
       }
   }
}
1
TheDeadMedic