mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Query: Ensure the author archive title always shows the name of the queried author, regardless of whether there are results.
This brings the behaviour inline with the `<title>` element of the page which always shows the author name. Props Tkama, subrataemfluence Fixes #44183 git-svn-id: https://develop.svn.wordpress.org/trunk@49843 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
a706d9e189
commit
b04671e52f
@ -597,8 +597,8 @@ class WP {
|
||||
$GLOBALS['single'] = 1;
|
||||
}
|
||||
|
||||
if ( $wp_query->is_author() && isset( $wp_query->post ) ) {
|
||||
$GLOBALS['authordata'] = get_userdata( $wp_query->post->post_author );
|
||||
if ( $wp_query->is_author() ) {
|
||||
$GLOBALS['authordata'] = get_userdata( get_queried_object_id() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -589,4 +589,37 @@ class Tests_General_Template extends WP_UnitTestCase {
|
||||
array( 0, false ),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 44183
|
||||
*/
|
||||
function test_get_the_archive_title_is_correct_for_author_queries() {
|
||||
$user_with_posts = $this->factory()->user->create_and_get(
|
||||
array(
|
||||
'role' => 'author',
|
||||
)
|
||||
);
|
||||
$user_with_no_posts = $this->factory()->user->create_and_get(
|
||||
array(
|
||||
'role' => 'author',
|
||||
)
|
||||
);
|
||||
|
||||
$this->factory()->post->create( [
|
||||
'post_author' => $user_with_posts->ID,
|
||||
] );
|
||||
|
||||
// Simplify the assertion by removing the default archive title prefix:
|
||||
add_filter( 'get_the_archive_title_prefix', '__return_empty_string' );
|
||||
|
||||
$this->go_to( get_author_posts_url( $user_with_posts->ID ) );
|
||||
$title_when_posts = get_the_archive_title();
|
||||
|
||||
$this->go_to( get_author_posts_url( $user_with_no_posts->ID ) );
|
||||
$title_when_no_posts = get_the_archive_title();
|
||||
|
||||
// Ensure the title is correct both when the user has posts and when they dont:
|
||||
$this->assertSame( $user_with_posts->display_name, $title_when_posts );
|
||||
$this->assertSame( $user_with_no_posts->display_name, $title_when_no_posts );
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user