PHP 8.1.33
Preview: screen.php Size: 6.20 KB
/home/jambtst2015/public_html/wp-admin/includes/screen.php

<?php
/**
 * WordPress Administration Screen API.
 *
 * @package WordPress
 * @subpackage Administration
 */

/**
 * Get the column headers for a screen
 *
 * @since 2.7.0
 *
 * @param string|WP_Screen $screen The screen you want the headers for
 * @return string[] The column header labels keyed by column ID.
 */
function get_column_headers( $screen ) {
	if ( is_string( $screen ) ) {
		$screen = convert_to_screen( $screen );
	}

	static $column_headers = array();

	if ( ! isset( $column_headers[ $screen->id ] ) ) {
		/**
		 * Filters the column headers for a list table on a specific screen.
		 *
		 * The dynamic portion of the hook name, `$screen->id`, refers to the
		 * ID of a specific screen. For example, the screen ID for the Posts
		 * list table is edit-post, so the filter for that screen would be
		 * manage_edit-post_columns.
		 *
		 * @since 3.0.0
		 *
		 * @param string[] $columns The column header labels keyed by column ID.
		 */
		$column_headers[ $screen->id ] = apply_filters( "manage_{$screen->id}_columns", array() );
	}

	return $column_headers[ $screen->id ];
}

/**
 * Get a list of hidden columns.
 *
 * @since 2.7.0
 *
 * @param string|WP_Screen $screen The screen you want the hidden columns for
 * @return string[] Array of IDs of 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();

		/**
		 * 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 );
}

/**
 * Prints the meta box preferences for screen meta.
 *
 * @since 2.7.0
 *
 * @global array $wp_meta_boxes
 *
 * @param WP_Screen $screen
 */
function meta_box_prefs( $screen ) {
	global $wp_meta_boxes;

	if ( is_string( $screen ) ) {
		$screen = convert_to_screen( $screen );
	}

	if ( empty( $wp_meta_boxes[ $screen->id ] ) ) {
		return;
	}

	$hidden = get_hidden_meta_boxes( $screen );

	foreach ( array_keys( $wp_meta_boxes[ $screen->id ] ) as $context ) {
		foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) {
			if ( ! isset( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] ) ) {
				continue;
			}
			foreach ( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] as $box ) {
				if ( false == $box || ! $box['title'] ) {
					continue;
				}
				// Submit box cannot be hidden.
				if ( 'submitdiv' === $box['id'] || 'linksubmitdiv' === $box['id'] ) {
					continue;
				}

				$widget_title = $box['title'];

				if ( is_array( $box['args'] ) && isset( $box['args']['__widget_basename'] ) ) {
					$widget_title = $box['args']['__widget_basename'];
				}

				$is_hidden = in_array( $box['id'], $hidden, true );

				printf(
					'<label for="%1$s-hide"><input class="hide-postbox-tog" name="%1$s-hide" type="checkbox" id="%1$s-hide" value="%1$s" %2$s />%3$s</label>',
					esc_attr( $box['id'] ),
					checked( $is_hidden, false, false ),
					$widget_title
				);
			}
		}
	}
}

/**
 * Gets an array of IDs of hidden meta boxes.
 *
 * @since 2.7.0
 *
 * @param string|WP_Screen $screen Screen identifier
 * @return string[] IDs of hidden meta boxes.
 */
function get_hidden_meta_boxes( $screen ) {
	if ( is_string( $screen ) ) {
		$screen = convert_to_screen( $screen );
	}

	$hidden = get_user_option( "metaboxhidden_{$screen->id}" );

	$use_defaults = ! is_array( $hidden );

	// Hide slug boxes by default.
	if ( $use_defaults ) {
		$hidden = array();
		if ( 'post' === $screen->base ) {
			if ( in_array( $screen->post_type, array( 'post', 'page', 'attachment' ), true ) ) {
				$hidden = array( 'slugdiv', 'trackbacksdiv', 'postcustom', 'postexcerpt', 'commentstatusdiv', 'commentsdiv', 'authordiv', 'revisionsdiv' );
			} else {
				$hidden = array( 'slugdiv' );
			}
		}

		/**
		 * Filters the default list of hidden meta boxes.
		 *
		 * @since 3.1.0
		 *
		 * @param string[]  $hidden An array of IDs of meta boxes hidden by default.
		 * @param WP_Screen $screen WP_Screen object of the current screen.
		 */
		$hidden = apply_filters( 'default_hidden_meta_boxes', $hidden, $screen );
	}

	/**
	 * Filters the list of hidden meta boxes.
	 *
	 * @since 3.3.0
	 *
	 * @param string[]  $hidden       An array of IDs of hidden meta boxes.
	 * @param WP_Screen $screen       WP_Screen object of the current screen.
	 * @param bool      $use_defaults Whether to show the default meta boxes.
	 *                                Default true.
	 */
	return apply_filters( 'hidden_meta_boxes', $hidden, $screen, $use_defaults );
}

/**
 * Register and configure an admin screen option
 *
 * @since 3.1.0
 *
 * @param string $option An option name.
 * @param mixed  $args   Option-dependent arguments.
 */
function add_screen_option( $option, $args = array() ) {
	$current_screen = get_current_screen();

	if ( ! $current_screen ) {
		return;
	}

	$current_screen->add_option( $option, $args );
}

/**
 * Get the current screen object
 *
 * @since 3.1.0
 *
 * @global WP_Screen $current_screen WordPress current screen object.
 *
 * @return WP_Screen|null Current screen object or null when screen not defined.
 */
function get_current_screen() {
	global $current_screen;

	if ( ! isset( $current_screen ) ) {
		return null;
	}

	return $current_screen;
}

/**
 * Set the current screen object
 *
 * @since 3.0.0
 *
 * @param string|WP_Screen $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen,
 *                                    or an existing screen object.
 */
function set_current_screen( $hook_name = '' ) {
	WP_Screen::get( $hook_name )->set_current_screen();
}

Directory Contents

Dirs: 0 × Files: 105

Name Size Perms Modified Actions
6.52 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.47 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
140.67 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
9.33 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.15 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.06 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.18 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
14.33 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
20.30 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
46.79 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.08 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.30 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.28 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
26.57 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.33 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
14.40 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
191.43 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
11.58 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.20 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
20.95 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
12.16 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.99 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
24.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.28 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.97 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
11.99 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.40 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
47.06 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
29.53 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
18.02 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
56.00 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
22.60 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
16.21 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
19.62 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
16.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
21.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.36 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.43 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.05 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
39.37 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
23.19 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
19.92 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
26.56 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.78 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
22.65 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
42.00 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.44 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
56.80 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.58 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.74 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
32.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
11.15 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
35.97 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
13.44 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
79.16 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.01 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
18.59 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
15.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
9.95 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.01 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.44 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
35.36 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
17.35 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.92 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
20.26 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
63.42 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
39.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.40 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
23.05 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
82.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
35.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
33.72 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.48 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.15 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
111.97 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.94 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
61.81 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
42.95 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.34 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.96 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
33.14 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
45.45 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
24.39 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.06 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
4.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
33.72 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
83.93 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
74.52 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
31.52 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
15.55 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
40.73 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.20 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.79 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
89.80 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
6.43 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
43.22 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
8.66 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
58.53 KB lrw-r--r-- 2025-10-08 16:39:39
Edit Download
33.07 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
103.38 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
18.03 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
10.53 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).