Я использую изображение, извлеченное из пользовательской записи, чтобы заполнить элемент SVG - т.е. портрет сотрудника на странице команды.В настоящее время отображаемое изображение всегда с последней пользовательской записи в цикле (Wordpress).
Вот соответствующая часть моего шаблона:
foreach ( $allusers as $user ):
$image = get_field('headshot', $user );
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 221 300" style="enable-background:new 0 0 221 300;" xml:space="preserve">
<style type="text/css">
.st4{fill:url(#img-<?php echo $user->ID; ?>);}
</style>
<defs>
<pattern id="img-<?php echo $user->ID; ?>" height="100%" width="100%" patternContentUnits="objectBoundingBox" viewBox="0 0 1 1" preserveAspectRatio="xMidYMid slice">
<image xlink:href="<?php echo $image['url']; ?>" width="1" height="1" preserveAspectRatio="xMidYMid slice" />
</pattern>
</defs>
<circle class="st4" cx="110.5" cy="150.4" r="78.5"/>
</svg>
Если я просто сделаю:
<img src="<?php echo $image['url']; ?>">
Здесь показано правильное изображение для каждой записи, поэтому я предполагаю, что это связано с частью xlink: href.
Как получить правильное изображение для отображения в элементе SVG?