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.