widget_pages_args
云策文档标注
概述
widget_pages_args 是一个 WordPress 过滤器钩子,用于修改 Pages 小部件在检索页面列表时使用的参数。它允许开发者自定义页面显示,例如排序或排除特定页面。
关键要点
- 过滤器钩子:widget_pages_args,用于过滤 Pages 小部件的参数数组。
- 参数:接受两个参数:$args(页面列表参数数组)和 $instance(当前小部件设置数组)。
- 用途:常用于通过修改 $args 来调整页面显示,如设置 title_li、echo、sort_column 或 exclude。
- 版本历史:在 WordPress 4.9.0 中添加了 $instance 参数,最初在 2.8.0 中引入。
代码示例
add_filter( 'widget_pages_args', 'wp_list_pages_filter', 10, 1 );
function wp_list_pages_filter($args, $instance) {
global $secure_slug;
$remove_secure = array($secure_slug); // 或可以是 array(1,2,3,4)
$args['exclude'] = implode( ',', $remove_secure );
return $args;
}注意事项
此过滤器与 wp_list_pages() 函数相关,修改参数时需确保兼容性。在 WordPress 4.9.0 及以上版本中,可以使用 $instance 参数来访问小部件实例设置。
原文内容
Filters the arguments for the Pages widget.
Description
See also
Parameters
$argsarray-
An array of arguments to retrieve the pages list.
$instancearray-
Array of settings for the current widget.
Source
apply_filters(
'widget_pages_args',
array(
'title_li' => '',
'echo' => 0,
'sort_column' => $sortby,
'exclude' => $exclude,
),
$instance
)
Skip to note 2 content
Steven Lin
Example migrated from Codex:
The following removes certain pages from displaying in the WordPress default Display Pages widget.
add_filter( 'widget_pages_args', 'wp_list_pages_filter', 10, 1 ); function wp_list_pages_filter($args, $instance) { global $secure_slug; $remove_secure = array($secure_slug); // or could be array(1,2,3,4) $args['exclude'] = implode( ',', $remove_secure ); return $args; }