Как отобразить аватар пользователя по идентификатору пользователя в wordpress через шорткод?

Я просмотрел множество документов, в некоторых из них был показан шорткод для отображения аватара с помощью user_id. Ближайший из них находится на Github, и он отображает текущего вошедшего в систему пользователя, например:

<?php
function shortcode_user_avatar() {
    if(is_user_logged_in()) { // check if user is logged in
        global $current_user; // get current user's information
        get_currentuserinfo();
        return get_avatar( $current_user -> ID, 24 ); // display the logged-in user's avatar
    }
    else {
      // if not logged in, show default avatar. change URL to show your own default avatar
        return get_avatar( 'http://1.gravatar.com/avatar/ad524503a11cd5ca435acc9bb6523536?s=64', 24 );
    }
}
add_shortcode('display-user-avatar','shortcode_user_avatar');
?>

Но этого недостаточно, я хочу добавить параметр для выбора идентификатора пользователя, и это закончится так: [display-user-avatar id="user-id"]

Может ли кто-нибудь показать мне, как это сделать? Спасибо!


person michaeledi    schedule 09.04.2016    source источник


Ответы (1)


Я уже решил эту проблему, вот код:

function shortcode_user_avatar($atts, $content = null) {
   extract( shortcode_atts( 
           array('id' => '0',), $atts 
                          ) 
           );

   return get_avatar( $user_id, 96 ); // display the specific user_id's avatar  
                                                       }
add_shortcode('avatar','shortcode_user_avatar');

Просто вставьте его в файл functions.php темы, введите короткий код [avatar id="xxx"] и замените «xxx» на идентификатор пользователя.

На самом деле это мой первый шорткод, и я очень рад, что он работает!

person michaeledi    schedule 10.04.2016