Виведення рандомних аватарів для коментарів WordPress
За промовчанням у WordPress налаштований сервіс Gravatar, який може підтягувати фото автора коментатора електронною поштою. Якщо адреса електронної пошти не вказана у коментарях і користувач не був зареєстрований у сервісі gravatar, то виводиться стандартна не дуже красива іконка gravatar.
Які є альтернативні варіанти налаштування аватарів:
- У WordPress можна налаштувати статичні аватари відвідувачів, які будуть використані у всіх доданих анонімними користувачами коментарях.
- Також можна додати згенеровані аватари, які у кожного користувача вони будуть різні..
Установки стандартних аватарів можна знайти в розділі Налаштування > Обговорення. Ви також можете побачити ці 2 виду аватарів на зображенні нижче.
У цьому уроці я хотів показати щось схоже на стандартні згенеровані, але цікавіші. Для зміни стандартних аватарів потрібно скористатися функцією get_avatar() існує 2 основних способу.
- Ви можете додати фільтр, до параметра avatar_defaults та змінити масив аватарів, щоб отримати новий параметр для “статичного” для параметра в Налаштуваннях Обговорення.
- Ви можете додати фільтр для pre_option_avatar_default та повертати URL за замовчуванням.
Я використовуватиму другий варіант, тому URL, що повертається, буде випадково обраний з набору. Приклад фільтра я виведу нижче:
1 2 3 4 5 6 |
add_filter( 'pre_option_avatar_default', 'chameleon_default_avatar' ); function chameleon_default_avatar ( $value ) { return get_template_directory_uri() . '/new_avatars/cham_avatar'.rand( 0 , 2 ).'.jpg'; } |
Цей фільтр змінить стандартний потік WordPress і поверне користувачеві випадковий аватар. При коментуванні аватар постійно змінюватиметься і навіть при перезавантаженні сторінки, але це вже не будуть стандартні коментарі. Файли аватарів лежать у темі сайту в папці new_avatars та вибираються рандомно.
Ось так аватарки виглядають на моєму тестовому сайті.
Це найпростіший приклад реалізації показує як можна працювати з аватарами на сайті та фільтром 'pre_option_avatar_default’ у WordPress.
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.