apply_filters( 'post_class', array $classes, array $class, int $post_id )

Filters the list of CSS classes for the current post.


Description Description


Parameters Parameters

$classes

(array) An array of post classes.

$class

(array) An array of additional classes added to the post.

$post_id

(int) The post ID.


Top ↑

Source Source

File: wp-includes/post-template.php

View on Trac


Top ↑

Changelog Changelog

Changelog
Version Description
2.7.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note content
    Contributed by Aurovrata Venet

    The filter is called when ever the function get_post_class($class, $post_id) is called. It is called at the end of the of function.
    Internally WordPress will call this function in many places, including the admin dashboard pages. The filter allows you to filter the Array $classes which will be added to the page.
    Furthermore, the classes passed to the function call by say a plugin or a template will be passed as the 2nd parameter $class, and finally the third parameter is the ID of the post object being processed by the function.

  2. Skip to note content
    Contributed by Aurovrata Venet

    Custom classes for post table rows.

    This filter can be used to add additional classes to the rows of post in any edit.php post page of the dashboard,

    add_filter('post_class', 'set_row_post_class', 10,3);
    function set_row_post_class($classes, $class, $post_id){
        if (!is_admin()) { //make sure we are in the dashboard 
            return $classes;
        }
        $screen = get_current_screen(); //verify which page we're on
        if ('my-custom-type' != $screen->post_type && 'edit' != $screen->base) {
            return $classes;
        }
        //check if some meta field is set 
        $profile_incomplete = get_post_meta($post_id, 'profile_incomplete', true);
        if ('yes' == $profile_incomplete) {
            $classes[] = 'profile_incomplete'; //add a custom class to highlight this row in the table
        }
    
        // Return the array
        return $classes;
    }

You must log in before being able to contribute a note or feedback.