Если у вас возникли проблемы с пониманием такого упакованного выражения, как это, рекомендуется разложить его на несколько операторов.
printf(
_nx(
'One thought on "%2$s"',
'%1$s thoughts on "%2$s"',
get_comments_number(),
'comments title',
'twentythirteen'
),
number_format_i18n(
get_comments_number()
),
'<span>'.get_the_title().'</span>'
);
иначе написано:
$singularForm = 'One thought on "%2$s"';
$pluralForm = '%1$s thoughts on "%2$s"';
$commentNumber = get_comments_number();
$i18nNumber = number_format_i18n($commentNumber);
$htmlTitle = '<span>'.get_the_title().'</span>';
$nx = _nx($singularForm, $pluralForm, $commentNumber, 'comments title', 'twentythirteen');
printf($nx, $i18nNumber, $htmlTitle);
Документация для _nx()
говорит, что он должен возвращать либо версию $ singularForm, либо $ pluralForm вашего ввода, в зависимости от переменной $ commentNumber.
Поскольку она сочетается с printf , я предполагаю, что он вернет скорее что-то с двумя заменяющими символами, которые станут $commentNumber
и $htmlTitle
.
Если у вас есть сомнения, вы всегда можете использовать этот распакованный скрипт с echo $nx;
где-то выписка.