Title: WP_Media_List_Table::get_columns
Published: April 25, 2014
Last modified: May 20, 2026

---

# WP_Media_List_Table::get_columns(): string[]

## In this article

 * [Return](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#related)

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

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#return)󠁿

 string[] Array of column titles keyed by their column name.

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

    ```php
    public function get_columns() {
    	$posts_columns       = array();
    	$posts_columns['cb'] = '<input type="checkbox" />';
    	/* translators: Column name. */
    	$posts_columns['title']  = _x( 'File', 'column name' );
    	$posts_columns['author'] = __( 'Author' );

    	$taxonomies = get_taxonomies_for_attachments( 'objects' );
    	$taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' );

    	/**
    	 * Filters the taxonomy columns for attachments in the Media list table.
    	 *
    	 * @since 3.5.0
    	 *
    	 * @param string[] $taxonomies An array of registered taxonomy names to show for attachments.
    	 * @param string   $post_type  The post type. Default 'attachment'.
    	 */
    	$taxonomies = apply_filters( 'manage_taxonomies_for_attachment_columns', $taxonomies, 'attachment' );
    	$taxonomies = array_filter( $taxonomies, 'taxonomy_exists' );

    	foreach ( $taxonomies as $taxonomy ) {
    		if ( 'category' === $taxonomy ) {
    			$column_key = 'categories';
    		} elseif ( 'post_tag' === $taxonomy ) {
    			$column_key = 'tags';
    		} else {
    			$column_key = 'taxonomy-' . $taxonomy;
    		}

    		$posts_columns[ $column_key ] = get_taxonomy( $taxonomy )->labels->name;
    	}

    	/* translators: Column name. */
    	if ( ! $this->detached ) {
    		$posts_columns['parent'] = _x( 'Uploaded to', 'column name' );

    		if ( post_type_supports( 'attachment', 'comments' ) && get_option( 'wp_attachment_pages_enabled' ) ) {
    			$posts_columns['comments'] = sprintf(
    				'<span class="vers comment-grey-bubble" title="%1$s" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span>',
    				esc_attr__( 'Comments' ),
    				/* translators: Hidden accessibility text. */
    				__( 'Comments' )
    			);
    		}
    	}

    	/* translators: Column name. */
    	$posts_columns['date'] = _x( 'Date', 'column name' );

    	/**
    	 * Filters the Media list table columns.
    	 *
    	 * @since 2.5.0
    	 *
    	 * @param string[] $posts_columns An array of columns displayed in the Media list table.
    	 * @param bool     $detached      Whether the list table contains media not attached
    	 *                                to any posts. Default true.
    	 */
    	return apply_filters( 'manage_media_columns', $posts_columns, $this->detached );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-media-list-table.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-admin/includes/class-wp-media-list-table.php#L364)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-admin/includes/class-wp-media-list-table.php#L364-L424)

## 󠀁[Hooks](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#hooks)󠁿

 [apply_filters( ‘manage_media_columns’, string[] $posts_columns, bool $detached )](https://developer.wordpress.org/reference/hooks/manage_media_columns/)

Filters the Media list table columns.

 [apply_filters( ‘manage_taxonomies_for_attachment_columns’, string[] $taxonomies, string $post_type )](https://developer.wordpress.org/reference/hooks/manage_taxonomies_for_attachment_columns/)

Filters the taxonomy columns for attachments in the Media list table.

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

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

Retrieves the translation of $text and escapes it for safe use in an attribute.

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

Filters a list of objects, based on a set of key => value arguments.

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

Retrieves all of the taxonomies that are registered for attachments.

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

Checks a post type’s support for a given feature.

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

Retrieves translated string with gettext context.

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

Retrieves the translation of $text.

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

Retrieves the taxonomy object of $taxonomy.

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

Calls the callback functions that have been added to a filter hook.

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

Retrieves an option value based on an option name.

  |

[Show 5 more](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_media_list_table/get_columns/?output_format=md#)

## User Contributed Notes

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