在Single.php中显示侧边栏中的所有帖子

时间:2018-12-09 作者:Prestosaurus

Wordpress 4。x个

为什么loop.php 在中查看帖子时,仅在侧栏中显示当前帖子single.php?

我有:

如果我查看“Post One”(single.php),侧栏仅显示“Post One”,如果我查看Wordpress admin中设置为“Blog”页面(index.php)的页面,我会在侧栏中看到所有帖子。

我的目标是在single.php 侧栏。最好删除当前的帖子!但主要是想了解这里的关系/结构。

使用基于的自定义主题HTML5 Blank theme, 无主要自定义功能。

第一个Wordpress站点,这感觉像是一个基本的结构方面。

sidebar.php

<aside class="sidebar column" role="complementary">

    <?php get_template_part(\'searchform\'); ?>

    <?php get_template_part(\'loop\'); ?>
    <?php get_template_part(\'pagination\'); ?>

    <div class="sidebar-widget">
        <?php if(!function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'widget-area-1\')) ?>
    </div>

    <div class="sidebar-widget">
        <?php if(!function_exists(\'dynamic_sidebar\') || !dynamic_sidebar(\'widget-area-2\')) ?>
    </div>

</aside>

loop.php

<?php if (have_posts()): while (have_posts()) : the_post(); ?>

    <article class="loop-template" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <!-- article content here -->

    </article>

<?php endwhile; ?>

<?php else: ?>

    <article>

        <!-- else content here -->

    </article>

<?php endif; ?>
然后在single.php 我在打电话<?php get_sidebar(); ?> 在任何循环或条件之外。

1 个回复
SO网友:Prestosaurus

启动new WP_Query($post) 显示所有帖子。贷记至@Latheesh V M Villa

添加:

$loop_query = new WP_Query($post)
然后更改循环值,如:

have_posts()
收件人:

$loop_query->have_posts()
<小时/>

loop.php

<?php $loop_query = new WP_Query($post); if ($loop_query->have_posts()): while ($loop_query->have_posts()) : $loop_query->the_post(); ?>
    <article class="loop-template" id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <!-- article content here -->
    </article>
<?php endwhile; ?>
<?php else: ?>
    <article>
        <!-- else content here -->
    </article>
<?php endif; ?>
似乎可以将循环中的所有内容单独保留,例如the_ID()the_title().

伟大的文章smashingmagazine here

相关推荐

GET_POSTS在页面模板中工作,但不在短码中工作

我正在尝试编写一个短代码,其中包括“get\\u posts”,以便获取博客帖子数据,然后在页面上显示最近的3篇文章。此代码在模板中工作。然而,当我将其放入输出缓冲区(ob\\u start)内的短代码中时,它无法检索帖子。相反,它会获取当前页面本身并循环浏览该页面(在本例中为主页)。你知道我怎样才能让它按照最初的意图在帖子中循环吗?以下是在模板中工作的代码:<?php $lastposts = get_posts( array(\'posts_per_page\' => 3) );?>