diff --git src/wp-includes/comment-template.php src/wp-includes/comment-template.php
index 42f3ef2023..6fe97b6e8d 100644
|
|
function comments_number( $zero = false, $one = false, $more = false, $deprecate |
886 | 886 | * Display the language string for the number of comments the current post has. |
887 | 887 | * |
888 | 888 | * @since 4.0.0 |
| 889 | * @since 5.4 Added `$post_id` as the fourth parameter to allow the usage of the function outside the loop. |
889 | 890 | * |
890 | 891 | * @param string $zero Optional. Text for no comments. Default false. |
891 | 892 | * @param string $one Optional. Text for one comment. Default false. |
892 | 893 | * @param string $more Optional. Text for more than one comment. Default false. |
| 894 | * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is the global `$post`. |
| 895 | * @return string Language string for the number of comments a post has. |
893 | 896 | */ |
894 | | function get_comments_number_text( $zero = false, $one = false, $more = false ) { |
895 | | $number = get_comments_number(); |
| 897 | function get_comments_number_text( $zero = false, $one = false, $more = false, $post_id = 0 ) { |
| 898 | $number = get_comments_number( $post_id ); |
896 | 899 | |
897 | 900 | if ( $number > 1 ) { |
898 | 901 | if ( false === $more ) { |
diff --git tests/phpunit/tests/comment/template.php tests/phpunit/tests/comment/template.php
index cabfb36da0..73f6493bda 100644
|
|
class Tests_Comment_Template extends WP_UnitTestCase { |
52 | 52 | |
53 | 53 | } |
54 | 54 | |
| 55 | /** |
| 56 | * @ticket 48772 |
| 57 | */ |
| 58 | function test_get_comments_number_text_outside_loop() { |
| 59 | $post_id = $this->factory->post->create(); |
| 60 | $this->factory->comment->create_post_comments( $post_id, 6 ); |
| 61 | |
| 62 | $comments_number_text = get_comments_number_text( false, false, false, $post_id ); |
| 63 | |
| 64 | $this->assertEquals( sprintf( _n( '%s Comment', '%s Comments', 6 ), '6' ), $comments_number_text ); |
| 65 | } |
| 66 | |
55 | 67 | /** |
56 | 68 | * @ticket 13651 |
57 | 69 | * @dataProvider data_get_comments_number_text_declension |