apply_filters( "manage_{$post_type}_posts_columns", string[] $post_columns )
Filters the columns displayed in the Posts list table for a specific post type.
Contents
Description
The dynamic portion of the hook name, $post_type
, refers to the post type slug.
Possible hook names include:
manage_post_posts_columns
manage_page_posts_columns
Parameters
-
$post_columns
string[] -
An associative array of column headings.
More Information
$post_columns is an associative array of “column name” ⇒ “label”. The “column name” is passed to callback functions to identify the column. The “label” is shown as the column header.
Built-in Column Types:
Note: Listed in order of appearance. By default, all columns supported by the post type are shown.
cb: Checkbox for bulk actions.
title: Post title. Includes “edit”, “quick edit”, “trash” and “view” links. If $mode (set from $_REQUEST[‘mode’]) is ‘excerpt’, a post excerpt is included between the title and links.
author: Post author.
categories: Categories the post belongs to.
tags: Tags for the post.
comments: Number of pending comments.
date: The date and publish status of the post.
Source
File: wp-admin/includes/class-wp-posts-list-table.php
.
View all references
return apply_filters( "manage_{$post_type}_posts_columns", $posts_columns );
Changelog
Version | Description |
---|---|
3.0.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
For further management of columns, check:
https://developer.wordpress.org/reference/hooks/manage_post-post_type_posts_custom_column/
To set the custom column values
https://developer.wordpress.org/reference/hooks/list_table_primary_column/
To set the primary (default) column
Example migrated from Codex:
Add Columns
Suppose you have a ‘books’ custom post type and you want to add the publisher and book author in the edit page but remove the post author.
To reorder columns
Just use the
$custom_col_order
array to reorder the columns in{$post_type}
.NOTE: in the above example,
item
is the custom post typeExample migrated from Codex:
Replace Columns
Here’s another example that completely replaces the columns, rather than adding and removing specific ones.
Be careful with your choice of column name.
I decided to use
tags
as a column name (key on the array) and spent a few minutes wondering why no value was appearing for the column. The function to pull out the data wasn’t even called. It is of course, a default field on the post type and the fuction won’t get called WP uses its default value.Prefixing the column fixed the issue.
Add a new column after an specific column. For example-
The code below adds a new column named “Wholesaler Price” After the price column of the WooCommerce product’s list table.
Helper function to insert an element after a specific array key
If you’re having trouble finding out how to find the name of your custom taxonomy column so you can reorder your columns with custom taxonomies like I was, the index in your $columns array is $columns[taxonomy-{taxonomy_name}].
For instance I had made a ‘Document Category’ custom taxonomy for my ‘Document’ Custom Post Type, so that index for me was $columns[taxonomy-document_category]. So the entire code to order my custom taxonomy with my new ‘Attachment Type’ column was: