我有一个主滑块和新闻部分的主页。
主滑块通过标记=‘滑块’获得帖子,并显示10个posts限制。
各科按职类分列员额(每个部门按具体类别分列)
我想要做的是:将显示在滑块中的帖子排除在区段之外,直到文章退出滑块为止。
以下是滑块的代码和部分示例:
Slider代码:
$tag ,
'posts_per_page' => $count ,
'post__not_in' => get_option( 'sticky_posts' ),
)
);
?>
have_posts() ) : $slid->the_post(); ?>
';
}
?>Section新闻示例:
$cat_eco ,
'posts_per_page' => $count_eco ,
'post__not_in' => get_option( 'sticky_posts' ),
'offset' => 0,
)
);
?>
have_posts() ) : $eco->the_post();$n++; ?>
';
}
?>发布于 2019-01-31 17:51:30
我假设您将滑块代码保存在slder.php文件中,新闻部分代码保存在部分-news.php文件中,并在首页/home/index .php文件中跟踪这类代码段。
get_template_part('slider');
get_templates_part('section-news');然后您可以编辑slider.php文件并添加新的数组变量$do_not_ can 。因此,它将保留滑块的post is以供将来使用。这是滑块的新代码
$tag ,
'posts_per_page' => $count ,
'post__not_in' => get_option( 'sticky_posts' ),
)
);
?>
have_posts() ) :
$slid->the_post();
$do_not_duplicate[] = get_the_ID();
?>
';
}
?>现在我将把滑块柱排除在新闻循环之外。这是新闻部分的新代码。将$do_not数组与get_option( 'sticky_posts' )值合并,并传递到post_not_in数组键。
$cat_eco ,
'posts_per_page' => $count_eco ,
'post__not_in' => array_merge( $do_not_duplicate, $sticky_posts ),
'offset' => 0,
)
);
?>
have_posts() ) : $eco->the_post();$n++; ?>
';
}
?>发布于 2019-03-18 15:53:49
与朋友一起,我们找到了一个解决方案:-我们在functions.php中创建了一个排除函数-然后我们把它称为我们所去的地方。
这是functions.php的代码
// Function exlude
if( !function_exists('get_slide_ids') ){
function get_slide_ids() {
global $wp_query;
$POST_LIMIT = ap_option('slider_count');
$POST_TAG = ap_option('slider_tag');
$ids= [];
$args = array(
'post_status' => 'publish',
'tag' => $POST_TAG ,
'posts_per_page' => $POST_LIMIT ,
);
$wp_query = new WP_Query($args);
if ($wp_query->have_posts() ):
while ($wp_query->have_posts()) : $wp_query->the_post();
$ids[] = get_the_ID();
endwhile;
return $ids;
endif;
return '';
}
}为了调用它,添加不属于语法的语法,这是我的代码,只需尝试将它移植到您的代码中:
$cat_eco ,
'posts_per_page' => $count_eco ,
'post__not_in' => get_slide_ids(),
)
);
?>https://wordpress.stackexchange.com/questions/327284
复制相似问题