2010-10-18 9 views
0

J'essaie actuellement de travailler sur un plugin et je suis confronté à un problème. Fondamentalement, dans la page des options de plugin, j'ai un formulaire dans lequel l'utilisateur va entrer des informations pour un e-mail opt-in. Cependant, j'ai besoin de formulaires différents pour chaque instance du formulaire de courrier électronique. J'essaye de mettre cela ensemble rapidement, alors plutôt que de le réécrire, je suis simplement en train de modifier le code qui existe déjà.Passer une variable en argument à la fonction get_options() Wordpress

Voici le problème. Je passe la variable pour l'id de la liste opt-in spécifique au formulaire d'option. Mon intention est de l'utiliser comme suffixe pour chacun des champs d'options.

$savedvar1 ='email_capture_signup_'; 
    $savedvar1 .=$savedformname; 
    <input type="text" name="<?php echo $savedvar1;?>" class="regular-text code" value="<?php echo get_option($savedvar1); ?>" /> 

Le code fonctionne pour soumettre les données, mais je ne peux pas afficher la valeur enregistrée. Passer la variable via get_option() ne semble pas fonctionner. Je sais que je ne suis pas trop expérimenté avec le code Wordpress, mais est-il possible de passer cette information ou dois-je faire une requête de base de données via wpdb? Malheureusement, le nom des listes doit être dynamique (déterminé par l'utilisateur), donc je ne peux pas les coder en dur ici. Merci de votre aide.

Répondre

1

Vous voudrez peut-être essayer un moyen plus propre de stocker des options groupées. get_option et set_option peuvent fonctionner avec des objets et des tableaux, ils sont sérialisés dans la base de données et non sérialisés lors de la récupération.

Ainsi, le nom de l'option elle-même ne change jamais, mais les choses à l'intérieur le font. De cette façon, vous serez non seulement en mesure d'accéder à vos options en tant que tableau en utilisant des fonctions telles que isset, et vide, mais vous serez également en mesure de les parcourir. Ensuite, au cas où vous auriez besoin d'ajouter un champ supplémentaire, ajoutez simplement une variable supplémentaire à votre tableau et sauvegardez.