Функция, запускаемая Wordpress Cron, не возвращает сообщений, при запуске через пользовательский интерфейс она возвращает сообщения.

У меня проблемы с плагином, который я создаю. Я сузил проблему до минимального количества кода, чтобы отобразить проблему.

Когда я запускаю функцию для получения сообщений произвольного типа на стандартной странице администратора WordPress, она возвращает результаты. Когда я запускаю функцию как задание cron wp-cli, она возвращает пустые результаты.

  • Я уверен, что задание выполняется, потому что оно выводит пустой массив и сообщение об успешном выполнении cli о том, что задание было выполнено.
  • Я также уверен, что custom_post_type регистрируется при запуске cron, так как я проверил вывод get_post_types().
  • Если я проверяю другой настраиваемый тип сообщения, у меня также возникает проблема: результаты в пользовательском интерфейсе, нет результатов от cron-run.
  • Если я проверяю встроенный тип (например, post или page), я получаю правильные результаты в обоих сценариях, так что проблем нет.

Функция

function showEvents(){
    $posts = get_posts([
        "post_type" => "my_event",
    ]);
    var_export($posts);
}

Крон работа

add_action( 'my_custom_cron', 'showEvents' );

Команда интерфейса командной строки WP

wp cron event run my_custom_cron --url=https://example.com/subsite/

person JakeParis    schedule 09.10.2020    source источник
comment
Похоже на ту же проблему, что и stackoverflow.com/questions/54343863/   -  person rg89    schedule 04.02.2021