Здравствуйте!
Реколл 16.0.7
Помогите, пожалуйста, по такому вопросу: Обычно, при удалении пользователя, вношу его ID как исключение на страницу дополнения среди прочих, чтобы его место не показывалось: [ top_user_rating sorting="0" limit="39" exclude="476,70,1333,431,355,64,229,37,175,360,483,67,81,88,228,436,357,535,26,121,127,218,1237,54,391,72,33,216,343,1111,4,374,28,68,485,5,21,47,3,7,9,10,11,27,34,35,38,203,248,291,319,369,378,395,397,434,442,445,470,473,475,477,478,479,480,484,486,487,1230,490,492,53,1216" ]
Затем вношу также его ID в поле дополнения в админке ИСКЛЮЧИТЬ ПОЛЬЗОВАТЕЛЕЙ, сохраняю и вот сейчас обратил внимание, что из 39 пользователей сайта с местами на странице и в ЛК полная совместимость только у половины, а начиная с 22 места наблюдается НЕСОВПАДЕНИЕ мест на странице и в Личном кабинете.
Не пойму, что не так делаю. На всякий случай ссылка на проблему:
Точнее даже так: Не смог ввести ID удаленного пользователя в админку в поле дополнения ИСКЛЮЧИТЬ ПОЛЬЗОВАТЕЛЕЙ, так как нет места там наверное. Пришлось поэтому скопировать все исключенные ID со страницы и вставить в поле в админке.
Заранее благодарю,
В том-то и дело, что удалял-то я их обычным путем - через админ.панель. И wp-recall всегда включён. Но эти белые профили, как я понял, относятся не только к удаленным пользователям. У меня на сайте никогда не было более 50-ти зарегистрированных. А там этих белых профилей - несколько сотен, если не тысяча. Мне кажется, это спам, который за всю историю моего сайта каждый день приходит и каждый день я их удалю. Но и их я удаляю через адиинку - Пользователи. Вот только почему они проявляются на странице total_rating .....Загадка.
Я там по ссылке давал решение как всех несуществующих увидеть. Потом уже их из таблицы *rating_users вручную по имеющимся id можно вычистить удалив эти строки (но перед этим обязательно копию бд делайте)
Вы уж извините что я в чужой теме веду разговор.
Итак. Мои эксперименты:
зарегистрировался новым пользователем.
Смотрю: он есть в таблице wp_rcl_rating_users.
Удалил его из админки - из списка пользователей.
Смотрю: нет его в таблице wp_rcl_rating_users.
- это еще раз подтверждает что плагин WP-Recall (когда он активирован) висит на хуке удаления юзера и подчищает свои таблички.
p.s. просто проверил - вдруг реколл перестал это делать (ан нет - работает как и должен)
Poruchik - вам на заметку - как все проделать и как посмотреть. Вот пример куда смотреть
Otshelnik-Fm, здравствуйте!
Сейчас разбираюсь со своим вопросом, ставшим уже в какой-то степени нашим благодаря и вашей помощи. Если у вас есть время, хотел бы уточнить несколько моментов по базе данных. Сейчас влез в неё, но пока только изучаю. Я на скрине показал так, как вы порекомендовали и хочу спросить, правильно ли я делаю: смотрите, вошел в wp_rcl_rating_users. Справа колонка rating_total вместе с ID пользователей. Не совсем понял, о какой именно таблице юзеров - wp_users вы говорили. Вероятно, о таблице дополнения Top user by rating [ top_user_rating sorting="0" limit="40" ].
Теперь, что я делаю дальше: В таблице справа в базе данных (на скриншоте) я вижу Id и рейтинг. Отметил плюсиками - это админы, а далее знаками вопроса - это те, кого точно у меня нет ибо рейтинг "0", а минусового рейтинга на сайте точного ни у кого нет. Значит именно их я должен удалить в ЭТОЙ колонке? Поставить чек и на красную кнопку? И дальше пойти по страницам? Всё верно? Если - да, тогда вопрос: такая процедура МОЖЕТ нанести вред базе данных? Нет, я всё равно скопирую её, просто интересно) Всё-таки я впервые в жизни делаю изменения в базе данных и поэтому слегка робею.
Спасибо,
Скриншот:
Здравствуйте.
По той ссылке не трогаем 6-й комментарий. Он для того чтоб вы id юзеров нашли, для exclude вашего.
Смотрим 8-й комментарий:
1. Я в этой ссылке дал вам sql запрос. Его надо ввести в таб вверху SQL
(не важно с какой таблицы в эту вкладку зайдете - с любой в этой базе данных)
Выполнив пункт 1 вы получите список id несуществующих юзеров. У меня это
2. Потом в таблице wp_rcl_rating_users сортируете по user_id (нажав на колонку) и ищете идентификатор юзеров из 1 пункта. У меня так
3. Вроде все. для проверки запустите пункт 1
Таким образом вы вычистите "мертвые души", но почему у вас юзер удаляется, а табличка не удаляется - секрет. При включенном wp-recall (и дополнении рейтинга конечно) все подчищается - я проверял.
Не совсем понял, о какой именно таблице юзеров - wp_users
- таблица в самом низу
, возможно у вас там переключатель на 2ю страницу
Otshelnik-Fm, понял, буду делать. Спасибо.
Preci,
Создайте нового юзера, посмотрите появится ли его ID в таблице wp_rcl_rating_users
Удалите юзера и посмотрите исчезнет ли его ID из wp_rcl_rating_users
Нового юзера создал, в таблице его нет. В ЛК его место - 209. А у меня 39 пользователей и даже, если суммировать всех удаленных, такого количества (209) пользователей никогда и не было. Что примечательно: в базе данных в wp_rcl_rating_users-rating total этот пользователь ЕСТЬ. На скрине обвел его. Что скажете?))
Для Preci и Otshelnik-Fm (продолжение мистического сериала о моем сайте):
Итак, заново зарегистрировал другого юзера, ID = 1383. Место в ЛК - 209. В таблице на сайте его нет. В базе под этим ID он есть с рейтингом - 0, естественно.
Далее: Он получил оценку за публикацию, рейтинг начал "капать" = 2 и картина такая: в ЛК - место 67 вместо 209 (хотя на сайте зарегистрировано всего 39 юзеров). В таблице на сайте он ПОЯВИЛСЯ под номером 40, естественно, с рейтингом - 2. Затем я удалил его аккаунт и в таблице сайта увидлел до боли знакомы белый профиль под номером 40. А теперь мистика: Его ID ПОМЕНЯЛСЯ. Был 1383, проверил область этого профиля через Исследовать элемент: ID стал - 494. В базе данных ID 1383 исчез и вместо него появился ID - 494.
Я думаю, кто сможет разгадать эту загадку, смело может претендовать на Нобеля или что там дают программистам. Что скажете, господа? Я ни черта не понимаю....
Для Otshelnik-Fm: Подскажите, пожалуйста. по первому пункту. Я зашел в SQL, но там уже есть SELECT какой-то. Прилагаю скрин. Мне вставить этот под ним?
SELECT * FROM `wp_rcl_rating_users` AS t_rating left outer join `wp_users` AS t_users ON t_rating.user_id = t_users.ID where t_users.ID is null
и нажать SELECT?
Это селект, как шаблон для новых запросов, по выборке из указанной в нем таблицы. Видно что он не завершен. Просто стирайте его и вписывайте мой
По юзеру - вы такой приключенческий роман написали. Вы можете просто:
1. зарегистрировать юзера - посмотреть в таблице рейтинга - есть ли он. Мы видим - есть. Ок.
2. Потом просто удалите его через админку
При включенном wp-recall (и дополнении рейтинга конечно)
3. посмотрите в БД в таблице с рейтингом - он оттуда исчез?
Вот и все что от вас на данный момент нужно.
Фронтенд часть выборки из бд может быть и будет неверной пока там есть "мертвые души". Но повторюсь:
но почему у вас юзер удаляется, а табличка не удаляется - секрет. При включенном wp-recall (и дополнении рейтинга конечно) все подчищается - я проверял.
и
Итак. Мои эксперименты:
зарегистрировался новым пользователем.
Смотрю: он есть в таблице wp_rcl_rating_users.
Удалил его из админки - из списка пользователей.
Смотрю: нет его в таблице wp_rcl_rating_users.- это еще раз подтверждает что плагин WP-Recall (когда он активирован) висит на хуке удаления юзера и подчищает свои таблички.
p.s. просто проверил - вдруг реколл перестал это делать (ан нет - работает как и должен)Poruchik - вам на заметку - как все проделать и как посмотреть. Вот пример куда смотреть
Вы не можете просматривать опубликованные ссылки
1. зарегистрировать юзера - посмотреть в таблице рейтинга - есть ли он. Мы видим - есть. Ок.
Сделал. В таблице рейтинга на сайте сначала его нет, а когда получил первую оценку, то появился.
2. Потом просто удалите его через админку
Удалил через админку.
3. посмотрите в БД в таблице с рейтингом - он оттуда исчез?
В БД в таблице с рейтингом до удаления он был с одним ID, а после удаления аккаунта он остался в БД, но уже с другим рейтингом.
А вот почему юзер удаляется, а табличка - нет, действительно странно. Боюсь, что я сейчас подчищу всё, удалю "мертвых душ", а потом....нет гарантии, что история будет повторяться с вновь удаленными пользователями....
1. покажите 1 и 3 шаг - скриншот из БД. В чудеса не верю.
2. Отключите весь сторонний функционал. Оставьте WP-Recall и систему рейтинга (все остальные допы отключите), отключите ВСЕ плагины кроме реколл. Переключитесь на вп шаблон twenty (так мы подключим другой functions.php - а то мало ли в вашем кастомного)
- вот так вчистую повторите регистрацию, анализ в бд в рейтинге, удалите и посмотрите. Так все сторонние чудеса отбросим и оставим только реколл и вордпресс
Но у меня кастомного, где я проверял не меньше, почему я проблем не вижу - странно.
Ищите.
Теперь вновь я повторил проверку:
В таблице рейтинга на сайте сначала его нет, а когда получил первую оценку, то появился.
1. - зарегал нового юзера - реколл допы активны только свои, ниодного стороннего. Рейтинг в таблице у юзера есть. И он = 0
. Почему у вас так?
Я начинаю подозревать или баг с каким-то сторонним дополнением - например не для 16й версии оно.
2. ок. Удаляю юзера так
3. 124 юзера нет
1. Показываю в скринах на примере другого зарегистированого только что юзера.
Зареганый юзер:
В таблице рейтинга НА САЙТЕ его нет. А в БД есть:
Сразу же, как только юзер получил первую оценку, пошел его рейтинг и обратите внимание на МЕСТО.
В таблице дополнения на сайте он вдруг появляется.
В БД его рейтинг меняется:
А это после УДАЛЕНИЯ его аккаунта. Белый профиль. Тут я обратил внимание на его ID - 494. А был 1384. А когда был 1384, то 494 в БД НЕ БЫЛО. Это точно. Значит один заменил другой, не так ли?
Вот он, новый ID, которого раньше не было:
2. Обязательно сделаю. Самому интересно. Но я ничего не потеряю при возвращении с шаблона вп 20 обратно на свой Frontier? Мне когда-то приходилось переустанавливать счётчик Яндекс и соцсети через shaer42 и что-то еще. Вот только не помню при переходе с какого шаблона на какой. Может и путаю.
Опять вы с этим топом. я и Preci просили лишь выполнить нужное нам по делу. Я вам все расписал по пунктам, ей богу - ругаться сейчас начну. Если вы не понимаете - зачем вы делаете то, что вас не просят?
Фронтенд часть выборки из бд может быть и будет неверной пока там есть "мертвые души".
и я просил дважды или более:
Вы можете просто:
1. зарегистрировать юзера - посмотреть в таблице рейтинга - есть ли он. Мы видим - есть. Ок.
2. Потом просто удалите его через админкуПри включенном wp-recall (и дополнении рейтинга конечно)
3. посмотрите в БД в таблице с рейтингом - он оттуда исчез?
Вот и все что от вас на данный момент нужно.
покажите 1 и 3 шаг - скриншот из БД
вы выкатили снова целый приключенческий рассказ. И так не дошли до финала - что я и пытался выяснить.
Если этот вариант с отключением у вас вызывает столько сложностей, то почему вы откинули помощь по выявлению мертвых душ в рейтинге sql-запросом?
Да ладно, что я переживаю мне оно сильно надо как будто.
хотел помочь, а наткнулся на какой -то столб игнора. Как в школе по пуктам расписал и как об стенку горох..
Проблему у плагина WP-Recall с удалением юзера и его таблиц нет, тема не моя, а чужая, ухожу из этой темы. Влез в чужой товар с помощью блин.
Место юзера 209 после регистрации означает что в таблице с общим рейтингом юзеров есть 209 или больше уникальных юзеров, если у вас на сайте зареганных 30 - значит 209 - 30 = 179 - это столько пользователей вы как бы удалили, но их ID остались в таблице рейтинга, не ясно почему.
Если после создания юзера его ID появляется в таблице, а после удаления исчезает - значит все нормально и вам надо очистить эту таблицу от мертвых душ, запрос для этого вам давал Отшельник.
Сорри, но мы наверное все не понимаем друг друга.
1. зарегистрировать юзера - посмотреть в таблице рейтинга - есть ли он. Мы видим - есть. Ок.
2. Потом просто удалите его через админку
При включенном wp-recall (и дополнении рейтинга конечно)
3. посмотрите в БД в таблице с рейтингом - он оттуда исчез?
Вот и все что от вас на данный момент нужно.
Все эти действия я сделал и описал вам:
Юзера зарегисттрировал, в таблице рейтинга на сайте его сначала нет, но как только появляется первая оценка рейтинга - он появляется. В БД он есть и до начала подсчета рейтинга и после начала подсчета. До начала - 0, после начала - 2. Потом удалил юзера, как это делаю всегда -через админку. В БД с рейтином он не исчез. Вот и всё, что вы просили и именно это я сделал. Скриншотами лишь подтвердил наглядно.
И никто от помощи не отказывался с sql-запросом. Я воспользуюсь, но сначала отвечал на вопросы. И сам еще и виноватым остался.
В любом случае спасибо всем и спокойной ночи. Разберусь...