WordPress — код PHP для склонения слова

Admin PHP, WordPress 2 комментария

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

Задача стояла для сайта тематики кино. Сначала сделал свой код, но потом нашел более лаконичный и адаптировал под произвольное поле с числовым значением.

  • На цифрах 21, 31 и т.д. окончание будет 21 серИЯ и 31 серИЯ.
  • На цифрах 2, 3, 4, 22, 23, 24 и т.д. окончание 2 серИИ, 24 серИИ.
  • Во всех остальных случаях сериЙ. Например, 26 сериЙ или 40 сериЙ.

PHP код для склонения слова:

<?php
function number($n, $titles) {
    $cases = array(2, 0, 1, 1, 1, 2);
    return $titles[($n % 100 > 4 && $n % 100 < 20) ? 2 : $cases[min($n % 10, 5)]];
}
$post_meta = get_post_meta($post->ID, 'total_series', true);
echo $post_meta . ' ';
echo number($post_meta, array('серия', 'серии', 'серий'));
?>

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Комментарии к статье “WordPress — код PHP для склонения слова” (2)

    • Admin
      Admin
      Автор записи
      03.11.2019 в 15:15

      Не непонятно о чем говорится в этой вашей мысли «чтобы форма была после статьи». Сам же код можно положить в файл functions.php в корне темы.

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "WordPress — код PHP для склонения слова"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>