diff --git src/wp-includes/author-template.php src/wp-includes/author-template.php
index 2280487..880ba3e 100644
--- src/wp-includes/author-template.php
+++ src/wp-includes/author-template.php
@@ -211,22 +211,17 @@ function the_author_posts() {
 }
 
 /**
- * Display an HTML link to the author page of the author of the current post.
+ * Get an HTML link to the author page of the author of the current post.
  *
- * Does just echo get_author_posts_url() function, like the others do. The
- * reason for this, is that another function is used to help in printing the
- * link to the author's posts.
+ * Returns an HTML-formatted link using get_author_posts_url().
  *
- * @link http://codex.wordpress.org/Template_Tags/the_author_posts_link
- * @since 1.2.0
- * @param string $deprecated Deprecated.
+ * @link http://codex.wordpress.org/Template_Tags/get_author_posts_link
+ * @since 4.1.0
+ * @return string An HTML link to the author page. 
  */
-function the_author_posts_link($deprecated = '') {
-	if ( !empty( $deprecated ) )
-		_deprecated_argument( __FUNCTION__, '2.1' );
-
+function get_the_author_posts_link() {
 	global $authordata;
-	if ( !is_object( $authordata ) )
+	if ( ! is_object( $authordata ) )
 		return false;
 	$link = sprintf(
 		'<a href="%1$s" title="%2$s" rel="author">%3$s</a>',
@@ -242,7 +237,23 @@ function the_author_posts_link($deprecated = '') {
 	 *
 	 * @param string $link HTML link.
 	 */
-	echo apply_filters( 'the_author_posts_link', $link );
+	return apply_filters( 'the_author_posts_link', $link );
+}
+
+/**
+ * Display an HTML link to the author page of the author of the current post.
+ *
+ * Echoes get_author_posts_link() function.
+ *
+ * @link http://codex.wordpress.org/Template_Tags/the_author_posts_link
+ * @since 1.2.0
+ * @param string $deprecated Deprecated.
+ */
+function the_author_posts_link($deprecated = '') {
+	if ( !empty( $deprecated ) )
+		_deprecated_argument( __FUNCTION__, '2.1' );
+
+	echo get_the_author_posts_link();
 }
 
 /**
