Como una adición a @helgathevikings answer
Use el post_class () fn sin contaminar el espacio de nombres global
- Usar las variables
static
dentro de una clase permite el mismo comportamiento que tener variables globales: permanecen en su lugar y no cambian, a menos que no las alteres.
- Aún mejor (como sugirió @Milo en los comentarios), tome la publicación actual de la clase DB.
El ejemplo:
function wpse44845_add_special_post_class( $classes )
{
// Thanks to @Milo and @TomAuger for the heads-up in the comments
0 === $GLOBALS['wpdb']->current_post %3 AND $classes[] = 'YOUR CLASS';
return $classes;
}
add_filter( 'post_class','wpse44845_add_special_post_class' );
Actualizar
Podríamos utilizar la propiedad current_post
del objeto global $wp_query
. Usemos una función anónima , con la palabra clave use
, para transmitir el $wp_query
global por referencia ( PHP 5.3+ ):
add_filter( 'post_class', function( $classes ) use ( &$wp_query )
{
0 === $wp_query->current_post %3 AND $classes[] = 'YOUR CLASS';
return $classes;
} );
Más adelante, podríamos restringirlo al main loop con un in_the_loop()
verificación condicional.