我的模板页面author.php有一个奇怪的问题 我的页面显示用户创建的所有帖子和所有自定义post_type。
我的问题: 如果用户在自定义post_type“evenement”中创建了一篇文章(总共只有一篇文章) 文章没有出现在模板页面author.php中,但是现在我的用户在默认发布wordpress中创建了另一篇文章,两篇帖子出现在模板页面author.php
我的代码:
<?php
if(isset($_GET['author_name'])) :
$curauth = get_userdatabylogin($author_name);
else :
$curauth = get_userdata(intval($author));
?>
<div class="info-diffusion">
<h1 class="postheader entry-title">Les tutos et astuces de <?php echo $curauth->nickname; ?></h1>
<?php if (have_posts()) : query_posts('cat=172'); while (have_posts()) : the_post(); ?>
<div class="dif-info-pack">
<?php echo the_post_thumbnail('thumbnail'); ?> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</div>
<?php endwhile; wp_reset_query(); else :?>
<p><?php echo $curauth->nickname; ?> n'a pas encore créé de tuto et astuce !</p>
<?php endif;?>
</div>
<div class="info-diffusion">
<h1 class="postheader entry-title">Les vidéos de <?php echo $curauth->nickname; ?></h1>
<?php
global $wp_query;
$args = array_merge( $wp_query->query_vars, array( 'post_type' => 'post_video' ) );
if (have_posts()) : query_posts( $args ); while (have_posts()) : the_post(); ?>
<div class="dif-info-pack">
<?php echo the_post_thumbnail('thumbnail'); ?> <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
</div>
<?php endwhile; wp_reset_query(); else :?>
<p><?php echo $curauth->nickname; ?> n'a pas encore posté de vidéo !</p>
<?php endif;?>
</div>
第二个问题是管理员,信息“没有发布的文章”没有显示
如果你有想法...... Thnak的
答案 0 :(得分:0)
WordPress query_posts()函数完全替换原始查询,因此:
<?php if (have_posts()) : query_posts('cat=172'); while (have_posts()) : the_post(); ?>
测试原始查询是否有任何帖子,然后替换该查询。可能不是你想要的。
相反:
<?php query_posts('cat=172&author=' . $curauth->ID); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
以正确的顺序获取内容,并显示&#34;没有发布的文章&#34;适当时的消息。请注意,由于您要完全替换查询,因此需要添加author参数以完成您想要的操作。
您的第二个query_posts也存在相同的订单问题:
query_posts( $args );
if (have_posts()) : while (have_posts()) : the_post(); ?>