wp_sprintf_l() WordPress Function
The wp_sprintf_l() function is used to format a string according to a set of arguments. The function takes a format string as the first argument and an array of arguments as the second argument. The function returns a formatted string.
wp_sprintf_l( string $pattern, array $args ) #
Localizes list items before the rest of the content.
Description
The ‘%l’ must be at the first characters can then contain the rest of the content. The list items will have ‘, ‘, ‘, and’, and ‘ and ‘ added depending on the amount of list items in the $args parameter.
Parameters
- $pattern
(string)(Required)Content containing '%l' at the beginning.
- $args
(array)(Required)List items to prepend to the content and replace '%l'.
Return
(string) Localized list items and rest of the content.
Source
File: wp-includes/formatting.php
function wp_sprintf_l( $pattern, $args ) { // Not a match. if ( '%l' !== substr( $pattern, 0, 2 ) ) { return $pattern; } // Nothing to work with. if ( empty( $args ) ) { return ''; } /** * Filters the translated delimiters used by wp_sprintf_l(). * Placeholders (%s) are included to assist translators and then * removed before the array of strings reaches the filter. * * Please note: Ampersands and entities should be avoided here. * * @since 2.5.0 * * @param array $delimiters An array of translated delimiters. */ $l = apply_filters( 'wp_sprintf_l', array( /* translators: Used to join items in a list with more than 2 items. */ 'between' => sprintf( __( '%1$s, %2$s' ), '', '' ), /* translators: Used to join last two items in a list with more than 2 times. */ 'between_last_two' => sprintf( __( '%1$s, and %2$s' ), '', '' ), /* translators: Used to join items in a list with only 2 items. */ 'between_only_two' => sprintf( __( '%1$s and %2$s' ), '', '' ), ) ); $args = (array) $args; $result = array_shift( $args ); if ( count( $args ) == 1 ) { $result .= $l['between_only_two'] . array_shift( $args ); } // Loop when more than two args. $i = count( $args ); while ( $i ) { $arg = array_shift( $args ); $i--; if ( 0 == $i ) { $result .= $l['between_last_two'] . $arg; } else { $result .= $l['between'] . $arg; } } return $result . substr( $pattern, 2 ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |