如何根据点击的内容显示帖子

时间:2017-01-11 作者:Tcmxc

我的所有帖子都有一个侧边栏,页面一次只显示一篇帖子。我想显示从侧边栏单击的帖子。

这是单柱显示器

<?php
$args = array(
    \'post_type\' => \'post\',
    \'posts_per_page\' => 1
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : ?>
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <h1 class=""><?php the_title(); ?></h1>
        <div class="the-date"><p><br><?php the_time(\'F jS, Y\') ?></p></div>
        <div class=""><p><?php the_content(); ?></p></div>
    <?php endwhile ?>
<?php endif ?>
这是显示我要填充帖子区域的帖子的侧栏

<?php
$recent_args = array(
    \'post_type\' => \'post\',
    \'posts_per_page\' => 5,
    \'offset\' => 1
);
$the_recent = new WP_Query( $recent_args );
if ( $the_recent->have_posts() ) : ?>
    <?php while ( $the_recent->have_posts() ) : $the_recent->the_post(); ?>
        <div class="more-news">
            <a href=""><?php  the_title();  ?> </a>
        </div>
        <hr>
    <?php endwhile ?>
<?php endif ?>

3 个回复
SO网友:Eckstein

在侧栏中,替换以下内容:

<a href=""><?php  the_title();  ?> </a> 
使用此选项:

<a href="<?php the_permalink(); ?>"><?php  the_title();  ?> </a> 

SO网友:Deb

它显示当前帖子的永久链接,因此您需要将\\u永久链接放在a href标记中,例如:<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

SO网友:Tunji

首先,您不必在single.php.

如果您在上面发布的第一个代码是single.php 然后wordpress会在您打开一篇文章时加载该模板文件。

模板文件的问题是,您正在其中运行另一个查询,而忽略了wordpress为显示单个帖子而运行的全局查询。

要解决此问题,请在single.php, 您应该具备:

<?php if ( have_posts() ) : ?>
    <?php while ( have_posts() ): the_post(); ?>
        <h1 class=""><?php the_title(); ?></h1>
        <div class="the-date"><p><br><?php the_time(\'F jS, Y\') ?></p></div>
        <div class=""><p><?php the_content(); ?></p></div>
    <?php endwhile ?>
<?php endif ?>
在侧栏中,您的查询很好,但您还应该调用wp_reset_postdata() 并通过the_permalink 作为标记的href属性。

<?php
$recent_args = array(
    \'post_type\' => \'post\',
    \'posts_per_page\' => 5,
    \'offset\' => 1
);
$the_recent = new WP_Query( $recent_args );
if ( $the_recent->have_posts() ) : ?>
    <?php while ( $the_recent->have_posts() ) : $the_recent->the_post(); ?>
        <div class="more-news">
            <a href="<?php the_permalink(); ?>"><?php  the_title();  ?> </a>
        </div>
        <hr>
    <?php endwhile ?>
    <?php wp_reset_postdata(); ?>
<?php endif ?>

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post