Eigene Felder/Informationen speichern und auslesen

  • Ich möchte zum Beispiel das der User über eine Seite eine Einstellung vornehmen kann, welches Logo er sehen möchte. Dazu müsste ich zum Beispiel in der Datenbank in der Tabelle wp_users ein neues Feld schaffen. Dies könnte ich in der Header auslesen und entsprechend das Logo ändern.

    So weit so gut.

    Ich möchte aber so wenig PHP-Code tippen als notwendig. Deshalb die Frage, ob Wordpress mir bereits eine Funktion liefert oder ob es ein Plugin gibt, womit ich solche Felder definieren und mit den Userdaten ablegen und ob ich dann mittels einer Funktion oder eines Tags dies wieder auslese kann?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • 1. Nimm die wp_usermeta-Tabelle, dann musst du nichts am DB-Schema ändern:
    Database Description WordPress Codex

    2. Verwende die WPDB-Klasse, dann sollte der PHP-Code überschaubar bleiben. Eventuell kannst du auch die verfügbaren User-Funktionen einfach nutzen, musst du mal ausprobieren ob deine Meta-Felder da mitkommen.
    Function Reference WordPress Codex (User & Author Functions)
    Function Reference/wpdb Class WordPress Codex

  • 1. Nimm die wp_usermeta-Tabelle, dann musst du nichts am DB-Schema ändern:
    Database Description WordPress Codex

    2. Verwende die WPDB-Klasse, dann sollte der PHP-Code überschaubar bleiben. Eventuell kannst du auch die verfügbaren User-Funktionen einfach nutzen, musst du mal ausprobieren ob deine Meta-Felder da mitkommen.
    Function Reference WordPress Codex (User & Author Functions)
    Function Reference/wpdb Class WordPress Codex

    Ahh, danke dir. OK verstanden. Folgendes müsste ich noch wissen:

    1. Für "user meta" gibt es keine add-Methode. Diese müsste ich doch haben, oder?

    2. Wo ist die PHP-Seite für Admin->Benutzer->Dein Profil. Dort könnte ich doch sehen, wie die Meta-Informationen gespeichert werden und b) könnte ich hier auch Felder entfernen und neue setzen.

  • 1. Für "user meta" gibt es keine add-Methode. Diese müsste ich doch haben, oder?

    • get_usermeta
    • delete_usermeta
    • update_usermeta


    Alle in der Function Reference oben aufgeführt. ;-)
    Ansonsten eben direkte DB-Queries, falls du anders nicht ran kommst. Aber über die o.g. Methoden müsstest du eigentlich alles haben.

    Zitat

    2. Wo ist die PHP-Seite für Admin->Benutzer->Dein Profil. Dort könnte ich doch sehen, wie die Meta-Informationen gespeichert werden und b) könnte ich hier auch Felder entfernen und neue setzen.


    profile.php, wenn ich mich nicht täusche. Schau aber ob du per Plugin-API ran kommst, das wäre der sauberere Weg und du guckst nicht bei jedem WP-Update in die Röhre.
    Plugin API WordPress Codex
    Schau dir dazu ruhig mal an, wie andere Plugins das umsetzen.

    • get_usermeta
    • delete_usermeta
    • update_usermeta


    Alle in der Function Reference oben aufgeführt. ;-)
    Ansonsten eben direkte DB-Queries, falls du anders nicht ran kommst. Aber über die o.g. Methoden müsstest du eigentlich alles haben.


    profile.php, wenn ich mich nicht täusche. Schau aber ob du per Plugin-API ran kommst, das wäre der sauberere Weg und du guckst nicht bei jedem WP-Update in die Röhre.
    Plugin API WordPress Codex
    Schau dir dazu ruhig mal an, wie andere Plugins das umsetzen.

    Zu 1) Ich muss mich da mal richtig einlesen. Auf der Seite zu Update steht nicht, dass damit auch die Metas insert werden, wenn nicht vorhanden. Aber in irgendeinem Forum habe ich gelesen, dem sei so. Muss ich mal testen

    Zu 2) Die Seite selbst, habe ich gerade gesehen, ist die edit_profile.php in wp-admin. Mit dem Gedanken hatte ich auch schon gespielt, ein Plugin dafür zu bauen. Ich ziehe mir dies mal rein

    Danke.

  • Auf der Seite zu Update steht nicht, dass damit auch die Metas insert werden, wenn nicht vorhanden.


    Ich gehe mal davon aus. Im Zweifelsfall einfach mal im Code nachschauen. ;-)

    PS: Du musst mich nicht immer vollzitieren, ich ändere meine Beiträge hier normalerweise nicht sinnentstellend. ;-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!