Wie ändere ich das Profilfoto eines Benutzers als Administrator in WordPress?

Lesezeit: 5 Minuten

Ich bin der Administrator meiner Website, aber ich kann das Profilfoto für keinen meiner Benutzer ändern. Es scheint nur mit Gravatar verbunden zu sein.

Wie schaffe ich es, dass ich dieses Foto selbst ändern kann? Gibt es dafür eine Funktion? Ich hätte lieber kein ganzes Plugin dafür.

Standardmäßig verwendet WordPress Gravatar, um das Profilbild des Benutzers basierend auf Ihrer bei Gravatar registrierten E-Mail-ID anzuzeigen. WordPress hat eine Benutzerprofilseite im Dashboard, die eine Reihe von Feldern zur Eingabe von Benutzerdaten enthält, aber es fehlt ein Bildfeld zum Hinzufügen eines benutzerdefinierten Benutzeravatars.

Wir können den Benutzeravatar in den folgenden Schritten anpassen:

Schritt 1: Skript zur Seite hinzufügen.

In diesem Schritt fügen wir den Admin-Seiten das notwendige Javascript hinzu. Zuerst rufen wir wp_enqueue_media auf, das alle Skripte, Stile, Einstellungen und Vorlagen in die Warteschlange stellt, die für die Verwendung aller Medien-JavaScript-APIs erforderlich sind.

Ein weiteres Skript dient zum Öffnen des Medien-Uploaders beim Klicken auf die Schaltfläche und zum Einfügen der Anhangs-ID in DOM.

Bitte kopieren Sie das folgende Skript in eine Datei und nennen Sie diese Datei uploader.js

    jQuery( document ).ready( function() {

    /* WP Media Uploader */
    var _shr_media = true;
    var _orig_send_attachment = wp.media.editor.send.attachment;

    jQuery( '.shr-image' ).click( function() {

        var button = jQuery( this ),
                textbox_id = jQuery( this ).attr( 'data-id' ),
                image_id = jQuery( this ).attr( 'data-src' ),
                _shr_media = true;

        wp.media.editor.send.attachment = function( props, attachment ) {

            if ( _shr_media && ( attachment.type === 'image' ) ) {
                if ( image_id.indexOf( "," ) !== -1 ) {
                    image_id = image_id.split( "," );
                    $image_ids="";
                    jQuery.each( image_id, function( key, value ) {
                        if ( $image_ids )
                            $image_ids = $image_ids + ',#' + value;
                        else
                            $image_ids="#" + value;
                    } );

                    var current_element = jQuery( $image_ids );
                } else {
                    var current_element = jQuery( '#' + image_id );
                }

                jQuery( '#' + textbox_id ).val( attachment.id );
                                console.log(textbox_id)
                current_element.attr( 'src', attachment.url ).show();
            } else {
                alert( 'Please select a valid image file' );
                return false;
            }
        }

        wp.media.editor.open( button );
        return false;
    } );
} );

Fügen Sie nun wie folgt Noth-Skripte in Admin hinzu.

function shr_add_admin_scripts(){ 
        wp_enqueue_media();
        wp_enqueue_script('shr-uploader', get_stylesheet_directory_uri().'/js/uploader.js', array('jquery'), false, true );
    }
    add_action('admin_enqueue_scripts', 'shr_add_admin_scripts');

Bitte beachten Sie, dass uploader.js in diesem Design im js-Ordner gespeichert wird, daher müssen Sie den korrekten Pfad entsprechend dem Speicherort von uploader.js in Ihrem Design anwenden.

Schritt 2: Upload-Schaltfläche hinzufügen, um die Profilseite zu bearbeiten.

function shr_extra_profile_fields( $user ) {

    $profile_pic = ($user!=='add-new-user') ? get_user_meta($user->ID, 'shr_pic', true): false;

    if( !empty($profile_pic) ){
        $image = wp_get_attachment_image_src( $profile_pic, 'thumbnail' );

    } ?>

    <table class="form-table fh-profile-upload-options">
        <tr>
            <th>
                <label for="image"><?php _e('Main Profile Image', 'shr') ?></label>
            </th>

            <td>
                <input type="button" data-id="shr_image_id" data-src="https://stackoverflow.com/questions/39254742/shr-img" class="button shr-image" name="shr_image" id="shr-image" value="Upload" />
                <input type="hidden" class="button" name="shr_image_id" id="shr_image_id" value="<?php echo !empty($profile_pic) ? $profile_pic : ''; ?>" />
                <img id="https://stackoverflow.com/questions/39254742/shr-img" src="<?php echo !empty($profile_pic) ? $image[0] : ''; ?>" style="<?php echo  empty($profile_pic) ? 'display:none;' :'' ?> max-width: 100px; max-height: 100px;" />
            </td>
        </tr>
    </table><?php

}
add_action( 'show_user_profile', 'shr_extra_profile_fields' );
add_action( 'edit_user_profile', 'shr_extra_profile_fields' );
add_action( 'user_new_form', 'shr_extra_profile_fields' );

Im obigen Code werden die Hooks show_user_profile, edit_user_profile und user_new_form verwendet, um eine Upload-Schaltfläche hinzuzufügen, sodass diese Schaltfläche sowohl auf der Profilseite des vorhandenen Benutzers als auch beim Erstellen neuer Benutzer sichtbar ist.

Die Eingabeschaltfläche dient zum Öffnen des WordPress-Medien-Uploaders beim Klicken. Das versteckte Eingabefeld dient zum Speichern der Anhangs-ID des eingefügten oder ausgewählten Bildes vom Medien-Uploader von WordPress.

Schritt 3: Speichern Sie die Bild-ID des Anhangs in der Usermeta-Tabelle in WordPress.

Die Usermeta-Tabelle in WordPress dient zum Speichern zusätzlicher benutzerbezogener Informationen. Hier speichern wir die Anhangs-ID des Bildes für den Benutzer. Mit dieser Anhangs-ID können wir alle Daten des betreffenden Bildes abrufen.

Zum Speichern der Anhangs-ID verwenden wir profile_update- und user_register-Hooks, die ausgelöst werden, wenn ein neuer Benutzer erstellt oder ein vorhandener Benutzer aktualisiert wird.

function shr_profile_update($user_id){

    if( current_user_can('edit_users') ){
        $profile_pic = empty($_POST['shr_image_id']) ? '' : $_POST['shr_image_id'];
        update_user_meta($user_id, 'shr_pic', $profile_pic);
    }

}
add_action('profile_update', 'shr_profile_update');
add_action('user_register', 'shr_profile_update');

Das war’s und Sie haben erfolgreich die Profilbild-Uploader-Schaltfläche zur Profilseite im Dashboard von WordPress hinzugefügt.

Bezug: http://sharethingz.com/wordpress/custom-user-avatar-in-wordpress/

Benutzeravatar von Naresh Kumar P
Naresh Kumar P

Um das Profilfoto der Benutzer im Admin-Panel von WordPress zu ändern, ist die Verwendung des Plugins die beste und einfachste Option.

Benutzerdefiniertes Benutzerprofilfoto

Fügen Sie einem WordPress-Benutzerprofil ein angepasstes Benutzerprofilfoto hinzu

https://wordpress.org/plugins/custom-user-profile-photo/

WP-Benutzer-Avatar

Verwenden Sie ein beliebiges Bild aus Ihrer WordPress-Medienbibliothek als benutzerdefinierten Benutzeravatar. Fügen Sie Ihren eigenen Standard-Avatar hinzu.

https://wordpress.org/plugins/wp-user-avatar/

  • @ Will Nicholls. Haben Sie Ihre in der Frage angegebene Ausgabe erhalten, indem Sie die Plugins wie vorgeschlagen verwenden? 🙂 Wenn Sie irgendein Hindernis verspüren, teilen Sie es mir mit, ich werde Ihnen helfen.

    – Naresh Kumar P

    31. August 2016 um 17:01 Uhr

Probieren Sie diesen Code aus und fügen Sie die Datei function.php ein

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar="http://pngimages.net/sites/default/files/user-png-image-15189.png";
$avatar_defaults[$myavatar] = "Default Gravatar";
return $avatar_defaults;
}

1435120cookie-checkWie ändere ich das Profilfoto eines Benutzers als Administrator in WordPress?

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

Privacy policy