WordPress – Speichern von benutzerdefinierten Benutzerprofilfeldern

Lesezeit: 2 Minuten

Benutzer-Avatar
Phil Nind

Ich versuche derzeit, einige benutzerdefinierte Benutzerprofilfelder für meine WordPress-Benutzer hinzuzufügen.

Ich habe den folgenden Code in meine functions.php eingefügt, aber aus irgendeinem Grund werden die eingegebenen Daten nicht gespeichert …

//** CUSTOM USER META **//

add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );

function my_show_extra_profile_fields( $user ) { ?>
    <h3>Extra profile information</h3>
    <table class="form-table">
        <tr>
            <th><label for="club">Club You Support</label></th>
            <td>
                <input type="text" name="club" id="club" value="<?php echo esc_attr( get_the_author_meta( 'club', $user->ID ) ); ?>" class="regular-text" /><br />
            </td>
        </tr>
    </table>
<?php }

   add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
   add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );

   function my_save_extra_profile_fields( $user_id ) {
       update_usermeta( $user_id, 'club', sanitize_text_field( $_POST['club']) );
   } 

Irgendwelche Ideen, warum diese Daten nicht kleben?

  • Ich habe diesen Code kopiert und für mich perfekt funktioniert. Meine add_action sieht so aus add_action( 'hook', 'function_name', 10, 1 );aber ich glaube nicht, dass es einen Unterschied macht.

    – Kiefer

    28. April 2015 um 8:02 Uhr


  • So seltsam! Könnte es daran liegen, dass ich es auf einer Staging-Domain verwende? Vielleicht hat es keinen Zugriff auf die Datenbank der echten Seite :/

    – Phil Nind

    28. April 2015 um 8:20 Uhr

  • Ich habe dies direkt in meine functions.php-Datei eingefügt und es hat auch für mich funktioniert. Könnte es ein anderes Plugin geben, das diese Aktion bei Ihrer Installation übernimmt?

    – Dylan Hildenbrand

    28. April 2015 um 19:35 Uhr

Es gibt eine einfachere und korrektere Möglichkeit, neue Profilfelder in WordPress zu erstellen. Versuchen Sie, basierend auf Ihrem obigen Code, den folgenden Code auf Ihrem abzulegen functions.php Datei zu deinem Theme:

function my_show_extra_profile_fields {
    $user_contact_method['club'] = 'Club You Support';
    return $user_contact_method;
}
add_filter( 'user_contactmethods', 'my_show_extra_profile_fields' );

Dadurch werden die neuen Felder automatisch auf Ihrer Profilseite erstellt und entsprechend als benutzerdefinierte Felder (Meta) für Benutzer in der Datenbank gespeichert.

Sie können diese Informationen zu Ihrem Thema anzeigen, indem Sie verwenden the_author_meta('club');

  • Sie können andere Felder hinzufügen, indem Sie einfach eine neue $user_contact_method innerhalb derselben Funktion erstellen. Wie: $user_contact_method['a'] = 'Another Option';, $user_contact_method['b'] = 'One more option';etc.

    – Gus Fune

    29. April 2015 um 14:34 Uhr

1368830cookie-checkWordPress – Speichern von benutzerdefinierten Benutzerprofilfeldern

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy