get_hidden_columns()
云策文档标注
概述
get_hidden_columns() 函数用于获取指定屏幕的隐藏列ID数组。它通过用户选项或默认值确定隐藏列,并应用过滤器进行自定义。
关键要点
- 参数 $screen 可以是字符串或 WP_Screen 对象,用于指定目标屏幕。
- 返回值为字符串数组,包含隐藏列的ID。
- 函数内部使用 get_user_option() 获取用户设置的隐藏列,若无设置则使用默认值。
- 提供两个过滤器:default_hidden_columns 用于过滤默认隐藏列,hidden_columns 用于过滤最终隐藏列列表。
代码示例
function get_hidden_columns( $screen ) {
if ( is_string( $screen ) ) {
$screen = convert_to_screen( $screen );
}
$hidden = get_user_option( 'manage' . $screen->id . 'columnshidden' );
$use_defaults = ! is_array( $hidden );
if ( $use_defaults ) {
$hidden = array();
$hidden = apply_filters( 'default_hidden_columns', $hidden, $screen );
}
return apply_filters( 'hidden_columns', $hidden, $screen, $use_defaults );
}注意事项
- 确保 $screen 参数有效,否则可能导致错误。
- 隐藏列数据基于用户选项存储,不同用户或屏幕可能有不同设置。
- 使用过滤器时,注意参数顺序和类型,以避免意外行为。
原文内容
Get a list of hidden columns.
Parameters
$screenstring|WP_Screenrequired-
The screen you want the hidden columns for
Source
function get_hidden_columns( $screen ) {
if ( is_string( $screen ) ) {
$screen = convert_to_screen( $screen );
}
$hidden = get_user_option( 'manage' . $screen->id . 'columnshidden' );
$use_defaults = ! is_array( $hidden );
if ( $use_defaults ) {
$hidden = array();
/**
* Filters the default list of hidden columns.
*
* @since 4.4.0
*
* @param string[] $hidden Array of IDs of columns hidden by default.
* @param WP_Screen $screen WP_Screen object of the current screen.
*/
$hidden = apply_filters( 'default_hidden_columns', $hidden, $screen );
}
/**
* Filters the list of hidden columns.
*
* @since 4.4.0
* @since 4.4.1 Added the `use_defaults` parameter.
*
* @param string[] $hidden Array of IDs of hidden columns.
* @param WP_Screen $screen WP_Screen object of the current screen.
* @param bool $use_defaults Whether to show the default columns.
*/
return apply_filters( 'hidden_columns', $hidden, $screen, $use_defaults );
}
Hooks
- apply_filters( ‘default_hidden_columns’, string[] $hidden, WP_Screen $screen )
-
Filters the default list of hidden columns.
- apply_filters( ‘hidden_columns’, string[] $hidden, WP_Screen $screen, bool $use_defaults )
-
Filters the list of hidden columns.
Changelog
| Version | Description |
|---|---|
| 2.7.0 | Introduced. |