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

4

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 lorsque j'y accède depuis /wp-admin/options.php , je suis en mesure de voir les données brutes, mais alors que les options Wordpress principales sont verrouillées, elle est mentionnée avec SERIALIZED DATA . Je veux mettre en œuvre quelque chose comme ça.

    
posée devc 02.08.2011 - 17:40

1 réponse

6

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

$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 dés-sérialisera automatiquement les 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 à partir de la page options.php, vous devez enregistrer chaque option individuellement. Je ne recommanderais pas cela. Ce que je recommande, c’est de créer votre propre page d’options pour modifier vos options. Un certain nombre de tutoriels peuvent vous aider à démarrer.

enlace

est un bon point de départ. Et consultez également API de configuration

    
réponse donnée Brady 02.08.2011 - 18:32

Lire d'autres questions sur les étiquettes