Leiten Sie Benutzer bei der ersten Anmeldung an eine dynamische Verknüpfung um

Ich verwende eine Gravity Forms-Benutzerregistrierung, um Registrierungsprozesse zu verarbeiten, und ich benutze Gravity Forms benutzerdefinierten Posttyp + wp-Lebenslauf-Manager, um den Benutzer einige Felder in seinem Lebenslauf innerhalb des Registrierungsprozesses übermitteln zu lassen. Der Benutzer registriert sich, füllt einige Felder, und diese Felder, die er eingibt, werden seinen Lebenslauf-Feldern zugeordnet. Der Lebenslauf ist nur ein Post.


Hier ist mein Problem:

Jetzt ist der Benutzer registriert und hat seinen Lebenslauf gepostet und einige der Felder ausgefüllt, ich möchte ihn bei der ersten Anmeldung auf die Wiederaufnahme-Bearbeitungsseite redirect, um die restlichen Felder zu füllen.

Hier ist ein Beispiellink:

http://mydomainname/complete-your-resume/?action=edit&resume_id=7038

Der Lebenslauf ist ein benutzerdefinierter Beitragstyp. Der Name des Post-Typs ist resume und “7038” ist der Lebenslauf post_id.

Ich weiß bereits, wie man Benutzer beim ersten Login umleitet, aber was ich nicht weiß ist, wie man das macht:

  1. Wie man sie auf “ihre” Lebenslauf-Post-Bearbeitungsseite umleitet (der obige Link).
  2. Leiten Sie sie basierend auf ihrer Rolle um. Ich möchte nur Benutzer redirect, die die Rolle “Kandidaten” haben.
  3. Wenn es eine Möglichkeit gibt, sie daran zu hindern, irgendwo zu navigieren, bis sie alle Felder gefüllt und den Post / Lebenslauf gespeichert haben.

Ich werde jede Hilfe dieser Punkte oben schätzen. Danke im Voraus.

Solutions Collecting From Web of "Leiten Sie Benutzer bei der ersten Anmeldung an eine dynamische Verknüpfung um"

1) GF speichert die Formulareintrags-ID in der wp_usermeta-Tabelle für den registrierten Benutzer, so dass Sie alle eingegebenen (gesendeten) Daten abrufen können und ich glaube auch an die Lebenslauf-ID

 $entry = get_user_meta( get_current_user_id(), 'entry_id', true ); 

Dann können Sie die Eintragsdaten mit der “get_entry” -Methode aus der PHP-API-Wrapper-class abrufen, wie in der Dokumentation beschrieben: https://www.gravityhelp.com/documentation/article/web-api/#php-wrapper

Siehe: https://github.com/rocketgenius/webapiclient/blob/master/includes/class-gf-web-api-wrapper.php#L230

Oder: https://www.gravityhelp.com/documentation/article/api-functions/#get_entry

Sie können auch die GF-Post-Create-function oder die Benutzeraktion aktivieren und die POST-ID für diesen Benutzer in der wp_usermeta-Tabelle speichern. Ich bin mir nicht sicher, aber ich glaube, dass das Post-Addon einen Haken dafür haben kann.

2) Siehe: https://wordpress.stackexchange.com/a/5048/60079

3) Sie können dem Formular ein verstecktes Feld hinzufügen, es als Benutzer-Meta speichern und den Wert aktualisieren, wenn sie den Lebenslauf mit dem GF-Hook “gform_post_submission” ausfüllen. Ich mag die Idee nicht, die Benutzer zu zwingen, den Lebenslauf zu vervollständigen, stattdessen gehe ich für eine seitenweite Benachrichtigung. Wie auch immer, Sie können den wp init anhängen und den Benutzer immer auf die gewünschte Seite redirect und die Navigation auch auf diesem ausblenden.