Steve Kim
Steve Kim

Reputation: 5591

Show Author post loops

So, I have the following to display post loops (wordpress):

METHOD A (works fine)

 <?php
    if ( get_query_var('paged') ) {
        $paged = get_query_var('paged');
    } elseif ( get_query_var('page') ) {
        $paged = get_query_var('page');
    } else {
        $paged = 1;
    }
    $args = array( 
        'post_type' => 'post',
        'paged'=>$paged,
        'posts_per_page' => 7,          
        'orderby' => 'date',            
        'order' => 'DESC'
        );
    $loop = new WP_Query( $args );
    $id = get_the_ID();         
    global  $paged; 
    while ( $loop->have_posts() ) : $loop->the_post(); 
    ?>
     Posts go here
    <?php endwhile; ?>
    <?php wp_reset_postdata(); ?>       

    <nav id="rh_nav_below">
        <ul>
            <li class="rh_nav_previous"><?php previous_posts_link( '&laquo; PREV', $loop->max_num_pages) ?></li> 
            <li class="rh_nav_next"><?php next_posts_link( 'NEXT &raquo;', $loop->max_num_pages) ?></li>
        </ul>
    </nav>

Now in the author page, following is used to display a post (a single posts):

METHOD B (works fine)

<?php rewind_posts(); while (have_posts()) : the_post(); ?>
   <?php the_title(); ?>
<?php endwhile; ?>

I have been trying to change the author post (method b) to method A format, so I can control the number of posts, orderby and etc.

Here is what I have tried:

  <?php
    if ( get_query_var('paged') ) {
        $paged = get_query_var('paged');
    } elseif ( get_query_var('page') ) {
        $paged = get_query_var('page');
    } else {
        $paged = 1;
    }
    $rhp_author_profile_id = get_the_author_id();
    $args = array( 
        'post_type' => 'post',
        'paged'=>$paged,
        'posts_per_page' => 7,          
        'orderby' => 'date',            
        'order' => 'DESC',
        'author ' => $rhp_author_profile_id
        );
    $loop = new WP_Query( $args );
    $id = get_the_ID();         
    global  $paged; 
    while ( $loop->have_posts() ) : $loop->the_post(); 
    ?>  
     Posts show here.

However, I am only getting the admin's posts on every other authors.

What am I doing wrong?

Thanks

Upvotes: 1

Views: 121

Answers (1)

user4094161
user4094161

Reputation:

Try This

 <?php
    if ( get_query_var('paged') ) {
        $paged = get_query_var('paged');
    } elseif ( get_query_var('page') ) {
        $paged = get_query_var('page');
    } else {
        $paged = 1;
    }
    global $current_user;
    get_currentuserinfo(); 
    $args = array( 
        'post_type' => 'post',
        'paged'=>$paged,
        'posts_per_page' => 7,          
        'orderby' => 'date',            
        'order' => 'DESC',
        'author ' => $current_user->ID
        );
    $loop = new WP_Query( $args );
    $id = get_the_ID();         
    global  $paged; 
    while ( $loop->have_posts() ) : $loop->the_post(); 
    ?>  

Upvotes: 1

Related Questions