我試圖在wordpress中的cron作業中作出休息請求,但是如果我在wp_cron觸發的函數中有rest_do_request()
,並且它沒有完成作業。強制執行cron作業(使用調試插件)時,它完全執行,但我在日誌Undefined index: path in "../wp-content/mu-plugins/wpengine-common/plugin.php at line 2030"
中看到錯誤。網站目前位於WPEngine上,他們表示這些問題不在他們身邊,儘管PHP通知來自他們的插件。在cron作業中使用rest_do_request()?
功能由cron觸發:
//Sample rest_do_request() that creates a new post
function cron_rings_sync_catalog_bd895153() {
$request = new WP_REST_Request('POST', '/wp/v2/posts');
$request->set_param('title', 'Some Title');
$request->set_param('content', 'Some Content for the new post');
$response = rest_do_request($request);
}
//Hook to Custom Cron Job
add_action('rings_sync_catalog', 'cron_rings_sync_catalog_bd895153', 10, 0);
目前用於測試此功能在functions.php
文件的主題,並將請求上崗做了,但我的路線'/wp/v2/rings'
使用它在CPT(環)
我不明白爲什麼rest_do_request()
在cron作業中不起作用。
我可以登錄由cron事件提出的要求: {"data":{"code":"rest_cannot_create","message":"Sorry, you are not allowed to create posts as this user.","data":{"status":401}},"headers":[],"status":401}
由於我用來調試cron事件的插件,看起來像是PHP Notice。禁用它們並沒有解決問題,rest_do_request()仍然沒有被cron事件觸發。 –