我有两个循环和查询。
在页面顶部,我有这个代码。它仅显示名为"特色":
的类别中的最新帖子<?php
$latest_featured_post = new WP_Query ( array ( 'category_name' => 'featured', 'posts_per_page' => 1 ) );
while ($latest_featured_post->have_posts()) : $latest_featured_post->the_post();
?>
现在我想从同一页面上的另一个主要循环中排除该帖子,因为我不想让它显示两次。我试图通过在&#34;特色&#34;中捕获最新帖子的ID来实现这一点。类别,并将其传递给&lt; post__not_in&#39;争论,但我做错了。这是我的代码
<?php
$category_id = get_cat_ID('Događaji');
$exlude_latest_featured_post = array($latest_featured_post->ID);
$args = array(
'category__not_in' => array($category_id),
'post__not_in' => $exlude_latest_featured_post,
);
query_posts( $args );
while (have_posts()) : the_post(); ?>
<?php get_template_part('loop/content'); ?>
我尝试手动传递帖子的ID(例如,#post; not_in&#39; =&gt;数组(1337))并且它可以正常工作。这意味着我错误地抓住了&#34;特色&#34;最新的帖子ID。
我正在谷歌搜索答案,但我找不到任何有用的东西。希望有人在这里有时间和正确的答案
由于
答案 0 :(得分:1)
您可以通过get_the_id
函数捕获第一个循环的精选帖子ID,然后在后面的循环中使用它:
<?php
$latest_featured_post = new WP_Query ( array ( 'category_name' => 'featured', 'posts_per_page' => 1 ) );
while ($latest_featured_post->have_posts()) :
$latest_featured_post->the_post();
$featuredID = get_the_id();
?>
你的后一个循环:
$category_id = get_cat_ID('Događaji');
$exlude_latest_featured_post = array($featuredID);