SummArg | Cursos y recursos para webmasters

07/03/2012

Mostrar todas las entradas del usuario actual

Este pequeño snippet nos permitirá crear una página en donde se podrá ver un listado de las entradas creadas por el usuario actualmente logeado a nuestro WordPress. Para crear un template de página primero crearemos una página en nuestro theme llamada autor.php. Luego añadimos el siguiente encabezado:

<?php
/*
Template Name:Autor
*/
?>

Colocamos el contenido de una página común para nuestro theme (podemos verlo en page.php posiblemente) pero reemplazaremos el loop por nuestro código. Este bucle generalmente tiene una estructura similar a:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 ......
 <?php endwhile; else: ?>
 <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
 <?php endif; ?>

Todo ello lo reemplazaremos por:

<?php
 if ( is_user_logged_in() ):
 global $current_user;
 get_currentuserinfo();
 $author_query = array('posts_per_page' => '-1','author' => $current_user->ID);
 $author_posts = new WP_Query($author_query);
 while($author_posts->have_posts()) : $author_posts->the_post();
 ?>
 <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
 <?php
 endwhile;
 else :
 echo "not logged in";
 endif;
 ?>

Luego asignamos a una página en blanco el template “Autor” y ya tendremos disponible una página con un listado de las entradas ingresadas por el usuario que esté observando.

Dejar un comentario

  1. PC-SERVEIS, Diseño Web

    Muchas Gracias !

  2. carlos

    Muchas gracias, me ha ayudado muchisimo!
    una pregunta, se podria hacer lo mismo pero para los comentarios?

  3. Nekko

    Hola Carlos! Coloqué el código para ello en esta entrada
    http://www.summarg.com/2012/mostrar-todos-los-comentarios-del-usuario-actual/

Dejar un comentario