Diese wp_query wird keine Posts zurückgeben und funktioniert nur mit post_status erben?

Ich habe Schwierigkeiten, eine Liste mit Posts zurückzugeben. Diese Datei ist in einem Plugin-Ordner enthalten (schließlich möchte ich einen Cron-Job haben, führen Sie einfach das Skript hier aus, um Beiträge mit ungültigen URLs im angegebenen Meta-Wert zu löschen).

Ich habe versucht, get_posts zu verwenden, um Beiträge ohne Erfolg zurückzugeben. Also habe ich versucht, eine wp_query mit noch keinem Erfolg zu bearbeiten und zu bearbeiten.

Die einzige Möglichkeit, wie ich zu dem Teil gelangen kann, an dem das Array gedruckt wird und der ‘No items here’ anzeigt, ist, wenn der post_status auf vererben gesetzt ist. Ansonsten wird absolut keine Ausgabe erzeugt.

Kann mir jemand einen Hinweis geben, dass ich hier fehlt? Ich habe den Pull sowohl beim Versuch der get_posts als auch wp_query korrekt strukturiert, weil ich Code-Strukturen recycelte, die ich bereits erfolgreich in anderen Bereichen der Site verwendet habe. Gibt es eine andere Datei, die ich anrufen muss? Ein spezieller Code, der in einer eigenständigen Datei wie dieser hinzugefügt werden muss? Ein anderer Ansatz, den ich nehmen sollte?

ini_set("memory_limit","64M"); require('./wp-blog-header.php'); global $wp_query; $ready_delete = array(); $query = new WP_Query(array( 'post_type' => 'cars', 'posts_per_page' => -1)); if( $query->have_posts() ) : while ($query->have_posts()) : $query->the_post(); $checklink_id = get_the_ID(); $checklink = get_post_meta($checklink_id, 'ca_link', true); //$ch = curl_init($checklink); //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //if (curl_exec($ch) === false) { $ready_delete[] = $checklink; //wp_delete_post( $checklink_id, $force_delete ); //} else { //} //curl_close($ch); endwhile; else: echo 'No items here '; endif; print_r($ready_delete); wp_reset_postdata(); 

Solutions Collecting From Web of "Diese wp_query wird keine Posts zurückgeben und funktioniert nur mit post_status erben?"

Dieser Teil require('./wp-blog-header.php'); ist jede Art von schlechter Idee. Und wenn Ihre Datei tatsächlich im Plugin-Ordner ist, ist die Kopfzeile nicht einmal an diesem Ort.

Benutzerdefinierte Ladungen von WordPress-core sind spröde und die Technik ist in der Regel nur aus performancesgründen gerechtfertigt.

Es wäre besser, Ihren Endpunkt zu strukturieren, indem Sie einen tatsächlichen admin-ajax.php erstellen oder admin-ajax.php / admin-post.php .

Haben Sie versucht, wp-load.php anstelle von wp-blog-header.php einzubinden? wp-load.php lädt die vollständige WP-Umgebung und richtet $ wpdb ein, die Sie benötigen, bevor Sie WP_Query verwenden.

Nur ein Gedanke.

Ansonsten kannst du auch wp-cron.php anschauen (falls du es noch nicht getan hast) und sehen, was es macht.