WordPress : Options de thème WordPress et insérer la valeur par défaut pour sérialiser les données

Publié par Jean-Michel le

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.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *