| Suscribir mediante RSS

Cómo crear una página de autor Parte 1

9 abril 2010 Diseño web

No suelen ser muy frecuentes los Blogs en los que participan varios escritores. Quizás por esta razón muy pocos themes o plantillas de WordPress vienen preparados para mostrar una página con información personalizada de los autores de los posts.

Sin embargo, no sólo es interesante para el visitante saber algo más sobre el autor del artículo sino también que exista la posibilidad de que pueda escoger únicamente los artículos de un determinado autor.

Primero seleccionaría un autor mediante un link en alguno de los artículos publicados y a continuación se mostraría la página con la información personal y todos sus artículos, ordenados por fecha de antiguedad como suele ser habitual.

Incluso es posible crear una página con todos los autores que participan en el blog que contenga únicamente sus perfilles con fotografía o avatar. Desde ahí también se podrá acceder a los artículos del autor.

Normalmente algunos themes muestran junto con el título del artículo, la fecha de publicación y la categoría a la que pertenece, el nombre del autor. Otros ni siquiera muestran quién es el autor del artículo. Tanto en un caso como en otro habrá que añadir a los archivos de nuestro theme el código correspondiente que nos permita saber más sobre el autor.

De lo que se trata es que el nombre del autor sea un enlace a otra página que dará a conocer la información que considere relevante como podría ser su verdadero nombre, nick, descripción personal, página personal externa al blog o su fotografía si lo desea. Todos estos datos se obtienen del propio perfil de usuario que previamente ha confeccionado cuando se registró en el blog, en el Menú Users.

Por tanto, debemos añadir el texto con el nombre del autor y su link, después crearemos el archivo author.php que le dirá a WordPress que muestre la información descriptiva de los autores así como sus posts.

Realmente para consultar los artículos de los autores no nos hace falta el archivo author.php, pero sí para la información personal.

En jerarquía de archivos de WordPress puedes ver el orden en que se cargan los archivos de un theme en caso de no existir author.php.

Para lo primero, el link del autor, usaremos la función the_author_posts_link(). Esta función se encarga de poner el texto con el nombre del autor y el link a la página author.php. La función tiene que situarse dentro del bucle (the_loop) en el archivo index.php, single.php, category.php, search.php o archive.php, o en todos, eso dependerá de dónde quieras que se muestre el nombre del autor y de los archivos php que tenga tu theme.

Es decir, si sólo quieres que aparezca el nombre del autor con su enlace en los artículos individuales, utiliza la función anterior en el loop de single.php aunque lo más lógico es que se situe en el de index.php

El nombre de autor que se visualiza es el que has configurado en el DashBoard o Panel de Control de WordPress en el campo "Display name publicly as" ("Mostrar nombre públicamente como") del menú Users. La página no existe, está definida en WordPress y se crea siendo la URL en el formato tudominio/author/user_nicename

Recordar que user_nicename tiene el mismo valor que user_login. Esto puede ser un inconveniente al descubrir nuestro usuario de acceso en la URL que muestra el navegador, lo que puede considerarse un fallo de seguridad. Tendremos que encontrar algún truco para poder modificar el user_nicename en la base de datos si queremos que esto no ocurra.

Suponiendo que el código del index.php de tu theme sea algo similar a esto:

<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h2>
<a href="<?php the_permalink() ?>" rel="bookmark"
 title="<?php the_title_attribute(); ?>">
<?php the_title(); ?></a>
</h2>
<span class="date"><?php the_time('j F, Y') ?> </span> | 
<span class="category">
Publicado en <?php the_category(', ') ?></span>
</div>
<?php endwhile; ?>

pues añades al final dentro del bucle while:

<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h2>
<a href="<?php the_permalink() ?>" rel="bookmark"
 title="<?php the_title_attribute(); ?>">
<?php the_title(); ?></a>
</h2>
<span class="date"><?php the_time('j F, Y') ?> </span> | 
<span class="category">
Publicado en <?php the_category(', ') ?></span>
por <?php the_author_posts_link() ?>
</div>
<?php endwhile; ?>

Ahora aparecerá el nombre del autor, si pinchas verás que se abre una página con todos los archivos publicados por ese autor. Si sólo hay un autor en tu blog pues no notarás diferencia hasta que no crees el archivo author.php. Este es el segundo paso, puedes bajarte de tu servidor por FTP el archivo index.php situado en el directorio de tu theme y renombrarlo como author.php, después lo subes por FTP al mismo directorio anterior. Ahora podrás hacer las modificaciones necesarias desde el editor de código de WordPress.

Eso lo veremos en la segunda parte.

Otros artículos de Diseño web

Cómo crear Child Themes en WordPress
Ordenando el Footer
Cómo aprender Joomla
Cómo crear mapas de imágenes
Cómo eliminar imágenes del Feed

5 Respuestas a “Cómo crear una página de autor Parte 1”

  1. Invitado dice:

    Cómo sería el código si no quier mostrar los datos del autor admin?

    Saludos!


  2. admin dice:

    Si te refieres a la ventana de información con los datos del autor, tú decides qué datos mostrar o no. ¿Has leído la segunda parte? Ahí salen los códigos que debes poner según los datos del autor que quieras mostrar.

    Puedes cambiar el nombre del usuario a mostrar en los artículos en el menú Users, si rellenas los campos del nombre o nick y después lo eliges en el desplegable Display name publicly as (mostrar nombre públicamente como).

    Aquí se trata de todo lo contrario, es decir, mostrar información ampliada del autor. Si quieres que no muestre los autores de los artículos tendrás que modificar todos los archivos de tu theme o plantilla que hagan referencia al autor y eliminar el código. Suelen usar la función <?php the_author() ?> o también <?php the_author_posts_link() ?> etc...

    Un saludo


  3. Invitado dice:

    Hola: Googleando di con tu blog que por cierto está muy bueno, quiero hacer lo que explicas aca de tener una página por cada author. No me ha salido lo que explicas aca. Es que estoy usando un tema hijo y tengo mis dudas.


  4. admin dice:

    Recuerda que las modificaciones y códigos que añadas debes hacerlas en los archivos del tema hijo (Child Theme). Igual te puede interesar este otro artículo sobre los Child Themes.

    Recuerda también que el archivo author.php no es necesario para mostrar los post de un autor, pero si es necesario para mostrar su información personal como comento en la segunda parte.