Для одного из своих сайтов нужно было создать алгоритм при котором, в зависимости от цифры перед ним, будет правильно склоняться окончание слова.
Задача стояла для сайта тематики кино. Сначала сделал свой код, но потом нашел более лаконичный и адаптировал под произвольное поле с числовым значением.
- На цифрах 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('серия', 'серии', 'серий'));
?>
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('серия', 'серии', 'серий'));
?>
Где размещается этот код, чтобы форма была после статьи? Сайт на вордпресс
Не непонятно о чем говорится в этой вашей мысли «чтобы форма была после статьи». Сам же код можно положить в файл functions.php в корне темы.