Epsiloncool
Forum Replies Created
-
Hi @rfischmann
Thank you for this report again!
Please could you try to execute this MYSQL query on your website and tell me what does it show?
SHOW VARIABLES LIKE 'lock_wait_timeout';
Also, since your DB regularly fails to connect clients, I would check the number of allowed simultaneous connections in the my.ini settings. It seems that the DB is working at the limit of its capabilities and therefore periodically “freezes”.
It would be good to look at all the DB settings. They can be obtained by the query
show variables like '%';
Although there is a large list.
It is interesting that this error occurs on your site and no one else’s. Other clients complain about slowdowns with a large number of administrators. We are fixing this.
Thanks!
Добрый день, @wpbuild
Через пару дней выйдет обновление плагина, там эта проблема уже пофикшена.
Спасибо!
Hi @novayear
They just authorized you as a translation manager for plugin. Thank you for your hard work!
Добрый день, @wpbuild
Отдельное спасибо за видео – лучше один раз увидеть, чем 7 раз услышать!
На самом деле реиндексация тут ни при чём, при более глубоком анализе мы выяснили, что данный запрос относится к получению статуса индекса (т.е. сколько постов в индексе, сколько не в индексе, сколько требуют переиндексации) и этот запрос запускается 1 раз в минуту для каждой открытой сессии в WP Admin. Соответственно, если открыть несколько вкладок WP Admin, то во столько же раз увеличится количество запросов.
Данную проблему можно решить правильным кэшированием результатов запроса на статус, чем мы сейчас и занимаемся. Скоро будет обновление.
Спасибо.
Спасибо, исчерпывающая информация. Особенно помогло то, что админка открыта на нескольких машинах (и наверняка в нескольких табах) и каждое окно генерирует свои запросы. Учтём это, в ближайшее время выйдет патч с фиксом этой проблемы. Спасибо!
Подскажите, в какие моменты появляется такая ситуация? Когда админка открыта? Когда добавляете публикацию? Или вообще всегда?
Кстати говоря, в нормальном режиме работы (когда индекс уже построен) индексирование не должно производиться – оно запускается только при наличии изменений (например, вы добавили или изменили статью – она индексируется, всё остальное нет смысла индексировать заново).
Можете понаблюдать – когда возникает замедление сайта – после добавления статьи или это может происходить в рандомное время?
Добрый день, @wpbuild
Скорее всего ошибка номер 1 появляется из-за ошибки номер 2, а именно: указанный запрос должен выполняться только один раз на каждый цикл индексирования. Индексирование же запускается по cron не чаще 1 раза в минуту, причём в вашем случае из-за ошибки планировщика скорее всего cron запускается бесконтрольно много раз. Из-за этого задачи индексирования накладываются друг на друга и появляется много запросов.
Дайте мне немного времени – попробуем разобраться что здесь происходит и исправить проблему!
Попробуйте выключить плагин и снова включить – посмотрите, решает ли это проблему или запросы продолжают массово выполняться?
Спасибо.
Hi @tvphuong41
I am afraid those are two different plugins targeting different goals so they can not be simple “merged” somehow. But I need some time to investigate whether we can develop an addon to make this possible.
Thank you!
Hi @rfischmann
Thank you, it’s also very useful observation. Although “deprecated errors” are not dangerous for work, they need to be identified and fixed in a timely manner. Will be fixed in the next release.
Thank you!
Добрый день, @aliksanders
Если рубрика – это стандартная категория WordPress, то нужно в запрос WP_Query() добавить параметр “cat” => “<ID вашей категории>”. Допускается указывать несколько ID через запятую. Вложенные категории также будут использованы при поиске.
Также можно вместо параметра использовать “category_name“, тогда в качестве значения нужно будет указать не ID, а slug нужной категории.
Вот тут есть более подробное описание: https://wp-kama.ru/function/wp_query#categories
Теперь вопрос – как именно добавить этот параметр в запрос. Если вы хотите ограничить категорией главный поиск (тот, что обычно запускается вводом текста в виджет поиска на сайте), то можно перехватить хук pre_get_posts и в нём добавить параметр. Код будет примерно такой (вы можете добавить этот код в начало функции
functions.php
вашей темы:add_action('pre_get_posts', function(&$wpq)
{
if ($wpq->is_search && $wpq->is_main_query()) {
// Modify search query
$wpq->set('cat', '4,5,6'); // Тут задаём нужные ID категорий
}
});Этот подход плох тем, что вы навсегда ограничиваете поиск, пользователи просто не смогут искать в других категориях.
Всё, описанное выше – это вообще-то стандартные функции WP_Query().
Однако, если вы хотите сделать некий специфический поисковый виджет (отличный от главного виджета), при вводе информации в который поиск бы ограничивался, то тут придёт на помощь WP Fast Total Search, точнее, его Live Search Widget и возможность задавать пресеты.
Добавляем вот такой код (интерфейс для данной функции ещё не готов):
add_action ('init', function()
{
global $wpfts_core;
// Проверяем, что плагин WPFTS активен
if ((!is_object($wpfts_core)) || (!$wpfts_core)) {
return;
}
if (method_exists($wpfts_core, 'AddWidgetPreset')) {
// Добавляем новый пресет
$wpfts_core->AddWidgetPreset('preset1', array(
'title' => 'Искать только в категории',
'filter' => 'preset1',
'results_url' => '/',
'autocomplete_mode' => 1, // Это включит "живой" поиск
));
}
}, 255);
// Этот хук активирует функционал пресета
add_action('wpfts_pre_get_posts', function(&$wpq, $wdata)
{
if ($wdata['id'] == 'preset1') {
// Добавляем параметры в поиск
$wpq->set('cat', '1,3,4');
}
}, 20, 2);Выглядит страшновато, но должно работать.
Далее вы где-то размещаете новый виджет из списка виджетов (ищите WPFTS :: Live Search) и выбираете пресет “Искать только в категории” – имя можно поменять в коде.
Теперь при поиске информации через этот виджет (и только через него) будет срабатывать ограничение по категориям.
Надеюсь, удалось помочь. Спрашивайте, если что-то непонятно.
Hi @rhhridoy
Thank you for the warm words, they motivate me to improve the product every day!
Hi @rfischmann
Thanks, Rafael, I will take this into an account!
Hi @pjhimseelf
Sorry for the late answer, but it looks like bbpress activity posts is not included into the search index actually or the search parameters disabled them to be found. Did you try to find them in the Sandbox search tester without limitations of post_type?
Also for exact search for words it’s usual to include words into “quotes”. If you make this for all search queries by default it would sufficiently lower the search experience (since most users don’t know exact words to search for).
Hope this helps. If you still have any issues – please let me know. Thank you!