Title: WP_Screen::render_list_table_columns_preferences
Published: December 9, 2015
Last modified: February 24, 2026

---

# WP_Screen::render_list_table_columns_preferences()

## In this article

 * [Source](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#wp--skip-link--target)

Renders the list table columns preferences.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#source)󠁿

    ```php
    public function render_list_table_columns_preferences() {

    	$columns = get_column_headers( $this );
    	$hidden  = get_hidden_columns( $this );

    	if ( ! $columns ) {
    		return;
    	}

    	$legend = ! empty( $columns['_title'] ) ? $columns['_title'] : __( 'Columns' );
    	?>
    	<fieldset class="metabox-prefs">
    	<legend><?php echo $legend; ?></legend>
    	<?php
    	$special = array( '_title', 'cb', 'comment', 'media', 'name', 'title', 'username', 'blogname' );

    	foreach ( $columns as $column => $title ) {
    		// Can't hide these for they are special.
    		if ( in_array( $column, $special, true ) ) {
    			continue;
    		}

    		if ( empty( $title ) ) {
    			continue;
    		}

    		/*
    		 * The Comments column uses HTML in the display name with some screen
    		 * reader text. Make sure to strip tags from the Comments column
    		 * title and any other custom column title plugins might add.
    		 */
    		$title = wp_strip_all_tags( $title );

    		$id = "$column-hide";
    		echo '<label>';
    		echo '<input class="hide-column-tog" name="' . $id . '" type="checkbox" id="' . $id . '" value="' . $column . '"' . checked( ! in_array( $column, $hidden, true ), true, false ) . ' />';
    		echo "$title</label>\n";
    	}
    	?>
    	</fieldset>
    	<?php
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-screen.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-admin/includes/class-wp-screen.php#L1153)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-admin/includes/class-wp-screen.php#L1153-L1194)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#related)󠁿

| Uses | Description | 
| [get_column_headers()](https://developer.wordpress.org/reference/functions/get_column_headers/)`wp-admin/includes/screen.php` |

Get the column headers for a screen

  | 
| [get_hidden_columns()](https://developer.wordpress.org/reference/functions/get_hidden_columns/)`wp-admin/includes/screen.php` |

Get a list of hidden columns.

  | 
| [wp_strip_all_tags()](https://developer.wordpress.org/reference/functions/wp_strip_all_tags/)`wp-includes/formatting.php` |

Properly strips all HTML tags including ‘script’ and ‘style’.

  | 
| [checked()](https://developer.wordpress.org/reference/functions/checked/)`wp-includes/general-template.php` |

Outputs the HTML checked attribute.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  |

[Show 1 more](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#)

| Used by | Description | 
| [WP_Screen::render_screen_options()](https://developer.wordpress.org/reference/classes/wp_screen/render_screen_options/)`wp-admin/includes/class-wp-screen.php` |

Renders the screen options tab.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_screen/render_list_table_columns_preferences/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.4.0](https://developer.wordpress.org/reference/since/4.4.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_screen%2Frender_list_table_columns_preferences%2F)
before being able to contribute a note or feedback.