Benutzer - Profil um zusätzliche Felder ergänzen

  • Mahlzeit,

    ich schreibe gerade an einem Plugin, das zunächst nur auf einer Extraseite eine Benutzerüber- und Detailansicht ausgibt. Zusätzlich möchte ich aber die Benutzerprofile mit neuen Felder, wie Bild/upload, Geburtsdatum, etc. ausstatten - die Frage ist, wie ich das in der Administration auf der entsprechenden Seite 'Benutzer' -> 'Dein Profil' umsetze bzw. einbaue. Vielleicht weiss da jemand weiter wie ich? Wenn ja - danke für alle Antworten.

    mfg tooltonic

    ...up the long ladder and down the short rope...

    • 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

  • So - inzwischen weiss ich - ungefähr - wie man ein oder mehrere zusätzliche Felder innerhalb der Profilseite "einhängt":
    mithilfe von 'action-hooks' kann man (s)eine Funktion(en) innerhalb von Wordpress an bestimmten Punkten bzw. Actions einhaken. Zur Verfügung stehen in meinem Fall laut einer Liste für 'action-hooks' show_user_profile und edit_user_profile. Innerhalb des Plugins werden die Funktionen dann wie folgt "eingehängt":

    function do_something() {
    ...
    }
    add_action('show_user_profile', 'do_something');

    Mit show_user_profile ist es mir möglich weitere Formularfelder einzubinden und diese auf der Seite 'Dein Profil' anzeigen zu lassen - nur die Frage bleibt wie die Daten gespeichert bzw. weiterverarbeitet werden - automatisch? Wie erfährt WordPress von den neuen Feldern??? Vielleicht weiss ja hier jemand weiter???

    ...up the long ladder and down the short rope...

    Einmal editiert, zuletzt von tooltonic (11. Mai 2006 um 15:58)

  • hallo und danke für die antwort!

    mittels der wordpress-internen funktion update_usermeta() (../wp-includes/functions.php) lassen sich die daten automatisch einfügen - klappt auch wunderbar - jedoch gibt es probleme wenn ich auf die wordpress funktionen von meinem plugin aus zugreifen bzw. diese includen möchte:

    Fatal error: Call to undefined function get_userdata() in C:\htdocs\wordpress\wp-includes\functions.php on line 2238

    zwar werden die daten an der richtigen stelle innerhalb der datenbank in der tabelle wp_user_meta mit neu angelegtem feld eingefügt - aber das script bricht in einem error ab. da die funktion user_meta() wiederum intern noch auf andere funktionen zugreift und diese wiederum auch wieder auf andere, weiss ich nicht wie und welche funktionen ich zu includen habe damit es läuft.

    provisorischer beispielcode:

    eine sehr gute wordpress cross reference findet man auf der xref seite.

    ...up the long ladder and down the short rope...

    Einmal editiert, zuletzt von tooltonic (14. Mai 2006 um 13:29)

  • Inzwischen habe ich das Problem gelöst, indem ich die wp-internen Funktionen (update_usermeta() & get_currentuserinfo()), innerhalb der eigenen mittels 'add_action()' eingebundenen Funktionen aufrufe. Dadurch können eigene als auch wp-interne Funktionen problemlos auf die API zugreifen. Beim Update des eigenen u. neuen Formularfeldes erzeugt die Funktion update_usermeta() einen Eintrag in der MySQL-Tabelle 'wp_usermeta' - man braucht ihr nur die nötigen Parameter übergeben - den Rest übernimmt Wordpress:


    Natürlich fehlt hier noch einiges, wie z.B. die Filterung der Daten etc. Als nächstes steht die Integration eines File-Uploads an - vielleicht kennt sich jemand mit der Behandlung der errors aus, die in wp bei fehlerhaften Eingaben seitens des Benutzers ausgegeben werden?

    ...up the long ladder and down the short rope...

  • sehr gut, vllt. lässt sich da mal ein "activate & go" plugin draus machen...

    hab mir den ersten link von dir gleich mal gebookmarkt. (und dann auch gesehen, dass du update_ usw. u. sofort auch noch brauchst.

    einen sehr guten "coding"-stil hat übrigens auch das "rc-custom-fields-gui" plugin, wobei mir der unterschied zwischen class'en und function'en nicht ganz klar ist... wenn du nicht weiterkommst, oder ich helfen kann, dann mail mir ne PN, oder schau in der sidebar meines blogs unter colophon, da wär meine email...

    würd mich freuen wenn du mir deinen jetzigen stand mailen würdest, dann teste ich und geb dir feedback. (bzw. nutze es mit deiner genehmigung einfach selbst ;) )
    gruß & weiter so!

    Einmal editiert, zuletzt von erik (15. Mai 2006 um 11:24)

  • zu dem upload: da es sich um "benutzer-spezifische" daten handelt, wärs geschickt, die daten auch in einem benutzer-unterordner abzulegen. so mach ich das zumindest um den überblick zu behalten. (nimm zB. den "Organizer" von http://imthi.com - der kann uploads verschiedener user in verschiedene ordner packen). wenn das plugin bei dir läuft fügst du ihm wieder den hook des profils hinzu. (gut vllt. wirds etwas komplizierter, aber so grob :D umrissen) mfg

Jetzt mitmachen!

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