因此,我想为我的每个插件设置默认值,我正在使用wp\\u parse\\u args这样做,我认为这是正确的方法,但我遇到了障碍。
这是我目前的代码:
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 );
}
现在,如果我添加如下内容:
$output = $slider_insert;
return $output;
我可以使用
<?php echo eddslider_options_each(\'slider_insert\'); ?>
它将具有定义的默认集,并且工作良好。
How do I do this for every option though? 非常感谢。
最合适的回答,由SO网友:Stephen Harris 整理而成
Try:
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;
}