web-dev-qa-db-fra.com

Manière correcte de sérialiser les données de la table d'options?

J'écris un plugin et il nécessite environ 15 options différentes donc j'utilise la sérialisation php. Je le fais par un tableau et une option de mise à jour avec des fonctions de sérialisation php.

mais quand j'y accède depuis /wp-admin/options.php, je peux voir les données brutes, mais alors que les options WordPress principales sont verrouillées, elles sont mentionnées SERIALIZED DATA. Je veux mettre en œuvre quelque chose comme ça.

5
devc

La bonne façon de stocker plusieurs options est d'utiliser un tableau multidimensionnel et de l'enregistrer dans un champ d'option.

$myopt = array(
    'variable1' => ...
    'variable2' => ...
    ....
);

Ensuite, passez simplement le tableau à update_option()

update_option('my_settings_field', $myopt);

Si vous passez un tableau, WP sérialisera automatiquement les données pour vous.

Puis relire:

$myopt = get_option('my_settings_field');

WP annulera automatiquement la sérialisation des données et les replacera dans un tableau.

Vous avez mentionné que sur options.php, vous voyez que l'option est affichée sous la forme SERIALIZED DATA, car vous ne pouvez pas éditer de manière fiable des données sérialisées sous forme de chaîne. Si vous voulez pouvoir modifier vos options depuis la page options.php, vous devrez alors enregistrer chaque option individuellement. Je ne recommanderais pas cela. Ce que je recommande, c’est de créer votre propre page d’options pour éditer vos options. Un certain nombre de tutoriels peuvent vous aider à démarrer.

http://codex.wordpress.org/Creating_Options_Pages

Est-ce un bon point de départ. Et aussi vérifier Paramètres API

7
Brady