Я вывожу на сайте количество зарегистрированных пользователей вот таким кодом:
function declens($int, $expressions)
function get_wp_ver() {
global $wp_version;
preg_match("/\d\.\d/i", $wp_version, $match);
// wpmu - increment version by 1.0 to match wp
if (strpos($wp_version, 'wordpress-mu') !== false) {
$match[0] = $match[0] + 1.0;
}
return $match[0];
}
$users = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->users");
if (0 <$users) $users = number_format($users);
{
settype($int, "integer");
$count = $int % 100;
if ($count >= 5 && $count <= 20) {
$result = "зарегистрирован <strong>".$int."</strong> ".$expressions['2'];
} else {
$count = $count % 10;
if ($count == 1) {
$result = "зарегистрирован <strong>".$int."</strong> ".$expressions['0'];
} elseif ($count >= 2 && $count <= 4) {
$result = "зарегистрировано <strong>".$int."</strong> ".$expressions['1'];
} else {
$result = "зарегистрировано <strong>".$int."</strong> ".$expressions['2'];
}
}
return $result;
}
В какой то момент этот код перестал работать. Упорно выводит одного пользователя, хотя их там перевалило за 3 тысячи. Не пойму почему – в коде я ничего не меняла и вот – перестал работать.
Господа специалисты в wordpress, помогите, пожалуйста, разобраться, как исправить эту проблему.
Ю.Б, помогите, плиз…
Остальным эта задача, по видимому, не по зубам.
То, что Вы привели выше, не то что работать, а и компилироваться не должно – синтаксическая ошибка в первой же строке.
Какая?
Я разбираюсь в php на очень примитивном уровне, поэтому самостоятельно эту ошибку мне не обнаружить. Подскажите, пожалуйста, какая там ошибка?
Привожу весь код – там могут быть и другие ошибки.
Специалист, который это написал для моего сайта, на мои письма не отзывается.
Синтаксическая.
😀
Уже лучше. Этот код рабочий. По крайней мере у меня на тестовом сайте 10 юзеров отсчитал честно. (Надеюсь, Вы понимаете, что я не буду придумывать 3 тысячи ников ради проверки ненужного мне кода :))
Но я вообще не вижу в этом коде вывода.
Этот код находится в файле functions.php, а вывод идет в index.php
Может в этой части ошибка? Почему то он, все-таки, не работает.
И так работает. Хоть и не совсем по-русски:
Так в чем же там может быть проблема?!!!!
Почему у меня перестал работать?
Ю.Б., от чего это может зависеть? Может какие-то плагины или еще что вызывают это?
Вы – человек опытный, помогите понять, что происходит с этим кодом, плиз..
Уберите строку
if (0 <$users) $users = number_format($users);
Ю.Б., вы гений! Все заработало.
Сколько я мучилась с этим кодом.
Спасибо большущее |_____________________________________________________| вот такое.
Странно, этот код прекрасно работает в файле index.php, но совершенно не работает в хедере.
А мне он как раз в хедере нужен.
С чем это может быть связано?
Ничего странного. Это связано с видимостью переменных. Попробуйте добавить
<?php global $numposts, $users; ?>
перед использованием.
Ю.Б., вы точно гений, или ясновидящий – опять все работает. Супер!
Просто я уже три десятка лет как знаком с программированием 🙂