Como una adición a la respuesta @helgathevikings
Utilice post_class () fn sin contaminar el espacio de nombres global
- Usar
static
variables dentro de una clase permite el mismo comportamiento que tener variables globales: permanecen en su lugar y no cambian, a menos que no las modifique.
- 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 current_post
propiedad del $wp_query
objeto global . Usemos una función anónima , con la use
palabra clave, para transmitir el global $wp_query
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 bucle principal con una in_the_loop()
verificación condicional.
Notice: Undefined property: wpdb::$current_post in