• В моем плагине обновление статуса лицензии повешено на фильтры pre_set_site_transient_update_plugins и plugins_api (в момент, когда вордпрес проверяет наличие новой версии плагина, за одно одним запросом идет и проверка статуса лицензии)

    Если человек посещает страницу админки wp-admin/plugins.php данные о лицензии успешно обновляются

    Хочу сделать так, чтобы со страницы, на которой юзер вводит данные о лицензии сразу можно было отправить запрос на проверку статуса лицензии. Допфункцию не хотелось бы писать.
    Думал, что выполнение функции wp_update_plugins() приводит к срабатыванию одного из фильтров pre_set_site_transient_update_plugins и plugins_api, а нет. Не приводит.
    Как быть? Может есть какой-то вариант, который заставляет ворпдерс вне графика отправить запрос на проверку статуса обновлений для плагинов?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Думал, что выполнение функции wp_update_plugins() приводит к срабатыванию одного из фильтров pre_set_site_transient_update_plugins и plugins_api, а нет. Не приводит.

    Приводит, но с заданной периодичностью:

    • На экране обновлений: раз в минуту.
    • На экране списка плагинов: раз в час.
    • При запуске планировщика: раз в два часа.
    • При обычном входе в админку: раз в 12 часов.

    Может есть какой-то вариант

    • Передать что-нибудь в параметре $extra_stats, т.к. выполнение функции прерывается, только если он пуст.
    • Попробовать так:
      
      add_filter( 'pre_site_transient_update_plugins', '__return_null' );
      wp_update_plugins();
      remove_filter( 'pre_site_transient_update_plugins', '__return_null' );
      

    Помогло! Спасибо большое!

Просмотр 2 ответов — с 1 по 2 (всего 2)

Тема «wp_update_plugins() не работает?» закрыта для новых ответов.