wrapImage($block['params'], $this->renderImage($block['params'])); } private function renderImage(array $params): string { $attributes = []; $attributes[] = 'src="' . $params['url'] . '"'; $attributes[] = $params['alt'] ? 'alt="' . $params['alt'] . '"' : 'alt'; if ($params['title']) { $attributes[] = 'title="' . $params['title'] . '"'; } if ($params['id']) { // WordPress automatically renders srcset based on this class $attributes[] = 'class="wp-image-' . $params['id'] . '"'; } if ($params['width']) { $attributes[] = 'width="' . intval($params['width']) . '"'; } if ($params['height']) { $attributes[] = 'height="' . intval($params['height']) . '"'; } return ''; } private function wrapImage(array $params, string $img): string { // Figure $figureClasses = ['size-' . $params['size_slug']]; if ($params['align']) { $figureClasses[] = 'align' . $params['align']; } // Link if ($params['href']) { $img = $this->wrapToLink($params, $img); } $caption = $params['caption'] ? "
{$params['caption']}
" : ''; $figure = '
' . $img . $caption . '
'; // Main wrapper $divClasses = ['mailpoet_form_image']; if (trim($params['class_name'])) { $divClasses[] = trim($params['class_name']); } return '
' . $figure . '
'; } private function wrapToLink(array $params, string $img): string { $attributes = ['href="' . $params['href'] . '"']; if ($params['link_class']) { $attributes[] = 'class="' . $params['link_class'] . '"'; } if ($params['link_target']) { $attributes[] = 'target="' . $params['link_target'] . '"'; } if ($params['rel']) { $attributes[] = 'rel="' . $params['rel'] . '"'; } return '' . $img . ''; } }