Programmgesteuertes Erstellen der Seite mit $ wpdb und Ermitteln des 404-Fehlers

Bearbeiten: Es stellte sich heraus, ich hatte ein Permalink-Problem, das den Fehler 404 verursacht.

Original Posting unten:

Ich erstelle eine Seite programmgesteuert mit $ wpdb-> insert () und die resultierende Seite gibt einen 404-Fehler zurück.

Ein paar Dinge zu beachten

  • Ich benutze ein $ wpdb-Objekt, um die Seite zu erstellen, weil ich es auf einer separaten WordPress-Website erstelle, so dass wp_insert_post () nicht funktioniert, weil es den Beitrag in die Webseite einfügen würde, von der ich den Anruf mache. Grundsätzlich habe ich ein Netzwerk von Websites, und ich erstelle einen Beitrag auf einer Website von einer anderen Website.
  • Ich erstelle einen benutzerdefinierten post_name (slug) -Wert für die Seite.

Wenn ich die Seite programmatisch hinzufüge, sieht alles in der database so aus, als wäre es über den WordPress-Admin-Bereich hinzugefügt worden. Ich kann sogar auf den WordPress-Admin-Bereich dieser Website gehen und den Beitrag bearbeiten. Wenn ich jedoch die Seite betrachte, wird ein 404 ausgetriggers. Wenn ich nun den Post aus dem WordPress-Admin-Bereich “aktualisiere”, verschwindet der 404.

Wenn ich einen Post programmgesteuert erstellen und aus dem WordPress-Admin-Bereich erstellen und dann die databasespalten betrachten, sind das die EXAKTEN gleichen Werte (oder scheinen so zu sein). Warum sollte man arbeiten, und man würde nicht? Ich benutze auch Permalinks ( nichts Brauchbares, nur eine dieser vordefinierten Optionen ).

Dies ist der wpdb Einfügeruf, den ich verwende …

$post = array( 'post_author' => 1, 'post_date' => date('Ymd H:i:s'), 'post_date_gmt' => date('Ymd H:i:s'), 'post_content' => '', 'post_title' => 'My Page', 'post_name' => 'my-page', 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'open', 'ping_status' => 'open', 'post_modified' => date('Ymd H:i:s'), 'post_modified_gmt' => date('Ymd H:i:s'), 'post_parent' => 0, 'post_type' => 'page', 'comment_count' => 0 ); $wpdb->insert( 'wp_posts', $post, array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ); ); 

Solutions Collecting From Web of "Programmgesteuertes Erstellen der Seite mit $ wpdb und Ermitteln des 404-Fehlers"

Permalink Fehler

Ich dachte, dass ich einen grundlegenden Permalink benutze, aber vergaß, dass ich eine benutzerdefinierte Permalink-Struktur auf dieser speziellen Website verwendet hatte.

Der benutzerdefinierte Permalink, den ich verwendet habe, war %postname% .

Ich habe es auf die Monats- und Namensoption umgestellt und jetzt funktioniert alles. Entschuldigung für die falsche Frage.