_n( string $single, string $plural, int $number, string $domain = 'default' ): string
- Since
- 2.8.0, 5.5.0
- Source
wp-includes/l10n.php:483
Translates and retrieves the singular or plural form based on the supplied number.
Description
Used when you want to use the appropriate form of a string based on whether a number is singular or plural. Example:
printf( _n( '%s person', '%s people', $count, 'text-domain' ), number_format_i18n( $count ) );Parameters
$singlestring- The text to be used if the number is singular.
$pluralstring- The text to be used if the number is plural.
$numberint- The number to compare against to use either the singular or plural form.
$domainstringoptional- Text domain. Unique identifier for retrieving translated strings. Default 'default'.Default:
'default'
Return
string- The translated singular or plural form.
Hooks fired · 2
2 hooks fire while _n() runs, in this order:
- apply_filters( ngettext )filterline 498 (+15 into the body)
Filters the singular or plural form of a string.
- apply_filters( ngettext_{$domain} )filterline 513 (+30 into the body)
Filters the singular or plural form of a string for a domain.
Uses · 2
- get_translations_for_domain()Returns the Translations instance for a text domain.
- apply_filters()Calls the callback functions that have been added to a filter hook.
Used by · 46
- Twenty_Fourteen_Ephemera_Widget::widget()Output the HTML for this widget.
- WP_Customize_Manager::save_changeset_post()Saves the post for the loaded changeset.
- WP_Customize_Nav_Menus::customize_register()Adds the customizer settings and controls.
- WP_Customize_Nav_Menus::enqueue_scripts()Enqueues scripts and styles for Customizer pane.
- WP_Customize_Widgets::enqueue_scripts()Enqueues scripts and styles for Customizer panel and export data to JavaScript.
- WP_List_Table::ajax_response()Handles an incoming ajax request (called from admin-ajax.php)
- WP_List_Table::comments_bubble()Displays a comment count bubble.
- WP_List_Table::pagination()Displays the pagination.
- WP_MS_Themes_List_Table::get_views()
- WP_MS_Users_List_Table::get_views()
- WP_Plugins_List_Table::get_views()
- WP_Privacy_Requests_Table::process_bulk_action()Process bulk actions.
Show all 46
- WP_Screen::render_screen_layout()Renders the option for number of columns on the page.
- WP_Site_Health::get_test_page_cache()Tests if a full page cache is available.
- WP_Site_Health::get_test_plugin_version()Tests if plugins are outdated, or unnecessary.
- WP_Site_Health::get_test_theme_version()Tests if themes are outdated, or unnecessary.
- WP_Users_List_Table::single_row()Generates HTML for a single row on the users.php admin panel.
- WP_Widget_Custom_HTML::enqueue_admin_scripts()Loads the required scripts and styles for the widget control.
- __ngettext()Retrieve the plural or single form based on the amount.
- _nc()Legacy version of _n(), which supports contexts.
- _wp_ajax_delete_comment_response()Sends back current comment total and new page links if they need to be updated.
- comments_popup_link()Displays the link to the comments for the current post ID.
- get_comments_number_text()Displays the language string for the number of comments the current post has.
- human_readable_duration()Converts a duration to human readable format.
- human_time_diff()Determines the difference between two timestamps.
- install_plugin_information()Displays plugin information in dialog box form.
- print_embed_comments_button()Prints the necessary markup for the embed comments button.
- render_block_core_comments_title()Renders the `core/comments-title` block on the server.
- render_block_core_query_total()Renders the `query-total` block on the server.
- rest_validate_array_value_from_schema()Validates an array value based on a schema.
- rest_validate_object_value_from_schema()Validates an object value based on a schema.
- rest_validate_string_value_from_schema()Validates a string value based on a schema.
- translate_nooped_plural()Translates and returns the singular or plural form of a string that's been registered with _n_noop() or _nx_noop().
- twentyfourteen_list_authors()Print a list of all site contributors who published at least one post.
- validate_plugin_requirements()Validates the plugin requirements for WordPress version and PHP version.
- wp_admin_bar_comments_menu()Adds edit comments link with awaiting moderation count bubble.
- wp_admin_bar_updates_menu()Provides an update link if theme/plugin/core updates are available.
- wp_ajax_replyto_comment()Handles replying to a comment via AJAX.
- wp_dashboard_right_now()Dashboard widget that displays some basic stats about the site.
- wp_dashboard_site_health()Displays the Site Health Status widget.
- wp_default_scripts()Registers all WordPress scripts.
- wp_get_update_data()Collects counts and UI strings for available updates.
- wp_network_dashboard_right_now()
- wp_notify_moderator()Notifies the moderator of the site about a new comment that is awaiting approval.
- wp_star_rating()Outputs a HTML element with a star rating for a given rating.
- wpmu_validate_blog_signup()Processes new site registrations.
Source
function _n( $single, $plural, $number, $domain = 'default' ) { $translations = get_translations_for_domain( $domain ); $translation = $translations->translate_plural( $single, $plural, $number ); /** * Filters the singular or plural form of a string. * * @since 2.2.0 * * @param string $translation Translated text. * @param string $single The text to be used if the number is singular. * @param string $plural The text to be used if the number is plural. * @param int $number The number to compare against to use either the singular or plural form. * @param string $domain Text domain. Unique identifier for retrieving translated strings. */ $translation = apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain ); /** * Filters the singular or plural form of a string for a domain. * * The dynamic portion of the hook name, `$domain`, refers to the text domain. * * @since 5.5.0 * * @param string $translation Translated text. * @param string $single The text to be used if the number is singular. * @param string $plural The text to be used if the number is plural. * @param int $number The number to compare against to use either the singular or plural form. * @param string $domain Text domain. Unique identifier for retrieving translated strings. */ $translation = apply_filters( "ngettext_{$domain}", $translation, $single, $plural, $number, $domain ); return $translation;}History
Introduced in 5.5.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
5.5.0
Introduced
ngettext-{$domain} filter.from the docblock2.8.0
Introduced.from the docblock
About this page
- Parsed data
- Generated from the wordpress-develop 6.8.8 tag, from
src/wp-includes/l10n.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.