【问题标题】:Wordpress loop "posts_per_page=4" shows only 1 postWordpress 循环“posts_per_page=4”仅显示 1 个帖子
【发布时间】:2014-08-25 15:44:06
【问题描述】:

我有一个要检查的循环

  1. 如果有一个自定义字段被选中(复选框)并且

  2. 如果后面的循环中有内容。

现在我不明白为什么循环总是只显示一个帖子:

<?php 
//check if field has content
if(get_field("news_kategorie")): ?>

<ul class="page-articles-related">                                                                           
<?php
    $temp = $wp_query;
    $wp_query= null;
    $wp_query = new WP_Query();
    $wp_query->query('posts_per_page=6&orderby=date&category_name='.implode (',',get_field('news_kategorie'))); ?>
    <?php 
    //check if loop has content
    if ($wp_query->have_posts()) : $wp_query->the_post(); ?>

    <li class="relativ">
    <?php the_title(); ?>
    </li>  

    <?php else: { ?>
        <?php echo "There is nothing ..."; ?>
    <?php } ?>

    <?php endif; ?>
</ul>

<?php endif; ?>

posts_per_page=6 外,一切正常,我总是看到一个帖子,但我想显示六个帖子。

【问题讨论】:

  • 因为没有迭代?只是一个 if 语句..
  • 后面没有循环。一个循环将由一个“while”或一个“foreach”语句组成,你到目前为止还没有编程过。您当前的代码不能做任何其他事情,只能显示任何内容或单个帖子。

标签: php wordpress loops


【解决方案1】:

您当前的代码只打印一篇文章,这应该打印所有六篇文章:

if ($wp_query->have_posts()) : $wp_query->the_post();
    while ( have_posts() ) 
    {
        ?>
        <li class="relativ">
        <?php the_title(); ?>
        </li>  

    <?php
    } // end while

在你的标题中你说你想要每页 4 个帖子,但在实际问题中你想要 6 个,是什么?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2019-07-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    相关资源
    最近更新 更多