जवाबों:
मेरा दृष्टिकोण। कोई अतिरिक्त कार्य नहीं, कोई फ़िल्टर नहीं। :)
<?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
?
यदि आपकी थीम पोस्ट क्लासेस बनाने के लिए पोस्ट_क्लास () का उपयोग करती है, तो आप कोशिश कर सकते हैं। मैं 100% निश्चित नहीं हूँ कि यह कैसे संभालेगा pagination b / ci इसके परीक्षण के लिए मेरे स्थानीय इंस्टा पर पर्याप्त पोस्ट नहीं हैं
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
बजाय एक संस्करण का उपयोग कर सकते हैं global
। वैसे भी: +1।
$wpdb->current_post
एक और चर बनाने के बिना उपयोग कर सकते हैं ।
सीएसएस और जावास्क्रिप्ट के साथ ऐसा करने के तरीके भी हैं।
CSS3 के साथ आप प्रत्येक तीसरे पोस्ट को nth-child selector के साथ लक्षित करते हैं।
article.post:nth-child(3n+0)
{
background-color: #777;
}
या jQuery के साथ, आप उसी तकनीक का उपयोग करके CSS वर्ग जोड़ सकते हैं।
jQuery(function($) {
$( "article.post:nth-child(3n+0)" ).addClass("custom-class");
});