I'm using this function to retrieve body and single post classes from their slugs.
add_filter( 'post_class', 'fl_pages_bodyclass' );
add_filter('body_class','fl_pages_bodyclass');
function fl_pages_bodyclass($classes) {
if (is_page() || is_single() ) {
// get page slug
global $post;
$slug = get_post( $post )->post_name;
// add slug to $classes array
$classes[] = $slug;
// return the $classes array
return $classes;
} else {
return $classes;
}
}
This function is working fine, but I would like to include posts inside loops. I've tried removing if(is_ ..). Then it is working, but a problem arises on a 404 page - I got “Trying to get property of non-object in” error - so I've tried to exclude 404 page by
if (is_404() ) {
return $classes;
}
But it doesn't work. What am I doing wrong? Or how can I include posts in loops?
add_filter( 'post_class', 'fl_pages_bodyclass' ); add_filter('body_class','fl_pages_bodyclass'); function fl_pages_bodyclass($classes) { // get page slug global $post; $slug = get_post( $post )->post_name; // add slug to $classes array $classes[] = $slug; // return the $classes array return $classes; if (is_404() ) { return $classes; } }