1BANNER 123
5/5 - (53 bình chọn)

Trong WordPress, việc đổi avatar của người dùng là một tính năng quan trọng để cá nhân hóa trang web của bạn. Trong bài viết này, mình sẽ hướng dẫn cách sử dụng một đoạn mã PHP để thay đổi avatar người dùng dựa trên điều kiện cụ thể. Chúng ta sẽ sử dụng filter

get_avatar
để thực hiện việc này.

Để bắt đầu, hãy thêm đoạn mã dưới đây vào file functions.php của theme WordPress

add_filter('get_avatar', 'my_custom_avatar', 1, 5);

function my_custom_avatar($avatar, $id_or_email, $size, $default, $alt) {
    $user = false;

    if (is_numeric($id_or_email)) {
        $id = (int) $id_or_email;
        $user = get_user_by('id', $id);
    } elseif (is_object($id_or_email)) {
        if (!empty($id_or_email->user_id)) {
            $id = (int) $id_or_email->user_id;
            $user = get_user_by('id', $id);
        }
    } else {
        $user = get_user_by('email', $id_or_email);
    }

    if ($user && is_object($user)) {
        // Kiểm tra nếu ID người dùng là 1 (có thể thay đổi thành ID người dùng muốn đổi avatar)
        if ($user->data->ID == '1') {
            $avatar = '/wp-content/uploads/2023/08/Ellipse-1.png';
            $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
        }
    }

    return $avatar;
}

Giải thích code:

  • Đoạn mã trên sử dụng hàm add_filter() để kích hoạt filter get_avatar.
  • Hàm my_custom_avatar nhận 5 tham số: $avatar, $id_or_email, $size, $default, $alt. Trong đó, $avatar là avatar hiện tại của người dùng, $id_or_email là ID hoặc địa chỉ email của người dùng, $size là kích thước của avatar, $default là URL mặc định của avatar, và $alt là văn bản thay thế khi avatar không thể hiển thị.
  • Hàm sẽ kiểm tra người dùng có tồn tại không và nếu có, sẽ thay đổi avatar dựa trên điều kiện. Trong ví dụ này, chúng ta kiểm tra nếu ID của người dùng là 1, sau đó sẽ thay đổi avatar thành hình ảnh được chỉ định trong URL /wp-content/uploads/2023/08/Ellipse-1.png.

Để thay đổi avatar cho người dùng cụ thể, bạn chỉ cần thay đổi ID trong điều kiện kiểm tra

$user->data->ID == '1'
thành ID của người dùng bạn muốn thay đổi.

Hy vọng bài viết này giúp bạn hiểu cách thay đổi avatar người dùng trong WordPress một cách linh hoạt và dễ dàng. Nếu bạn có bất kỳ câu hỏi hoặc thắc mắc nào, hãy để lại bình luận bên dưới để chúng ta cùng thảo luận!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *