Hinzufügen von Eigenschaften zu Benutzerprofil und Anzeigen in Liste

Ich habe eine Website, die ich nach WordPress migriere, und ich muss Eigenschaften hinzufügen, die jeder der Benutzer bearbeiten kann (z. B. Adresse, Stadt, Staat, Geschäftsname usw.), zusammen mit einigen Eigenschaften, die Administratoren bearbeiten können ( IsActive, CanEmail), die dem Benutzer nicht angezeigt werden. Außerdem muss ich in der Lage sein, die Eigenschaften in einer Tabelle anzuzeigen (ähnlich wie das Plugin “Mitgliederliste” angezeigt wird, aber auch die benutzerdefinierten Felder anzeigen).

Angesichts dieser Anforderungen hatte ich versucht, eine Kombination von “Cimy User Extra Felder” und “Mitgliederliste” zu verwenden, aber das Mitgliederlistengitter hatte keine Option, die zusätzlichen Felder anzuzeigen, die von dem anderen Plugin erstellt wurden.

Wie würdest du empfehlen, dass ich mich dem annähere?

BEARBEITEN:

Ich denke also, der core meiner Frage ist, was ist die bevorzugte Methode, um dem Benutzer Eigenschaften hinzuzufügen?

Solutions Collecting From Web of "Hinzufügen von Eigenschaften zu Benutzerprofil und Anzeigen in Liste"

Um den ersten Teil Ihrer Frage zu beantworten, habe ich gerade meine class TTT_User_Profile_Addon auf GitHub gesetzt . Die class bietet eine einfache Schnittstelle zum Hinzufügen eines Felds zu einer Profilseite. Ich habe ein Beispiel für eine Checkbox-Unterklasse und etwas Code hinzugefügt, um es per functions.php zu initialisieren. Dies funktioniert natürlich auch in einem Plugin.

Es gibt einige Platzhalter, aber Sie können Ihre eigenen hinzufügen. Separate Filter für die Markup- und Eingabewerte erleichtern das Erweitern der class.

Sie können benutzerdefinierte functionen zum Anzeigen und Speichern der Felder pro Konstruktoraufruf festlegen. Die ganze Arbeit ist auf eine einfache Init-function reduziert:

add_action( 'init', 'ttt_init_profile_addons' ); /** * Registers the extra fields for the user profile editor. */ function ttt_init_profile_addons() { $GLOBALS['ttt_show_profile'] = new TTT_User_Profile_Checkbox( array ( 'name' => 'ttt_show_profile' , 'label' => 'Show a short profile box on my posts.' , 'th' => '' , 'td' => ' %label%' , 'cap_show' => 'edit_posts' , 'cap_save' => 'edit_users' ) ); // add more fields here … } 

Das Hinzufügen der Werte zur Mitglieder-Tabelle ist etwas, das ich immer noch auf meiner Todo-Liste habe …

Oh, und ich sollte wahrscheinlich eine andere class erwähnen, um die Standardkontaktfelder zu ersetzen oder zu erweitern: TTT_Contactfields . Dies kann ein Fall von OOP übertrieben sein. 🙂

Die Grundidee besteht darin, dass Sie die zusätzlichen Informationen als Metadaten speichern und dann die normale Benutzerliste und die Formulare so erweitern, dass Ihr eigener Inhalt angezeigt wird. (Das Anzeigen zusätzlicher Spalten in der Liste ist einfach, ich habe ein Beispiel für die Postliste .)

Es scheint, dass die Mitgliederliste Daten aus der Metatabelle anzeigen kann. Wenn Cimy User Extra Felder also dort ihre Informationen speichert, sollten Sie in der Lage sein, sie zu kombinieren. Wie speichert das Cimy-Plugin seine Daten?

Dies ist keine Antwort, sondern ein Vorschlag. Sie können buddypress verwenden: http://buddypress.org/

Profil Field Setup Abschnitt ist, was Sie suchen, denke ich.

Dies ist wahrscheinlich keine endgültige Antwort, je nachdem, was Sie tun möchten, aber haben Sie regi-plus-redux ausgecheckt? Ich habe es für eine Reihe von Websites verwendet und es können Sie Eigenschaften hinzufügen und sie als sichtbar im Profil festlegen oder nicht (dh für den Benutzer oder nur für Administratoren sichtbar.)