回答:
私のアプローチ。追加機能なし、フィルターなし。:)
<?php $GLOBALS['wpdb']->current_post = 0; ?>
<div <?php post_class( 0 === ++$GLOBALS['wpdb']->current_post % 3 ? 'third' : '' ); ?>>代替案:
<div <?php post_class( 0 === ++$GLOBALS['wpdb']->wpse_post_counter % 3 ? 'third' : '' ); ?>>Notice: Undefined property: wpdb::$current_post in
                    @helgathevikingsの回答の追加として
staticクラス内で変数を使用すると、グローバル変数を持つのと同じ動作が可能になります。変数を変更しない限り、変数はそのままで変化しません。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' );current_postグローバル$wp_queryオブジェクトのプロパティを利用できます。キーワード付きの匿名関数を使用useして、グローバル$wp_query参照を渡します(PHP 5.3+):
add_filter( 'post_class', function( $classes ) use ( &$wp_query )
{
    0 === $wp_query->current_post %3 AND $classes[] = 'YOUR CLASS';
    return $classes;
} );さらに、条件付きチェックでメインループに制限することもできin_the_loop()ます。
$wpdb->current_postですか?
                    テーマがpost_class()を使用して投稿クラスを生成する場合は、試してみてください。私はそれがページネーションをどのように処理するか100%確信していません
add_filter('post_class','wpa_44845');
global $current_count;
$current_count = 1;
 function wpa_44845( $classes ){
    global $current_count;
    if ($current_count %3 == 0 ) $classes[] = 'special-class';
    $current_count++;
    return $classes;
 }static代わりにvarを使用できると思いますglobal。とにかく:+1。
                    $wpdb->current_post別の変数を作成せずに使用することもできます。