未显示首帖的类别WP_QUERY

时间:2014-01-31 作者:Codette

在我的home.php 文件(如果我没有正确粘贴代码,我深表歉意)。我填充了lorem ipsum的帖子,并注意到在这五篇帖子中,只有四篇出现在页面上。如有任何见解,将不胜感激。

<div itemscope itemtype="http://schema.org/Blog" class="left-column-container">

     <?php 
    // the query
    $the_query = new WP_Query( \'category_name=news\'); ?>

    <!-- the loop -->
    <?php if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <div itemprop="blogPost" id="post-<?php the_ID(); ?>" <?php post_class(\'snippet\') ?>>

         <a itemprop="url" href="<?php the_permalink(); ?>" class="permalink"><p itemprop="headline" class="title"><?php the_title(); ?></p></a>

         <div class="snippet-meta">
              <p itemprop="datePublished" class="excerpt-meta date"><?php the_time(\'j M Y\') ?></p> <p itemprop="keywords" class="excerpt-meta tags"><?php the_tags( \'\', \', \', \'\' ); ?> </p>
         </div><!-- End .snippet-meta -->

         <div class="excerpt">
             <?php the_excerpt(); ?>
         </div><!-- End .excerpt -->
     </div><!-- End .snippet -->

     <?php endwhile; ?>
     <!-- End list of news posts -->
</div><!-- End .left-column-container -->

<div class="cf" id="excerpt-nav-wrapper">
    <?php posts_nav_link( \' \', \'<img src="\' . get_bloginfo(\'stylesheet_directory\') . \'/images/prevarrow.png" class="nav-btns" id="prev" />\', \'<img src="\' . get_bloginfo(\'stylesheet_directory\') . \'/images/nextarrow.png" class="nav-btns" id="next" />\' ); ?>
</div><!-- End posts nav wrapper -->

    <?php else : ?>

    <div class="left-column-container">

        <h3>There are currently no news updates.</h3>
    </div>

    <?php endif; ?>
    <?php wp_reset_query(); ?>

</div>

2 个回复
SO网友:Codette

我找到了WP\\U查询问题的解决方案。我缺少的是偏移量(我没有意识到在处理自定义查询时需要设置偏移量)。

第一:获取当前页面

// If the query var is set use it; otherwise, initialize it to one.
$page = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
第二:编写查询

// First, initialize how many posts to render per page
$display_count = 2;

// Next, get the current page
$page = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;

// After that, calculate the offset
$offset = ( $page - 1 ) * $display_count;

// Finally, we\'ll set the query arguments and instantiate WP_Query
$query_args = array(
  \'post_type\'  =>  \'post\',
  \'orderby\'    =>  \'date\',
  \'order\'      =>  \'desc\',
  \'number\'     =>  $display_count,
  \'page\'       =>  $page,
  \'offset\'     =>  $offset
);
$custom_query = new WP_Query ( $query_args );

/*
 * Use your query here. Remember that if you make a call to $custom->the_post()
 * you\'ll need to reset the post data after the loop by calling wp_reset_postdata().
 */
资料来源:Tom McFarlin

SO网友:1fixdotio

尝试重写查询并将其转储,如下所示:

<?php
$the_query = new WP_Query( \'category_name=news&posts_per_page=10\');
var_dump($the_query);
?>
如果结果是一个空数组,那么它似乎无法从新闻中查询任何帖子,然后尝试删除category\\u name参数以查看将显示什么。

如果结果是一个包含较少帖子的数组,并且与管理面板中的帖子计数不一致,则问题可能是由缓存插件引起的。即使停用了它,也最好清除所有缓存文件或使用其他浏览器进行检查。还有一些函数pre_get_posts 主题或插件中的操作,以导致此问题。

如果结果是一个具有正确帖子计数的数组,那么问题应该是由CSS或JS引起的,因为它们可能会隐藏或删除您的帖子,使您看不到它。

结束

相关推荐

ACF loop and php formatting

下面的php将遍历每个页面,然后输出ALL ACF自定义字段的。我需要的帮助格式是一个条件语句,它将所有$fields, 除了$field_name 在自己的容器中包含“标题”。$pages = get_pages( array(\'sort_column\' => \'menu_order\')); foreach ($pages as $page_data) { $fields = get_fields($page_data); if( $fields