
7折
减价出售
¥799
wp_parse_args()用外行人的话来说,这就是合并数组。 它之所以被频繁使用,是因为它允许函数接受多个参数,而不会使代码看起来混乱。然后,下一步是允许开发人员设置默认值。 这就是 wp_parse_args 的作用所在,它将传入的值与默认值合并。
wp_parse_args 是一个通用实用程序,用于将参数数组和默认值数组合并在一起。它还可以输入 URL 查询类型字符串,并将其转换为数组(例如“id=5&status=draft”)。
它在 WordPress 中广泛使用,避免了用户对默认值和输入逻辑的担忧,并构建了一套稳定的参数传递模式。query_posts、wp_list_comments 和 get_terms 等函数就是 wp_parse_args 强大简化能力的常见示例。
具有基于 $args 设置的函数能够无限扩展可能传递给它们的值的数量,从而避免了超长函数调用的烦恼,因为有太多参数需要跟踪,其中许多参数的唯一功能是在极少数情况下覆盖通常好的默认值。
函数将用户提供的参数与默认值数组智能合并:
$defaults = array(
'type' => 'post',
'posts_per_page' => 10,
'category' => ''
);
$user_args = array(
'posts_per_page' => 5,
'tag' => 'tech'
);
$final_args = wp_parse_args($user_args, $defaults);
/*
结果:
array(
'type' => 'post',
'posts_per_page' => 5,
'category' => '',
'tag' => 'tech'
)
*/
函数 | 输入类型 | 输出类型 | 是否递归合并 | WordPress专用 |
---|---|---|---|---|
wp_parse_args() | 数组/字符串/对象 | 数组 | 否 | 是 |
array_merge() | 数组 | 数组 | 否 | 否 |
array_merge_recursive() | 数组 | 数组 | 是 | 否 |
wp_parse_args() + shortcode_atts() | 数组/字符串 | 数组 | 是(组合使用) | 是 |
$defaults = array(
'display' => array(
'show_title' => true,
'show_excerpt' => false
),
'query' => array(
'posts_per_page' => 5
)
);
$args = array(
'display' => array(
'show_excerpt' => true
)
);
// 第一层合并
$merged = wp_parse_args($args, $defaults);
// 第二层合并
$merged['display'] = wp_parse_args($args['display'], $defaults['display']);
2. 与filter组合使用
$args = wp_parse_args($input_args, apply_filters('my_plugin_default_args', array(
'timeout' => 30,
'retry' => 3
)));
在开发高质量WordPress主题时,合理使用wp_parse_args()
可以:
减价出售
减价出售
减价出售
减价出售
电话咨询
1855-626-3292
微信咨询