钩子文档

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
)

Changelog

Version Description
4.9.0 Added the $instance parameter.
2.8.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    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;
    }