用户在wordpress中显示帖子和自定义帖子类型

时间:2015-02-28 15:53:36

标签: wordpress

我的模板页面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的

1 个答案:

答案 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(); ?>