Здравствуйте.
Версия WordPress 4.7.3
Версия WP-Recall 15.9.8
Сайт
Проблема в том, что в конце статей (записей) там, где выводятся данные об авторе в Счётчике публикаций ЦИФРА (КОЛ-ВО) ПУБЛИКАЦИЙ не совпадает с реальным количеством опубликованных автором записей. Так, например, у "Администратора" сайта, который опубликовал всего 1 запись, в графе "Публикации" стоит - "Публикации:47". То есть я так понимаю, что счётчик некорректно считает и учитывает не только опубликованные записи, а какие-то возможно служебные страницы, создаваемые другими плагинами в ходе своего использования. В Личном Кабинете пользователя, при этом, отображаются реальные опубликованные записи и в списке нет ничего лишнего.
Пример, где можно посмотреть несоответствие -
Просьба подсказать, как исправить данную проблему, чтобы Счётчик кол-ва публикаций указывал именно на реальное количество опубликованных записей автором.
Спасибо.
Андрей CS сказал(а)
плагин выводит реальное количество публикаций автором которых пользователь является, у админа также считаются созданные им страницы.
Возможно с Администратором подхватываются дополнительно страницы, но с другими 2-мя пользователями (авторами) все-равно несоответствие. Так, у одного пользователя 3 опубликованных записи + 1 черновик = показывает "Публикации:4", а у другого автора всего 2 Статьи опубликованных = показывает "Публикации:5" вот по нему ссылка -
Посмотрите, пожалуйста.
Otshelnik-Fm сказал(а)
Считает все типы записей. Страницы в том числе.
А можно ли как-то сделать чтобы считались только Записи (статьи) и в любом случае непонятно, как в общее число к Авторам попали опубликованные страницы, если у них нету доступа создавать страницы. Но хотя может это служебные страницы как раз созданные какими-то плагинами - тут спорить не буду.
Otshelnik-Fm сказал(а)
Никакой ошибки быть не может. Что у вас есть в бд - то и считает. Вы по этому пользователю в бд смотрели? Сколько у него там опубликовано записей?
Как зайти в phpMyAdmin знаю, но как посмотреть кол-во опубликованных записей не знаю. Можете подсказать куда смотреть - в какие разделы бд? И если мне нужно привести в соответствие счётчика публикаций к реальному кол-ву опубликованных записей, тех которые отображаются и в ЛК, и в вордпрессе, то могу ли я что-то подправить в бд?
Otshelnik-Fm сказал(а)
Страница за авторством
Вы не можете просматривать опубликованные ссылкисмотрите у себя в админке. То что вы даете нам - как мы увидим что у вас на самом деле в админке и в бд?
В админке у меня всего 7 опубликованных записей СТРАНИЦ -
, но никак не 47.
Otshelnik-Fm сказал(а)
Вставьте этот запрос:
SELECT COUNT(post_author) FROM `wp_posts` WHERE post_status = 'publish' AND post_author = 2только id юзера нужного подставьте
И он посчитает вам. Совпадет значение?
Это нужно сделать mql - запрос в базе данных или прописать в конце файла functions.php?
Otshelnik-Fm сказал(а)
админке у меня всего 7 опубликованных записей СТРАНИЦ
Считает все типы записей. Страницы в том числе.
что непонятного? Вы знаете что такое типы записей?
Конечно, если считает все типы записей, т.е. и опубликованные страницы тоже, то тогда вполне вероятно, что счётчик считает правильно (учитывая также служебные страницы созданные какими-то плагинами), ХОТЯ и в моём случае информация об опубликованных страницах не нужна в статистике Авторов. Но если нету решения, чтобы счётчик считал только опубликованные записи, то придётся смириться с таким неудобством.
Otshelnik-Fm сказал(а)
Но если нету решения, чтобы счётчик считал только опубликованные записи,
Вы запрос в бд сделали? Что показал?
Вы видели эту строчку WHERE post_status = 'publish' - только опубликованные и считает
Выдало ошибку -
Otshelnik-Fm сказал(а)
FROM `wp_posts` на
FROM `вашпрефикс_posts`
Получилось выполнить запросы - везде то кол-во, которое указано в счётчике по всем Авторам, но мне так не подходит - мне нужно, чтобы страницы не учитывались. Можно ли как-то сделать так, чтобы считались только опубликованные Записи?
Otshelnik-Fm сказал(а)
Нужно программировать. Готового решения нет.
Понятно. А сколько это может быть в деньгах и по времени? Просто хотелось бы иметь именно вариант с только записями - так как это более информативно в статистике по Авторам. Ну, и так, чтобы при программировании не задело какие-то остальные функции, чтобы что-то не послетало, что тонко настроено уже на сайте.
add_action('rcl_user_description','rcl_user_posts',20); function rcl_user_posts(){ global $rcl_user,$rcl_users_set; if(false!==array_search('posts_count', $rcl_users_set->data)||isset($rcl_user->posts_count)){ if(!isset($rcl_user->posts_count)) $rcl_user->posts_count = 0; echo '<span class="filter-data"><i class="fa fa-file-text-o"></i>'.__('Publics','wp-recall').': '.$rcl_user->posts_count.'</span>'; } }
Вот вывод постов.
Например в functions.php добавляем:
remove_action('rcl_user_description','rcl_user_posts',20); add_action('rcl_user_description','rcl_user_posts_new',20); function rcl_user_posts_new(){ //тут выводим блок с кол-вом постов }
Preci сказал(а)
add_action('rcl_user_description','rcl_user_posts',20); function rcl_user_posts(){ global $rcl_user,$rcl_users_set; if(false!==array_search('posts_count', $rcl_users_set->data)||isset($rcl_user->posts_count)){ if(!isset($rcl_user->posts_count)) $rcl_user->posts_count = 0; echo '<span class="filter-data"><i class="fa fa-file-text-o"></i>'.__('Publics','wp-recall').': '.$rcl_user->posts_count.'</span>'; } }Вот вывод постов.
Например в functions.php добавляем:
remove_action('rcl_user_description','rcl_user_posts',20); add_action('rcl_user_description','rcl_user_posts_new',20); function rcl_user_posts_new(){ //тут выводим блок с кол-вом постов }
Мне необходимо добавить только последний код в functions.php или первый код вывода постов тоже куда-то добавить?
Preci сказал(а)
Это просто пример как можно заменит блок с постами на свою функцию и считать там что и как угодно, самой функции нет так что конкретно это вставлять ненадо
Я попробовал добавить последний код только в functions.php и у меня вообще пропало поле со счётчиком публикаций. В принципе, как вариант отказа от данной графы подойдёт. Но, я так понимаю, чтобы реализовать именно подсчёт опубликованных записей, нужно заменить код вывода постов на нужный?
Otshelnik-Fm сказал(а)
Можно использовать это
Вы не можете просматривать опубликованные ссылкиили погуглить "как посчитать тип записи в вордпресс"
Функцию и повесить на хук 'rcl_user_description'
Спасибо. Но я, честно говоря, не настолько продвинут в кодинге php. Ещё зная html могу как-то пробовать разобраться с каким-то кодом, но выражение "функцию повесить на хук" меня вводит в депрессию. Если есть какие-то инструкции куда что готовый код вставить, это я могу сделать. Буду признателен за такую инструкцию возможно за оплату.