您正在使用全局$wp_query
不是您的自定义查询。要么宣布你的全球太像global $wp_query_archives
然后在sm_inline_post_class
在意识到使用全局变量的缺点或做一些类似的工作时进行回调:
$class = sm_inline_post_class( array(), $my_custom_query );
然后通过
$class
作为您的
post_class
调用(我想象您正在存档页面上使用此功能)。
然后,修改sm_inline_post_class
功能如下:
function sm_inline_post_class( $classes, $query = null ) {
global $wp_query;
$query = ( $query == null ) ? $wp_query : $query;
if( 0 == $query->current_post || 0 == $query->current_post % 3 ) {
$classes[] = \'first\';
return $classes;
}
但是,如果您使用自定义设置,则始终可以“先”附加到您
WP_Query
嵌套在
$wp_query
正好有
current_post
设置为3的倍数。
更安全的选择是使用不同的函数来获取类名:
$class = custom_inline_post_class( array(), $my_custom_query );
function custom_inline_post_class( $classes, $query ) {
if( 0 == $query->current_post || 0 == $query->current_post % 3 ) {
$classes[] = \'first\';
return $classes;
}