Blog

Post class módosítás

Post class segítségével a loop-ban adhatunk meg az adott bejegyzéshez tartozó CSS osztályokat az alábbi módon:

<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>


HTML kimenetünk körülbelül az alábbi lesz:

<div id="post-4564" class="post post-4564 category-48 category-dancing logged-in">

Ezen post_class funkciót könnyedén ki tudjuk egészíteni számunkra értékes és gyakran használt funkciókkal, például így:

function additional_post_classes( $classes ) {
	global $wp_query;

	if( $wp_query->found_posts < 1 ) {
		return $classes;
	}

	if( $wp_query->current_post == 0 ) {
		$classes[] = 'post-first';
	}

	if( $wp_query->current_post % 2 ) {
		$classes[] = 'post-even';
	} else {
		$classes[] = 'post-odd';
	}

	if( $wp_query->current_post == ( $wp_query->post_count - 1 ) ) {
		$classes[] = 'post-last';
	}

	return $classes;
}
add_filter( 'post_class', 'additional_post_classes' );

Ezen kódot, ha a wordpress sablonunk functions.php fájljába illesszük. Így a post_class HTML kimenetünk ki fog egészülni post-first osztállyal, ami az első posztot jelzi, egy post-last osztállyal, amely az utolsó bejegyzésünk lesz és egy gyakran használt odd-even kombinációval.