自定义帖子类型的作者查询在没有帖子时中断站点


Custom post type author query breaks site when there's no posts

我的自定义作者查询有一个问题,每当该作者没有任何帖子时,该网站就会中断。

在author.php中,我有一个查询,应该从自定义帖子类型获取帖子。该网站有多作者功能,这就是为什么查询看起来有点奇怪。

我想我在标记的布局上犯了一个错误。我已经试过我能想到的任何方法了,但我没有任何运气。如果有人能指出循环/查询的任何问题,我将非常感激。

不工作

工作
<?php
$author_id = get_the_author_meta( 'ID' );
if ( have_posts() ) : the_post();
  rewind_posts(); //then rewind
  ?>
  <?php
  $author_details = $wp_query->get_queried_object();
  $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
  $temp = $wp_query;
  $wp_query = null;
  $wp_query = new WP_Query();
  $wp_query->query(array(
    'post_type'=> 'publikasjoner',
    'paged' => $paged,
    'posts_per_page' => 6,
    'meta_key' => 'rapportnummer',
    'orderby' => 'meta_value_num',
    'order' => 'DSC',
    'author_name' => $curauth->user_nicename
  )); ?>
  <h4 class="box-title">Publikasjoner</h4>
  <div class="clearfix"></div><?php
  while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
  <?php // POST TYPE ARTICLE HERE
  <?php endwhile;
  if(function_exists('wp_pagenavi')) { wp_pagenavi( array( 'query' => $wp_query ) ); }
endif;
$wp_query = null; $wp_query = $temp; ?>

我还没有测试过这个,但是你试过吗:

if ($wp_query->have_posts()) :
    while ($wp_query->have_posts()) : $wp_query->the_post();
        // Your loop code
    endwhile;
else :
    echo wpautop( 'Sorry, no posts were found' );
endif;

你能在你的问题中添加WordPress标签并提到"WordPress"吗?这将有助于找到合适的人来回答你的问题,或者其他人有同样的问题。