在最近的帖子侧边栏WordPress中突出显示了当前的帖子



im只是想知道我如何在另一个循环中读到的博客文章的帖子ID(即,侧栏中的最新帖子循环)

在我的单个POST PHP文件中,我有此代码创建一个变量

<?php while ( have_posts() ) : the_post(); ?>
                <?php get_template_part( 'content', 'single' ); ?>
                <?php $current_post_id = get_the_ID(); ?> 

            <?php endwhile; // end of the loop. ?>

然后在我的默认网络php文件中,在最近的帖子的循环中,我有一个...

<?php  while ($r->have_posts()) : $r->the_post(); ?>
    <?php $recent_post_id = get_the_ID(); ?>
    <li> <?php echo $recent_post_id; if ( $recent_post_id == $current_post_id ) { echo 'pass   '; } else { echo 'fail   ';} ?></li>
    <?php endwhile; ?>

每次给予失败,因此显然我所做的没有意义(我仍在学习)。我只是想知道是否有一种方法可以从第一个循环中获取发布ID,并在第二个循环中使用它。当我在第二个循环中回声current_post_id的那一刻,什么都没有。(关于突出显示当前帖子,一旦我有效,这将很容易。

感谢您的帮助。

在线上有很多有关如何在循环外获取ID的示例。

在窗口小部件代码中尝试一下:

    <?php  

    global $post;
    $current_post_id = $post->ID;

while ($r->have_posts()) : $r->the_post(); ?>

        <li> <?php echo $recent_post_id; if ( $recent_post_id == $current_post_id ) { echo 'pass   '; } else { echo 'fail   ';} ?><a href="<?php the_permalink() ?>" title="<?php echo esc_attr(get_the_title() ? get_the_title() : get_the_ID()); ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?></a></li>
        <?php endwhile; ?>

让我们知道它是否有效。

最新更新