This document is deprecated! The information on this page refers to a Thesis version that is now obsolete. Please visit the Thesis Docs for current documentation.
If you have a multi-author blog, listing all of the authors (or “contributors”) on a single page is a nice way to promote all of the authors. Here’s how to create a custom contributors page in Thesis.
First, go to Pages > Add New in WordPress, and create a new page named Authors. In the Template dropdown under Page Attributes, select Custom Template
. Publish the page.
Then, place the following code in your custom_functions.php
file:
function list_all_authors() { if (is_page('Authors')) { global $wpdb; $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users ORDER BY display_name"); foreach ($authors as $author ) { $aid = $author->ID; ?> <div class="author_info <?php the_author_meta('user_nicename',$aid); ?>"> <span class="author_photo"><?php echo get_avatar($aid,96); ?></span> <p><a href="<?php get_bloginfo('url'); ?>/author/<?php the_author_meta('user_nicename', $aid); ?>"><?php the_author_meta('display_name',$aid); ?></a></p> <p><?php the_author_meta('description',$aid); ?></p> <p class="author_email"><a href="mailto:<?php the_author_meta('user_email', $aid); ?>" title="Send an Email to the Author of this Post">Contact the author</a></p> </div> <?php } } } add_action('thesis_hook_custom_template','list_all_authors'); remove_action('thesis_hook_custom_template','thesis_custom_template_sample');
To style the listing, you’ll need to add the following to your custom.css
file to use as a starting point:
.custom .author_info { clear:both; overflow:hidden; border:1px dotted #666; width:28em; padding:1.0em; margin-bottom:1em; margin-top:1em; font-family:Arial; font-size:14px; } .custom .author_info a { color:#cc0000; border-bottom:1px dotted #fff; text-decoration:none; } .custom .author_info a:hover { border-bottom:1px dotted #cc0000; } .custom .author_info .author_photo img { display:block; border:1px dotted #666; padding:0.2em; float:left; margin:1.0em 1.0em 1.0em 0em; } .custom .author_info p { margin-top:0.8em; margin-bottom:0.4em; }