0

我需要一些帮助才能在 wordpress 上显示已发布和计划的帖子。我设法用这段代码在我的 sidebarleft.php 中做到了:

$recentPosts = new WP_Query();
$recentPosts->query('post_status=any&showposts=3');

但我还需要在 index.php 和 categories.php 中显示它们(在帖子计数中)。现在我的帖子显示如下:index.php

<?php if (have_posts()) : ?>
    <?php theme_pagination(); ?>
    <?php while (have_posts()) : the_post(); ?>
    <div class="listeItem">
    <h3><?php the_title() ?></h3>
    <span class="date"><?php echo the_time('j F Y') ?></span><br />
    <span class="lieu"><?php $lieux = get_post_custom_values('lieux'); echo $lieux[0]; ?></span><br />
    <a href="<?php the_permalink() ?>">Lire la suite ...</a>
    </div>
    <?php endwhile; ?>
    <?php theme_pagination(); ?>
<?php endif; ?>

和 categories.php :

<ul>
<?php wp_list_categories( array('hide_empty'=>'0', 'title_li'=>'', 'show_count'=>'1') ); ?>
</ul>

有谁知道一个干净的方法来做到这一点?

4

2 回答 2

0

尝试这个:

$recentPosts = new WP_Query(array(
    'posts_per_page' => -1,
    'orderby'        => 'date',
    'order'          => 'desc',
    'post_status'    => 'any'
));

while ( $recentPosts->have_posts() ) : $recentPosts->the_post();
    the_title();
endwhile;

$cats = get_categories(array(
    'type'     => 'post',
    'taxonomy' => 'category',
    'orderby'  => 'slug',
    'asc'      => 'asc'
));

foreach ($cats as $cat) {
    echo $cat->name;
}

记得传递正确的参数

于 2013-09-13T13:51:36.310 回答
0

好的,谢谢,我设法按照我的意愿展示了这篇文章,如果它帮助了另一个迷失的灵魂,它会与分页一起使用: code

 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
      $category = get_the_category();
      $category_id = $category->cat_ID;
      $recentPosts = new WP_Query(array(
      'posts_per_page' => -1,
      'orderby'        => 'date',
      'order'          => 'desc',
      'post_status'    => array('future', 'publish'),
      'category_id'=>$category_id,
      'showposts'=>5,
      'paged'=>$paged
 ));

      ?>
      <?php if (have_posts()) : ?>
           <?php theme_pagination(); ?>
           <?php while ( $recentPosts->have_posts() ) : $recentPosts->the_post();//while (have_posts()) : the_post(); ?>
           <div class="listeItem">
           <h3><?php the_title() ?></h3>
           <span class="date"><?php echo the_time('j F Y') ?></span><br />
           <span class="lieu"><?php $lieux = get_post_custom_values('lieux'); echo $lieux[0]; ?></span><br />
           <a href="<?php the_permalink() ?>">Lire la suite ...</a>
           </div>
           <?php endwhile; ?>
           <?php theme_pagination(); ?>
      <?php endif; ?>
           <a href="<?php echo get_permalink(CATEGORIES_ID) ?>"><< Retour</a>
      </div>
 </div>

/code 但是对于 categories.php 我可以显示正确的帖子数量(计划和发布) code 'post', 'taxonomy' => 'category', 'orderby' => 'slug', 'asc' => 'asc' )) ;

      foreach ($cats as $cat) {
           echo '<li class="cat-item cat-item-'.$cat->ID.'"><a href="'.get_permalink($cat->ID).'" title="Voir tous les articles classés dans '.$cat->name.'">'.$cat->name.'</a> ('.$cat->count.')
</li>';
      }
      ?>

$cat->count 显示发表文章的数量。我可以在 foreach 中添加一个 WP_Query,但如果可能的话,我想以另一种方式来做。

于 2013-09-25T15:08:29.513 回答