Ich versuche, eine Ruheanforderung in einem Cron-Job in WordPress zu machen, aber wenn ich die rest_do_request()
in der Funktion haben, die von wp_cron gefeuert wird und es den Auftrag nicht beendet. Wenn der Cron-Job erzwungen wird (mit einem Debug-Plugin), wird er komplett ausgeführt, aber ich sehe Fehler im Log Undefined index: path in "../wp-content/mu-plugins/wpengine-common/plugin.php at line 2030"
. Die Webseite wird momentan auf WPEngine gehostet, sie sagen, dass die Probleme nicht von ihrer Seite sind, obwohl die PHP Notice von ihrem Plugin stammt.Verwendung von rest_do_request() in einem Cron-Job?
von cron gefeuert Funktion:
//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);
Derzeit wird diese Funktion zum Testen in functions.php
Datei des Themas hinzugefügt und die Anforderung wird für Beiträge getan, aber ich benutze es auf einem CPT (Ringe) mit Route '/wp/v2/rings'
Ich kann nicht herausfinden, warum rest_do_request()
nicht funktioniert, wenn in einem Cron-Job verwendet.
konnte ich die Anfrage von cron Ereignisse gemacht protokollieren: {"data":{"code":"rest_cannot_create","message":"Sorry, you are not allowed to create posts as this user.","data":{"status":401}},"headers":[],"status":401}
Sieht aus wie die PHP-Notiz erscheint wegen des Plugins, das ich benutze, um Cron-Ereignisse zu debuggen. Wenn Sie sie deaktivieren, wird das Problem nicht behoben. Rest_do_request() wird immer noch nicht vom Cron-Ereignis ausgelöst. –