Je souhaite donc que les paramètres par défaut soient définis pour chacun de mes plugins, et j'utilise wp_parse_args pour le faire, ce qui, à mon avis, est la bonne, mais je me heurte à un obstacle.
Voici mon code pour le moment:
function eddslider_options_each( $edd_slider_options ) {
$edd_slider_options = get_option( 'eddslider_options' );
/**
* Define the array of defaults
*/
$defaults = array(
'slider_insert' => 0,
'slider_arrows' => 0,
'slider_bullets' => 0,
'slider_effect' => 'fade',
'slider_theme' => 'default'
);
/**
* Parse incomming $args into an array and merge it with $defaults
*/
$edd_slider_options = wp_parse_args( $edd_slider_options, $defaults );
/**
* OPTIONAL: Declare each item in $args as its own variable i.e. $type, $before.
*/
extract( $edd_slider_options, EXTR_SKIP );
}
Maintenant, si j'ajoute quelque chose comme:
$output = $slider_insert;
return $output;
Je suis capable d'utiliser <?php echo eddslider_options_each('slider_insert'); ?>
et il aura le jeu par défaut défini et fonctionnera bien. Comment puis-je faire cela pour toutes les options? Merci.
Essayer:
function eddslider_options_each( $key ) {
$edd_slider_options = get_option( 'eddslider_options' );
/* Define the array of defaults */
$defaults = array(
'slider_insert' => 0,
'slider_arrows' => 0,
'slider_bullets' => 0,
'slider_effect' => 'fade',
'slider_theme' => 'default'
);
$edd_slider_options = wp_parse_args( $edd_slider_options, $defaults );
if( isset($edd_slider_options[$key]) )
return $edd_slider_options[$key];
return false;
}