コード例 #1
0
ファイル: image-size.php プロジェクト: pojome/elementor
 /**
  * @param array $settings [ image => [ id => '', url => '' ], image_size => '', hover_animation => '' ]
  *
  * @return string
  */
 public static function get_attachment_image_html($settings)
 {
     $id = $settings['image']['id'];
     $url = $settings['image']['url'];
     // Old version of image settings
     if (!isset($settings['image_size'])) {
         $settings['image_size'] = '';
     }
     $size = $settings['image_size'];
     $image_class = !empty($settings['hover_animation']) ? 'elementor-animation-' . $settings['hover_animation'] : '';
     $html = '';
     // If is the new version - with image size
     $image_sizes = get_intermediate_image_sizes();
     $image_sizes[] = 'full';
     if (!empty($id) && in_array($size, $image_sizes)) {
         $image_class .= " attachment-{$size} size-{$size}";
         $html .= wp_get_attachment_image($id, $size, false, ['class' => trim($image_class)]);
     } else {
         $image_src = Group_Control_Image_Size::get_attachment_image_src($id, 'image', $settings);
         if (!$image_src) {
             $image_src = $url;
         }
         $image_class_html = !empty($image_class) ? ' class="' . $image_class . '"' : '';
         $html .= sprintf('<img src="%s" title="%s" alt="%s"%s />', esc_attr($image_src), Control_Media::get_image_title($settings['image']), Control_Media::get_image_alt($settings['image']), $image_class_html);
     }
     return $html;
 }
コード例 #2
0
ファイル: image-box.php プロジェクト: pojome/elementor
 protected function render()
 {
     $settings = $this->get_settings();
     $has_content = !empty($settings['title_text']) || !empty($settings['description_text']);
     $html = '<div class="elementor-image-box-wrapper">';
     if (!empty($settings['image']['url'])) {
         $this->add_render_attribute('image', 'src', $settings['image']['url']);
         $this->add_render_attribute('image', 'alt', Control_Media::get_image_alt($settings['image']));
         $this->add_render_attribute('image', 'title', Control_Media::get_image_title($settings['image']));
         if ($settings['hover_animation']) {
             $this->add_render_attribute('image', 'class', 'elementor-animation-' . $settings['hover_animation']);
         }
         $image_html = '<img ' . $this->get_render_attribute_string('image') . '>';
         if (!empty($settings['link']['url'])) {
             $target = '';
             if (!empty($settings['link']['is_external'])) {
                 $target = ' target="_blank"';
             }
             $image_html = sprintf('<a href="%s"%s>%s</a>', $settings['link']['url'], $target, $image_html);
         }
         $html .= '<figure class="elementor-image-box-img">' . $image_html . '</figure>';
     }
     if ($has_content) {
         $html .= '<div class="elementor-image-box-content">';
         if (!empty($settings['title_text'])) {
             $title_html = $settings['title_text'];
             if (!empty($settings['link']['url'])) {
                 $target = '';
                 if (!empty($settings['link']['is_external'])) {
                     $target = ' target="_blank"';
                 }
                 $title_html = sprintf('<a href="%s"%s>%s</a>', $settings['link']['url'], $target, $title_html);
             }
             $html .= sprintf('<%1$s class="elementor-image-box-title">%2$s</%1$s>', $settings['title_size'], $title_html);
         }
         if (!empty($settings['description_text'])) {
             $html .= sprintf('<p class="elementor-image-box-description">%s</p>', $settings['description_text']);
         }
         $html .= '</div>';
     }
     $html .= '</div>';
     echo $html;
 }