J'ai un thème avec environ 500 options personnalisées, leur code ressemble à ceci:
<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>
<input type="text" " value="<?php echo get_option('option1'); ?>" />
<input type="text" " value="<?php echo get_option('option2'); ?>" />
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="option1,option2" />
<input type="submit" value="<?php _e('Save Changes') ?>" />
</form>
Je suppose qu'ils sont tous stockés dans la table wp_options.
Le fait est que je ne parviens pas à enregistrer ces données; chaque fois que j'exporte/importe les paramètres Wordpress, ces valeurs d'options personnalisées disparaissent, le thème changeant les effaçant également.
Comment résoudre ce problème?
WordPress est conçu pour importer et exporter le contenu . En tant que tel, il n’existe aucun moyen intégré d’importer ou d’exporter les paramètres .
Cependant, certains auteurs de thèmes et de plugins ont intégré à leurs systèmes des outils permettant d'importer/exporter des fichiers XML que leurs systèmes peuvent utiliser comme options de stockage.
Un bon exemple est WordPress SEO par Yoast . Vous pouvez non seulement importer/exporter les paramètres de son plug-in, mais vous pouvez également importer les paramètres d'autres systèmes . Le plug-in de Yoast exporte un fichier .ini
qui contient des options et des paramètres au format suivant:
; This is a settings export file for the WordPress SEO plugin by Yoast.com - http://yoast.com/wordpress/seo/
[wpseo]
version = "1.0.3"
[wpseo_indexation]
0 =
[wpseo_permalinks]
[wpseo_titles]
[wpseo_rss]
[wpseo_internallinks]
[wpseo_xml]
Ceci n'est qu'un exemple. Ma recommandation personnelle est d’ajouter un bouton ou un autre déclencheur qui enregistre vos 500 options personnalisées dans un fichier XML. Vous devrez écrire cela vous-même, mais cela devrait être assez simple.
Vous pouvez ensuite importer ce même fichier XML, l'analyser et restaurer vos options. Encore une fois, quelque chose que vous devrez écrire, mais faisable.
Si vous souhaitez utiliser XML, je vous recommande de lire sur l'objet DOMDocument fourni avec PHP5. Cela facilite la création/lecture/manipulation de documents XML via PHP.