Et lequel dois-je utiliser?
Quelle est la différence entre l' API Options et l' API Setings ?
J'ai un thème avec plus de 100 options d'administration, comment dois-je m'enregistrer et les stocker? En ce moment, j'utilise l' API Options mais je ne suis pas trop satisfait, chaque option est enregistrée séparément, ce qui crée beaucoup de requêtes de base de données.
Je vois actuellement trois façons de stocker les options / paramètres de WordPress:
1. API d'options - l'ancienne (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 puis à l'avant:
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'adorerais les regrouper d'une manière ou d'une autre).
2. API d'options - 1 option en tant que grand tableau.
Je ne sais pas comment mettre à jour ce tableau à l'aide de formulaires html, n'importe qui? Je crois que ça devrait aller comme:
$opt['option1'] = foo
$opt['option2'] = foo
$opt['option3'] = bar
update_option('theme_settings',$opt);
Et puis à l'avant:
$settings = get_option('theme_settings');
echo $settings['option1'];
echo $settings['option2'];
echo $settings['option3'];
J'ai entendu dire que cela diminue vraiment le nombre de requêtes et je les ai toutes en une seule option. J'adorerais utiliser celui-ci mais comme je l'ai mentionné ci-dessus, je ne sais pas comment mettre à jour ce tableau d'options dans le formulaire d'administration Wordpress. Je suppose: <input type="hidden" name="theme_settings" value="option1,option2,option3,..." />
va écraser le tableau au lieu d'ajouter de nouveaux éléments?
3. Paramètres API - la nouvelle façon.
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 sais pas quelle est la différence entre cela et la méthode avec une option comme tableau?
tl; dr Alors, comment dois-je projeter le stockage de mes paramètres de thème pour qu'il fonctionne rapidement et stocke toutes les options / paramètres en un seul endroit afin que je puisse, par exemple, les faire écho / vider tous avec une seule fonction simple (oui , Je veux mal le faire mais je ne sais pas comment faire avec cette API de paramètres). La deuxième méthode semble la meilleure à ce jour.