вопрос по комментарию. php шаблон и заголовок в wordpress - PullRequest
1 голос
/ 27 мая 2020

Я учусь создавать темы с помощью «Руководства по темам» на developer.wordpress.org, и в шаблоне комментариев есть несколько строк, которые мне непонятны.

что именно происходит в каждом бите кода здесь?

<h2 class="comments-title">
        <?php
            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>' );
        ?>
    </h2>

Я понимаю, что он настраивает заголовок раздела комментариев и что _nx предназначен для перевода, но что происходит в деталях?

спасибо ты

1 Ответ

0 голосов
/ 27 мая 2020

Если у вас возникли проблемы с пониманием такого упакованного выражения, как это, рекомендуется разложить его на несколько операторов.

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; где-то выписка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...