Post nach Klick auf einen Link veröffentlichen

Ich habe ein Frontend-Buchungsformular (CF7), wo Benutzereingaben (neben anderen Daten natürlich) seine Email eingibt. Jetzt setze ich den Status auf ausstehend.

Was ich will ist, dass der Benutzer durch Autoresponder eine Mail bekommen würde, in der der Link zum Ändern des Status auf VERÖFFENTLICHEN wäre, wenn angeklickt wird. Gibt es dafür eine Lösung? Autoresponder ist nicht das Problem, ich weiß nicht, wie man diesen Link einrichtet.

Solutions Collecting From Web of "Post nach Klick auf einen Link veröffentlichen"

Wenn der Post erstellt und auf ” pending , erstellen Sie eine eindeutige ID für die automatische Veröffentlichung, zum Beispiel:

 $unique = md5( $post->post_content ); add_post_meta( $post->ID, '_auto_publish', $unique ); 

Erstellen Sie nun einen Link für die E-Mail:

 $link = get_permalink( $post->ID ); $link = add_query_arg( array( 'autopublish' => $unique, 'pid' => $post->ID ), $link ); 

Senden Sie diesen Link in Ihrer E-Mail an die Adresse des Absenders:

 print "< $link>"; 

$_GET dann auf die übereinstimmenden $_GET Parameter, wenn der Empfänger auf den Link klickt:

 if ( isset ( $_GET[ 'autopublish' ] ) and isset ( $_GET[ 'pid' ] ) and is_numeric( $_GET[ 'pid' ] ) and $post = get_post( $_GET[ 'pid' ] ) and $_GET[ 'autopublish' ] === get_post_meta( $post->ID, '_auto_publish', TRUE ) ) { $post->post_status = 'publish'; wp_update_post( $post ); delete_post_meta( $post->ID, '_auto_publish' ); }