如果用户没有帖子,则显示作者页面

时间:2013-07-17 作者:Johan

我有一个带有个人资料的页面,人们可以在其中发布或commentpost. 问题是,如果该用户选择评论而不是发帖,他或她将无法获得author page 直到它提交了一篇帖子。有没有办法显示作者页面?因为我有一个在作者页面上显示评论的功能,但因为它没有帖子,所以不会显示太多。。。

我希望有人能帮助我。

PS:我已经尝试了几个插件,但都没有成功。

仅供参考:这是Wordpress的默认行为,我使用的是默认行为author.php 具有“”的模板if have posts“循环,如果不是,loop-no-posts 环因此,作者页面没有创建,也没有帖子。这就是重点。

编辑:我的代码:

        <?php if (have_posts()) : ?>

            <ul><?php
    global $wpdb;
    $user_id = $post->post_author;  
    $where = \'WHERE comment_approved = 1 AND user_id = \' . $user_id ;

    $user = get_userdata($user_id);

    ?>

   <?php while (have_posts()) : the_post(); ?>

            <?php responsive_entry_before(); ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>       

                <div class="post-entry"><blockquote>
                    <?php if ( has_post_thumbnail()) : ?>
                        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >

                        </a>
                    <?php endif; ?>
                    <?php the_excerpt(); ?>

            </article>    
            <?php responsive_entry_after(); ?>

        <?php 
        endwhile; 

        /* get_template_part( \'loop-nav\' ); */

    else : 

        get_template_part( \'loop-no-posts\' ); 

    endif; 
    ?>  


<?php
    $args = array(
        \'user_id\' => $user->ID,
        \'number\' => 10, // how many comments to retrieve
        \'status\' => \'approve\'
        );

    $comments = get_comments( $args );

    if ( $comments )
    {
        foreach ( $comments as $c )
        {
        $output.= \'<a href="\'.get_comment_link().\'">\';
        $output.= get_the_title();
        $output.= \'</a>\';
        }

        echo $output;
    } else { echo "bla";}?>

</div>

1 个回复
最合适的回答,由SO网友:Vigs 整理而成

<?php 
        $curauth = (isset($_GET[\'author_name\'])) ? get_user_by(\'slug\', $author_name) : get_userdata(intval($author)); 
        ?>
        <?php if ( have_posts() ) ?>
        <h2>Posts by <?php echo $curauth->nickname; ?>:</h2>
            <ul>
            <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
                <li>
                    <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>">
                    <?php the_title(); ?></a>,
                    <?php the_time(\'d M Y\'); ?> in <?php the_category(\'&\');?>
                </li>
            <?php endwhile; else: ?>
                <p><?php _e(\'No posts by this author.\'); ?></p>
            <?php endif; ?>
            </ul>
    <?php
        $args = array(
            \'user_id\' => $curauth->ID,
            \'number\' => 10, // how many comments to retrieve
            \'status\' => \'approve\'
            );

        $comments = get_comments( $args );

        if ( $comments )
        {
            $output.= "<ul>";
            foreach ( $comments as $c )
            {
            $output.= \'<li>\';
            $output.= \'<a href="\'.get_comment_link( $c->comment_ID ).\'">\';
            $output.= get_the_title($c->comment_post_ID);
            $output.= \'</a>\';
            $output.= "</li>\\n";
            }
            $output.= \'</ul>\';

            echo $output;
        } else { 
            echo "bla";
        }
?>
修改自here.

编辑:添加OP代码

结束

相关推荐

获取wp_list_Comments的完整代码,而不是替换它

我想知道这是否可行,因为我不想编辑评论的标准/默认布局。我已经试过了,但不知怎么的,它不会把列表项放在我的div部分。这就是为什么我想找到full code of wp_list_comments; 我想更改其中的列表项。。。这可能吗?如果是,我在哪里可以找到它?