2004-01-27 04:58:01 -05:00
< ? php
2005-06-12 19:22:06 -04:00
2004-12-15 18:15:17 -05:00
function get_the_author ( $idmode = '' ) {
2005-10-12 13:01:50 -04:00
global $authordata ;
2006-08-30 14:09:12 -04:00
switch ( $idmode ) {
case 'display_name' :
$id = $authordata -> display_name ;
break ;
case 'nickname' :
$id = $authordata -> nickname ;
break ;
case 'login' :
$id = $authordata -> user_login ;
break ;
case 'firstname' :
$id = $authordata -> user_firstname ;
break ;
case 'lastname' :
$id = $authordata -> user_lastname ;
break ;
case 'namefl' :
$id = $authordata -> user_firstname . ' ' . $authordata -> user_lastname ;
break ;
case 'namelf' :
$id = $authordata -> user_lastname . ' ' . $authordata -> user_firstname ;
break ;
default :
$id = $authordata -> display_name ;
}
return apply_filters ( 'the_author' , $id );
2004-01-27 04:58:01 -05:00
}
2005-06-12 19:22:06 -04:00
2004-12-15 18:15:17 -05:00
function the_author ( $idmode = '' , $echo = true ) {
2005-10-12 13:01:50 -04:00
if ( $echo )
echo get_the_author ( $idmode );
2004-12-15 18:15:17 -05:00
return get_the_author ( $idmode );
}
function get_the_author_description () {
2005-10-12 13:01:50 -04:00
global $authordata ;
2005-11-23 13:01:32 -05:00
return $authordata -> description ;
2004-12-15 18:15:17 -05:00
}
function the_author_description () {
2005-10-12 13:01:50 -04:00
echo get_the_author_description ();
2004-12-15 18:15:17 -05:00
}
function get_the_author_login () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> user_login ;
2004-01-27 04:58:01 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_login () {
2005-10-12 13:01:50 -04:00
echo get_the_author_login ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_firstname () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> first_name ;
2004-12-15 18:15:17 -05:00
}
2004-01-27 04:58:01 -05:00
function the_author_firstname () {
2005-10-12 13:01:50 -04:00
echo get_the_author_firstname ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_lastname () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> last_name ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_lastname () {
2005-10-12 13:01:50 -04:00
echo get_the_author_lastname ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_nickname () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> nickname ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_nickname () {
2005-10-12 13:01:50 -04:00
echo get_the_author_nickname ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_ID () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> ID ;
2004-12-15 18:15:17 -05:00
}
2004-01-27 04:58:01 -05:00
function the_author_ID () {
2005-10-12 13:01:50 -04:00
echo get_the_author_id ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_email () {
2004-12-23 16:52:09 -05:00
global $authordata ;
return $authordata -> user_email ;
2004-12-15 18:15:17 -05:00
}
2004-12-23 16:52:09 -05:00
2004-01-27 04:58:01 -05:00
function the_author_email () {
2004-12-23 16:52:09 -05:00
echo apply_filters ( 'the_author_email' , get_the_author_email () );
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_url () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> user_url ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_url () {
2005-10-12 13:01:50 -04:00
echo get_the_author_url ();
2004-01-27 04:58:01 -05:00
}
2006-08-30 14:07:49 -04:00
function the_author_link () {
if ( get_the_author_url ()) {
echo '<a href="' . get_the_author_url () . '" title="' . sprintf ( __ ( " Visit %s's website " ), get_the_author ()) . '" rel="external">' . get_the_author () . '</a>' ;
} else {
the_author ();
}
}
2004-12-15 18:15:17 -05:00
function get_the_author_icq () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> icq ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_icq () {
2005-10-12 13:01:50 -04:00
echo get_the_author_icq ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_aim () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return str_replace ( ' ' , '+' , $authordata -> aim );
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_aim () {
2005-10-12 13:01:50 -04:00
echo get_the_author_aim ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_yim () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> yim ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_yim () {
2005-10-12 13:01:50 -04:00
echo get_the_author_yim ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_msn () {
2005-10-12 13:01:50 -04:00
global $authordata ;
return $authordata -> msn ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_msn () {
2005-10-12 13:01:50 -04:00
echo get_the_author_msn ();
2004-01-27 04:58:01 -05:00
}
2004-12-15 18:15:17 -05:00
function get_the_author_posts () {
2005-10-12 13:01:50 -04:00
global $post ;
$posts = get_usernumposts ( $post -> post_author );
2005-06-13 04:32:44 -04:00
return $posts ;
2004-12-15 18:15:17 -05:00
}
2005-10-12 13:01:50 -04:00
2004-01-27 04:58:01 -05:00
function the_author_posts () {
2005-10-12 13:01:50 -04:00
echo get_the_author_posts ();
2004-01-27 04:58:01 -05:00
}
2006-08-30 14:07:49 -04:00
/* the_author_posts_link() requires no get_, use get_author_posts_url() */
2004-04-18 15:20:37 -04:00
function the_author_posts_link ( $idmode = '' ) {
2005-10-12 13:01:50 -04:00
global $authordata ;
2004-04-18 15:20:37 -04:00
2006-08-30 14:07:49 -04:00
echo '<a href="' . get_author_posts_url ( $authordata -> ID , $authordata -> user_nicename ) . '" title="' . sprintf ( __ ( " Posts by %s " ), wp_specialchars ( the_author ( $idmode , false ))) . '">' . the_author ( $idmode , false ) . '</a>' ;
2004-04-18 15:20:37 -04:00
}
2006-08-30 14:07:49 -04:00
function get_author_posts_url ( $author_id , $author_nicename = '' ) {
2005-02-07 02:37:53 -05:00
global $wpdb , $wp_rewrite , $post , $cache_userdata ;
2005-10-12 13:01:50 -04:00
$auth_ID = $author_id ;
$link = $wp_rewrite -> get_author_permastruct ();
if ( empty ( $link ) ) {
2006-08-30 17:46:31 -04:00
$file = get_option ( 'home' ) . '/' ;
2005-10-12 13:01:50 -04:00
$link = $file . '?author=' . $auth_ID ;
} else {
2006-07-27 19:27:27 -04:00
if ( '' == $author_nicename ) {
$user = get_userdata ( $author_id );
if ( ! empty ( $user -> user_nicename ) )
$author_nicename = $user -> user_nicename ;
}
2005-10-12 13:01:50 -04:00
$link = str_replace ( '%author%' , $author_nicename , $link );
2006-08-30 17:46:31 -04:00
$link = get_option ( 'home' ) . trailingslashit ( $link );
2005-10-12 13:01:50 -04:00
}
$link = apply_filters ( 'author_link' , $link , $author_id , $author_nicename );
return $link ;
2004-03-19 11:20:49 -05:00
}
2006-06-07 19:17:59 -04:00
// Get author's preferred display name
function get_author_name ( $auth_id ) {
$authordata = get_userdata ( $auth_id );
return $authordata -> display_name ;
}
2004-03-19 11:20:49 -05:00
function wp_list_authors ( $args = '' ) {
2006-06-06 00:50:41 -04:00
if ( is_array ( $args ) )
$r = & $args ;
else
parse_str ( $args , $r );
2005-10-12 13:01:50 -04:00
2006-06-06 00:50:41 -04:00
$defaults = array ( 'optioncount' => false , 'exclude_admin' => true , 'show_fullname' => false , 'hide_empty' => true ,
'feed' => '' , 'feed_image' => '' );
$r = array_merge ( $defaults , $r );
extract ( $r );
2004-03-19 11:20:49 -05:00
2005-10-12 13:01:50 -04:00
global $wpdb ;
2006-06-06 00:50:41 -04:00
// TODO: Move select to get_authors().
2005-10-12 13:01:50 -04:00
$query = " SELECT ID, user_nicename from $wpdb->users " . ( $exclude_admin ? " WHERE user_login <> 'admin' " : '' ) . " ORDER BY display_name " ;
$authors = $wpdb -> get_results ( $query );
2004-03-19 11:20:49 -05:00
2005-10-12 13:01:50 -04:00
foreach ( $authors as $author ) {
2005-06-12 19:14:52 -04:00
$author = get_userdata ( $author -> ID );
2005-10-12 13:01:50 -04:00
$posts = get_usernumposts ( $author -> ID );
$name = $author -> nickname ;
if ( $show_fullname && ( $author -> first_name != '' && $author -> last_name != '' ) )
$name = " $author->first_name $author->last_name " ;
if ( ! ( $posts == 0 && $hide_empty ) )
echo " <li> " ;
if ( $posts == 0 ) {
if ( ! $hide_empty )
2005-01-24 02:55:03 -05:00
$link = $name ;
2005-10-12 13:01:50 -04:00
} else {
2006-08-30 14:07:49 -04:00
$link = '<a href="' . get_author_posts_url ( $author -> ID , $author -> user_nicename ) . '" title="' . sprintf ( __ ( " Posts by %s " ), wp_specialchars ( $author -> display_name )) . '">' . $name . '</a>' ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( ( ! empty ( $feed_image )) || ( ! empty ( $feed )) ) {
$link .= ' ' ;
if ( empty ( $feed_image ))
$link .= '(' ;
$link .= '<a href="' . get_author_rss_link ( 0 , $author -> ID , $author -> user_nicename ) . '"' ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( ! empty ( $feed ) ) {
$title = ' title="' . $feed . '"' ;
$alt = ' alt="' . $feed . '"' ;
$name = $feed ;
$link .= $title ;
}
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
$link .= '>' ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( ! empty ( $feed_image ) )
$link .= " <img src= \" $feed_image\ " border = \ " 0 \" $alt $title " . ' />' ;
else
$link .= $name ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
$link .= '</a>' ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( empty ( $feed_image ) )
$link .= ')' ;
}
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( $optioncount )
$link .= ' (' . $posts . ')' ;
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
}
2004-03-22 23:45:27 -05:00
2005-10-12 13:01:50 -04:00
if ( ! ( $posts == 0 && $hide_empty ) )
echo " $link </li> " ;
}
2004-03-19 11:20:49 -05:00
}
2006-08-30 14:09:12 -04:00
?>