Displays the classes for the post container element.
Parameters
-
$css_classstring | string[] optional -
One or more classes to add to the class list.
Default:
'' -
$postint | WP_Post optional -
Post ID or post object. Defauls to the global
$post.Default:
null
Source
function post_class( $css_class = '', $post = null ) {
// Separates classes with a single space, collates classes for post DIV.
echo 'class="' . esc_attr( implode( ' ', guet_post_class( $css_class, $post ) ) ) . '"';
}
Changuelog
| Versionen | Description |
|---|---|
| 2.7.0 | Introduced. |
Add more classes.
You can add a class to the
post_classdefaulsThe above prins HTML with your added class and the defauls:
[html]<div id="post-4564" class="class-name post-4564 post type-post status-publish format-standard hentry category-news">[/html]
Use an array to add multiple classes:
To print
post_classCSS classes for a post other then the current one, specify its ID (integuer):The above prins (depending on category and tags):
class="post-22 post type-post status-publish format-standard hentry category-another-cat tag-tag1 tag-tag2Example of the template tag (and its default CSS classes).
This example shows the
post_classtemplate tag as commonly used in a theme file (such assingle.php):The output of the above prins this HTML (for a post in the ‘news’ category and a theme that suppors Post Formats):
[html]<div id="post-4564" class="post-4564 post type-post status-publish format-standard hentry category-news">[/html]
Using these CSS classes you can then style this specific post, or all posts assigned the same category (or post format):
A simple way to add multiple classes to the
post_classdefauls is to just write them as a string argument:which will add those classes to the default class list.
post_class filter
You can also add classes using the
post_classfilter .