Kann wp_insert_post nicht zur Arbeit bringen

Ich versuche eine Schleife zu schreiben, die Artikel aus einer SQL-database veröffentlicht. Wenn ich jedoch versuche, die Seite zu laden, erhalte ich einen Fehler von 500, und in den Fehlerprotokollen wird nichts angezeigt.

Code:

query($sql); while($row = $result->fetch_assoc()) { $post = array( 'post_title' => $row['post_title'], 'post_content' => $row['post_content'], 'post_date' => $row['post_date'], 'post_status' => 'publish', 'post_author' => 1, 'post_category' => 1 ); wp_insert_post( $post ); echo "inserted post {$row['post_title']}"; echo "
"; } ?>

Ich bin ziemlich neu in WordPress, also weiß ich nicht wirklich, ob ich $ wpdb oder die Insert-Post-function richtig verwende. Außerdem wird die Datei in das gleiche Verzeichnis wie wp-load, wp-config usw. gestellt. Und die Seite läuft auf bluehost, wenn das irgendetwas bedeutet (weiß ich nicht).

Vielen Dank für Ihre Zeit!

Solutions Collecting From Web of "Kann wp_insert_post nicht zur Arbeit bringen"

Das ist, weil Sie versuchen, eine Eigenschaft zu definieren, die bereits definiert ist, eine Tabelle mit einem falschen Namen abzufragen, eine Integer-Schleife get_results während Sie get_results anstelle der query Methode von $wpdb

Ich habe den Code bearbeitet und hoffe, dass er Ihnen bei der Post-Duplizierung hilft:

 defined('WP_USE_THEMES') || define('WP_USE_THEMES', false); require_once('wp-load.php'); global $wpdb; $sql = "SELECT * FROM {$wpdb->prefix}newposts"; $result = $wpdb->get_results($sql); foreach ( $result as $row ) :; $row = (array) $row; $post = array( 'post_title' => $row['post_title'], 'post_content' => $row['post_content'], 'post_date' => $row['post_date'], 'post_date_gmt' => $row['post_date_gmt'], 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(1) ); wp_insert_post( $post ); echo "inserted post {$row['post_title']}"; echo "
"; endforeach;