Class WP_List_Table::get_views() in WordPress

wp list table get views
02 December 2024

Introduction to WP_List_Table::get_views()


Hello! Today, we want to talk about the method WP_List_Table::get_views() in WordPress. This method helps us display a set of information at the bottom or specific keys in tables. In other words, when you are managing lists of data in WordPress, you want to simplify the tasks by dividing this data into different sections.


For example, imagine you have a list of posts where you want to display different statuses like “Published” and “Draft.” The get_views() method can help you perform this task. By using this method, we can create links that allow users to easily navigate between different states.


This method is part of WP_List_Table which is used for displaying data in WordPress. Essentially, WP_List_Table allows us to present information in table format and get_views() assists us in displaying appropriate data links.


Let's discuss more about how to use this method and the customizations available for it. To use this method, you generally create a custom class that inherits from WP_List_Table and in it, you can call the get_views() method. By doing this, you can reflect your specific needs and different situations.


Code Example


class My_Custom_Table extends WP_List_Table {
function get_views() {
$views = array();
$views['all'] = '<a href="?post_type=my_post_type">All</a>';
$views['published'] = '<a href="?post_type=my_post_type&status=published">Published</a>';
$views['draft'] = '<a href="?post_type=my_post_type&status=draft">Draft</a>';

return $views;
}
// Other methods and necessary code
}

Code Explanation


class My_Custom_Table
This line creates a new class named My_Custom_Table that inherits from WP_List_Table.


function get_views()
Here, a method named get_views is defined.


$views = array();
A new array named $views is created to hold different links.


$views['all'] = '<a href="?post_type=my_post_type">All</a>';
A link is added to display all posts in the $views array.


$views['published'] = '<a href="?post_type=my_post_type&status=published">Published</a>';
A link for showing published posts is added.


$views['draft'] = '<a href="?post_type=my_post_type&status=draft">Draft</a>';
A link for showing draft posts is added.


return $views;
The $views array is returned to be displayed in the table.

FAQ

?

How can I filter published posts?

?

Can I add more than two statuses?

?

How can I customize the WP_List_Table class?

?

Can I use get_views in contexts other than posts?