тоже помогает не во всех случаях. Некоторые изображения все еще генерятся с белым фоном. Или стоит создать новое изображение, записать поверх него png и сохранить в webp?
Гм. Вижу решение в виде рекурсивного прохода по всему дереву с сохранением ссылок на элементы в одноуровневый массив. А затем проход по массиву с подменой значений ссылок на ссылки. Только надо быть аккуратным, чтобы не создать петлю.
Если вы создаете потомка, вызывается его метод __construct(). Если в потомке он не переопределен, используется __construct() родителя. Но создается все равно потомок.