WP_PARSE_ARGS() │ WP 2.2.0
Функция WP_PARSE_ARGS() объединяет пользовательские параметры с параметрами по умолчанию. Этот инструмент широко используется в WordPress для объединения строк или массивов с другими массивами.
Возврат
Функция возвращает массив, который содержит объединённые пользовательские значения и значения по умолчанию.
Как использовать
wp_parse_args( $args, $defaults );- $args(обязательный) — значение (строка, массив или объект), которое нужно объединить с- $defaults.
- $defaults— массив значений по умолчанию. По умолчанию это пустой массив.
Примеры использования
Пример 1: Параметры в виде строки
$args = wp_parse_args( 'foo=val&bar=222' );
/*
$args будет равен:
array {
  foo => string(4) "val"
  bar => string(3) "222"
}
*/Пример 2: Передача параметров функции и установка значений по умолчанию
function foo( $args ) {
    // Определяем параметры по умолчанию
    $defaults = array(
        'param1' => 'value',
        'param2' => true,
        'param3' => 3,
    );
    // Объединяем пользовательские параметры с параметрами по умолчанию
    $args = wp_parse_args( $args, $defaults );
    print_r( $args );
}
foo( 'param1=value¶m2=0' );
/* Результат:
Array(
    [param1] => value
    [param2] => 0
    [param3] => 3
)
*/
foo( array(
    'param1' => 'что-то',
    'param2' => 0,
) );
/* Результат:
Array(
    [param1] => что-то
    [param2] => 0
    [param3] => 3
)
*/Пример 3: Использование в функции
// Определяем параметры по умолчанию
$defaults = array(
    'type'   => 'post',
    'before' => "",
    'after'  => "
n",
    'echo'   => TRUE
);
// Объединяем пользовательские параметры с параметрами по умолчанию
$args = wp_parse_args( $args, $defaults );Пример 4: Демонстрация работы функции
function explain_parse_args( $args ) {
    $defaults = array(
        'text' => 'wp_parse_args() объединяет $args и $defaults',
        'before' => "",
        'after'  => "
n",
        'echo'   => TRUE
    );
    // Получаем входящие параметры и сравниваем их с параметрами по умолчанию
    $args = wp_parse_args( $args, $defaults );
    $output = $args['before'] . $args['text'] . $args['after'];
    if ( $args['echo'] ) {
        echo $output;
    }
    return $output;
}
// Вызов функции без параметров
explain_parse_args(); 
// Результат: wp_parse_args() объединяет $args и $defaults
n
// Вызов функции с параметрами в виде массива
explain_parse_args( array (
    'text' => 'Лучшая oferta',
    'before' => ""
) );
// Результат: 
Лучшая oferta
n
// Вызов функции с параметрами в виде строки
explain_parse_args( 'echo=1&text=0' );
// Результат: nИзменения в версии
- С версии 2.2.0 — введена функция.
- С версии 2.3.0 — теперь $argsможет быть также объектом.
Код функции WP_PARSE_ARGS()
function wp_parse_args( $args, $defaults = array() ) {
    if ( is_object( $args ) ) {
        $parsed_args = get_object_vars( $args );
    } elseif ( is_array( $args ) ) {
        $parsed_args =& $args;
    } else {
        wp_parse_str( $args, $parsed_args );
    }
    if ( is_array( $defaults ) && $defaults ) {
        return array_merge( $defaults, $parsed_args );
    }
    return $parsed_args;
}Теперь вы знаете, как ис��ользовать функцию wp_parse_args() для удобного объединения параметров. Эта функция полезна как для начинающих, так и для опытных разработчиков WordPress.
 
						