WordPress : Options de thème WordPress et insérer la valeur par défaut pour sérialiser les données
Comment ajouter des valeurs par défaut pour les options de thème ? Actuellement, j’utilise l’option de base de ce site
L’exemple stockera la valeur de l’option dans la sérialisation de la base de données. Lorsque nous activons le thème, il n’y a aucune valeur dans la base de données à la première fois jusqu’à ce que nous cliquions sur le bouton Enregistrer les modifications.
Maintenant, je veux ajouter une valeur par défaut lorsque le thème active quelque chose comme ça.
option_id blog_id option_name option_value autoload
152 0 theme_data a:16:{s:12:"html_doctype";s:1:"1";s:14:"header_fav... yes
Ou comment puis-je modifier l’option d’échantillon actuelle pour enregistrer non sérialisé dans la base de données
option_id blog_id option_name option_value autoload
152 0 html_doctype 1 yes
Fais-moi savoir.
Solution n°1 trouvée
Faites une boucle sur votre tableau d’options et générez un ensemble de valeurs par défaut à partir de cela.
Imaginons que votre tableau ressemble à ceci .. (mais évidemment plus grand )..
$your_options = array(
array(
'name' => 'option-one',
'desc' => 'Option one description',
'type' => 'text',
'std' => 'default_value'
),
..and so on.. for each option..
);
Vérifiez d’abord si vous avez des options, sinon, c’est la première installation afin que vous puissiez définir les valeurs par défaut.
$my_var_that_holds_options = get_option( 'your_theme_options_name' );
if( !$my_var_that_holds_options ) {
// Do code to setup defaults
}
Le code pour configurer les valeurs par défaut ira bien sûr là où j’ai mis // Do code to setup defaults
.
Tout d’abord, créez un tableau pour contenir les valeurs par défaut et bouclez sur le tableau d’options pour créer le nouveau tableau par défaut.
$defaults = array();
foreach( $your_options_var as $option_data ) {
$defaults[$option_data['name']] = $option_data['std'];
}
À la fin, vous aurez un tableau de noms d’options et de valeurs par défaut, que vous pourrez ensuite envoyer à la base de données.
update_option( 'your_theme_options_name', $defaults );
Si votre code doit parcourir les options pour définir les cases cochées, etc., appelez simplement get_option à nouveau après avoir enregistré les valeurs par défaut.
$my_var_that_holds_options = get_option( 'your_theme_options_name' );
Ou utilisez le tableau par défaut.
$my_var_that_holds_options = $defaults;
J’ai dû être assez général avec l’exemple, car l’approche sera différente selon la structure de votre tableau d’options.
Le facteur important ici est de s’assurer que votre tableau d’options contient une valeur « par défaut » (std dans l’exemple) pour chaque option sinon vous n’avez rien pour former vos valeurs par défaut.
J’ai converti des thèmes pour le faire une poignée de fois, si vous avez des difficultés à implémenter cela, n’hésitez pas à coller votre fichier avec le tableau d’options et j’y jetterai un coup d’il.
0 commentaire