wp_sprintf_l( string $pattern, array $args )
Localize 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
-
(Required) Content containing '%l' at the beginning.
- $args
-
(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 ( substr($pattern, 0, 2) != '%l' )
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 WP-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( __('%s, %s'), '', '' ),
/* translators: used to join last two items in a list with more than 2 times */
'between_last_two' => sprintf( __('%s, and %s'), '', '' ),
/* translators: used to join items in a list with only 2 items */
'between_only_two' => sprintf( __('%s and %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);
}
Changelog
Version | Description |
---|---|
WP-2.5.0 | Introduced. |