Quelle est la différence entre les options et les paramètres?

12

Et lequel devrais-je utiliser?

Quelle est la différence entre API Options et API de paramétrage ?

J'ai un thème avec plus de 100 options d'administration. Comment puis-je enregistrer & les stocker? En ce moment, j'utilise API Options mais je ne suis pas trop satisfait, toutes les options sont enregistrées séparément. créer beaucoup de requêtes de base de données.

Je vois trois façons de stocker les options / paramètres de WordPress en ce moment:

1. Options API: l'ancienne méthode (la pire?).

(j'utilise déjà celui-ci)

<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>        

// all the inputs

<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="option1,option2,option3,..." />
<p class="submit">
<input type="submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>

Et ensuite au début:

echo get_option('option1'); 

Ça a l'air moche et je ne pense pas que ce soit la bonne façon de stocker un grand nombre d'options (j'aimerais les grouper d'une manière ou d'une autre).

2. Options API - 1 option en tant que grand tableau.

Je ne suis pas sûr de savoir comment mettre à jour ce tableau à l’aide de formulaires HTML. Je crois que cela devrait ressembler à:

$opt['option1'] = foo
$opt['option2'] = foo
$opt['option3'] = bar

update_option('theme_settings',$opt);

Et ensuite en tête:

$settings = get_option('theme_settings');
echo $settings['option1']; 
echo $settings['option2']; 
echo $settings['option3']; 

J'ai entendu dire que cela réduisait vraiment le nombre de requêtes et je les ai toutes comme une option. J'adorerais utiliser celui-ci, mais comme je l'ai mentionné ci-dessus, je ne suis pas sûr de savoir comment mettre à jour ce tableau d'options dans le formulaire d'administrateur de Wordpress. Je suppose que: <input type="hidden" name="theme_settings" value="option1,option2,option3,..." /> écrasera le tableau au lieu d’ajouter de nouveaux éléments?

3. API de paramètres - la nouvelle méthode.

Nécessite beaucoup de code supplémentaire:

function register_theme_settings() {
    //register our settings   
    register_setting( 'theme-settings', 'option1' );     
    register_setting( 'theme-settings', 'option2' );     
    register_setting( 'theme-settings', 'option3' );     
    register_setting( 'theme-settings', 'option4' );     
    register_setting( 'theme-settings', 'option5' );     
    // imagine this for 100 and more options    
};

Et je ne suis pas sûr de la différence entre ceci et la méthode avec une option sous forme de tableau?

tl; dr Alors, comment dois-je projeter le stockage de mes paramètres de thème afin qu'il fonctionne rapidement et stocke toutes les options / paramètres au même endroit , je serai donc en mesure de, par exemple, les renvoyer avec une fonction simple (oui, je veux le faire mal mais je ne sais pas comment faire avec ce paramètre API). La deuxième méthode semble la meilleure à ce jour.

    
posée Wordpressor 02.02.2012 - 01:28

1 réponse

10

L'API Options est principalement une API de base de données, vous permettant d'obtenir et de stocker facilement des valeurs dans la table d'options de la base de données.

L'API de paramètres est une API d'interface. Il vous permet de créer des écrans de paramètres d’une manière qui s’adapte aux modifications futures de l’interface WordPress, ainsi que de gérer la sécurité (informations, listes blanches et validation, etc.) automatiquement et plus facilement que de faire rouler votre propre code.

Pour en savoir plus sur l'API Settings: enlace

    
réponse donnée Otto 02.02.2012 - 03:44

Lire d'autres questions sur les étiquettes