у вас есть плагин, который делает что-то с аватаром? приоритет вашего фильтра равен 1, что очень мало и имеет высокую вероятность того, что он будет переопределен любым плагином. Для целей тестирования установите очень высокий приоритет. Также вы говорите фильтру, что вы передаете 5 переменных, в то время как вы передаете только 3, на всякий случай попробуйте установить все правильно, поэтому попробуйте:
add_filter( 'get_avatar' , 'pbg_avatar' , 999 , 3 );
и посмотрите, помогло ли это.
Чтобы узнать больше об аргументах add_filter, прочитайте здесь .
EDIT:
Вы можете проверить все внутри функции ... например, чтобы увидеть, правильно ли она получает все переменные, просто отобразите переменные.
например, перед возвратом сделайте:
echo "
---------- DEBUGGING -----------<br>
size: {$size} <br>
sizer: {$sizer} <br>
avalink: {$avalink} <br>
-------------------------------<br>
";
и проверьте правильность полученного размера $.