函数文档

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

Return

string[] Array of IDs of hidden columns.

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.