diff --git src/wp-includes/comment-template.php src/wp-includes/comment-template.php
index 42f3ef2023..7add13ff40 100644
|
|
|
function get_comments_number( $post_id = 0 ) { |
| 869 | 869 | * Display the language string for the number of comments the current post has. |
| 870 | 870 | * |
| 871 | 871 | * @since 0.71 |
| | 872 | * @since 5.4 Added `$post_id` as the fifth parameter. |
| 872 | 873 | * |
| 873 | | * @param string $zero Optional. Text for no comments. Default false. |
| 874 | | * @param string $one Optional. Text for one comment. Default false. |
| 875 | | * @param string $more Optional. Text for more than one comment. Default false. |
| 876 | | * @param string $deprecated Not used. |
| | 874 | * @param string $zero Optional. Text for no comments. Default false. |
| | 875 | * @param string $one Optional. Text for one comment. Default false. |
| | 876 | * @param string $more Optional. Text for more than one comment. Default false. |
| | 877 | * @param string $deprecated Not used. |
| | 878 | * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is the global `$post`. |
| 877 | 879 | */ |
| 878 | | function comments_number( $zero = false, $one = false, $more = false, $deprecated = '' ) { |
| | 880 | function comments_number( $zero = false, $one = false, $more = false, $deprecated = '', $post_id = 0 ) { |
| 879 | 881 | if ( ! empty( $deprecated ) ) { |
| 880 | 882 | _deprecated_argument( __FUNCTION__, '1.3.0' ); |
| 881 | 883 | } |
| 882 | | echo get_comments_number_text( $zero, $one, $more ); |
| | 884 | echo get_comments_number_text( $zero, $one, $more, $post_id ); |
| 883 | 885 | } |
| 884 | 886 | |
| 885 | 887 | /** |
| 886 | 888 | * Display the language string for the number of comments the current post has. |
| 887 | 889 | * |
| 888 | 890 | * @since 4.0.0 |
| | 891 | * @since 5.4 Added `$post_id` as the fourth parameter to allow the usage of the function outside the loop. |
| 889 | 892 | * |
| 890 | 893 | * @param string $zero Optional. Text for no comments. Default false. |
| 891 | 894 | * @param string $one Optional. Text for one comment. Default false. |
| 892 | 895 | * @param string $more Optional. Text for more than one comment. Default false. |
| | 896 | * @param int|WP_Post $post_id Optional. Post ID or WP_Post object. Default is the global `$post`. |
| | 897 | * @return string Language string for the number of comments a post has. |
| 893 | 898 | */ |
| 894 | | function get_comments_number_text( $zero = false, $one = false, $more = false ) { |
| 895 | | $number = get_comments_number(); |
| | 899 | function get_comments_number_text( $zero = false, $one = false, $more = false, $post_id = 0 ) { |
| | 900 | $number = get_comments_number( $post_id ); |
| 896 | 901 | |
| 897 | 902 | if ( $number > 1 ) { |
| 898 | 903 | 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 |