Como complemento à @helgathevikings answer
Use o post_class () fn sem poluir o namespace global
- O uso de variáveis
static
dentro de uma classe permite o mesmo comportamento de variáveis globais: elas permanecem no lugar e não mudam, a menos que você não as altere.
- Ainda melhor (como @Milo sugerido nos comentários), pegue a postagem atual da classe DB.
O exemplo:
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' );
Atualizar
Podemos utilizar a propriedade current_post
do objeto global $wp_query
. Vamos usar uma função anônima , com a palavra-chave use
, para passar o global $wp_query
por referência ( PHP 5.3 + ):
add_filter( 'post_class', function( $classes ) use ( &$wp_query )
{
0 === $wp_query->current_post %3 AND $classes[] = 'YOUR CLASS';
return $classes;
} );
Mais adiante, poderíamos restringi-lo ao loop principal com um in_the_loop()