Verwenden von wp_set_auth_cookie für ein benutzerdefiniertes Benutzerkontensystem

Ich habe ein benutzerdefiniertes Benutzeraccount-System mit einem benutzerdefinierten Post-Typ erstellt. Ich habe mich gefragt, ob es sicher ist, die eingebaute function wp_set_auth_cookie($user_id, $remember, $secure) verwenden, die WordPress für das eingebaute Benutzersystem verwendet. Für $user_id dachte ich, ich könnte die Post-ID verwenden. Aber würde das nicht mit dem bestehenden System kollidieren? Gibt es einen raffinierten Trick, um zu verhindern, dass die Standardbenutzercookies mit den benutzerdefinierten Benutzercookies kollidieren oder sollte ich diese function überhaupt nicht verwenden?

Solutions Collecting From Web of "Verwenden von wp_set_auth_cookie für ein benutzerdefiniertes Benutzerkontensystem"

Warum bauen Sie überhaupt ein eigenes Benutzersystem? Das WordPress-System ist sehr flexibel.

Theoretisch sind alle Login-functionen wie wp_set_auth_cookie (), wp_generate_auth_cookie (), wp_parse_auth_cookie () usw. alles steckbare functionen . Das bedeutet, dass Sie sie durch Ihre eigenen benutzerdefinierten functionen ersetzen können.

Aber um realistisch zu sein, wird es eine Menge Arbeit sein, das funktioniert zu haben, da Sie nicht den Standard wp_set_auth_cookie() , solange Sie alle Login-functionen ersetzen oder Ihre virtuelle Benutzerdatenbank mit der realen wp_users Tabelle wp_users .

Die Standardfunktion setzt keinen gültigen Login-Cookie, es sei denn, $user_id ist ein echter WordPress-Benutzer.

Ich denke, deine besten Optionen sind:

  • Schreiben Sie Ihr Anmeldesystem neu, um echte Benutzer anstelle von CPT zu verwenden, und speichern Sie Ihre benutzerdefinierten Inhalte in user_meta.
  • Synchronisieren Sie Ihre CPT-Benutzer mit echten Benutzern (erstellen Sie für jeden Beitrag Ihres CPT einen echten Benutzer).
  • Erstellen Sie Ihr eigenes Login-System, lassen Sie es völlig von WordPress-Nutzern getrennt und erstellen Sie die auth_cookies selbst.