Erhalten Sie Post-ID nach dem Senden des Front-End-Posts

Ich kann die veröffentlichte Post-ID nicht abrufen. Ich verwende ein benutzerdefiniertes Front-End-Formular. Wenn der Absenden-Button angeklickt wird, wird die Site auf eine andere Seite geleitet. Jetzt kann ich die gerade veröffentlichte Post-ID nicht mit den folgenden Elementen abrufen:

wp_insert_post($post)

Weil es die ID der umgeleiteten Seite anstelle des veröffentlichten Posts zurückgibt. Wie kann ich es bekommen? Ich laufe hier im Kreis.

Solutions Collecting From Web of "Erhalten Sie Post-ID nach dem Senden des Front-End-Posts"

wp_insert_post() gibt eines von drei Dingen zurück

  • die ID des neu erstellten Posts

  • ein WP_Error Objekt, wenn $wp_error auf “true” gesetzt ist, wenn während der Post-Einfügung ein Fehler aufgetreten ist. In diesem Fall wird der Post nicht eingefügt

  • 0 Wenn $wp_error auf “false” gesetzt ist ( Standard ), wenn beim Post-Einfügung ein Fehler aufgetreten ist, in welchem ​​Fall der Post nicht eingefügt wird

Folgendes sollte funktionieren

 $args = [ // All your post arguments ]; $q = wp_insert_post( $q ); if ( 0 != $q && !is_wp_error( $q ) ) { echo 'My new post ID is ' . $q; } 

Ich verwende eine custom_function() , um den Post einzufügen, das Formular leitet den Benutzer auf eine andere Seite um, diese Seite hat ihre eigene ID und deshalb konnte ich das nicht zum Laufen bringen.

In meinem Fall habe ich das in meiner Vorlage deklariert:

 if( $_POST) { $post_ID = custom_function(); } 

Dann kann ich $post_ID , um die benutzerdefinierten Daten zu erhalten, die ich von diesem Beitrag benötigte.