Использование аргументов wp-анализа для настройки параметров плагина по умолчанию


Поэтому я хочу, чтобы для каждого из моих плагинов были установлены настройки по умолчанию, и для этого я использую wp_parse_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'); ?>, и он будет иметь определенный набор по умолчанию и хорошо работать. Как мне сделать это для каждого варианта? Спасибо.

Author: fuxia, 2012-10-11

1 answers

Попробуйте:

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;
}
 2
Author: Stephen Harris, 2012-10-11 10:09:53