WP_PARSE_ARGS() – объединение пользовательских и значений по умолчанию. Примеры и код функции.

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.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *