iskanderN

Микроразметка изображений wordpress

Добрый день!Есть функция микроразметки изображений:

//микроразметка изображений
    function micro_images_captions ($a , $attr, $content = null){
extract(shortcode_atts(array('id' => '', 'align' => 'alignnone', 'width' => '', 'caption' => ''), $attr));
 if ( 1 > (int) $width || empty($caption) )
 return $content;
 $caption = html_entity_decode( $caption ); 
 if ( $id ) $id = 'id="' . esc_attr($id) . '" ';
return '<div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" ' . $id . 'class="wp-caption ' . esc_attr($align) . '" style="width: ' . (10 + (int) $width) . 'px">' . do_shortcode( $content ) . '<p class="wp-caption-text">' . $caption . '</p></div>';}
function micro_image($content) {
$ar_mk = '!<img (.*?) width="(.*?)" height="(.*?)" (.*?)/>!si';
$br_mk = '<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url" itemprop="image" \\1 width="\\2" height="\\3" \\4/><meta itemprop="width" content="\\2"><meta itemprop="height" content="\\3"></span>';
$content = preg_replace($ar_mk, $br_mk, $content); 
 return $content; 
}
add_filter('the_content', 'micro_image');
add_filter('img_caption_shortcode', 'micro_images_captions', 10, 3);
//микроразметка изображений

?>

Яндекс добавил дополнительные требования:ontentUrl или image – (URL) ссылка на изображение. Обязательное поле, если не заполнено thumbnail. Без заполнения одного из этих полей, данные не будут обработаны. Предпочтительно contentUrl, обязательно ссылка именно на файл изображения;thumbnail – (ImageObject) описание изображения предпросмотра типа ImageObject, обязательно в случае отсутствия contentUrl или image;name – (Text) название картинки;caption – (Text) подпись к картинке;description – (Text) описание изображения;height – (Distance) высота изображения;width – (Distance) ширина изображения.Сейчас выводится только url, размер изображений.А надо чтобы были еще:название, подпись, описание и т. д.Должно получиться что-то вроде этого:

<?php
<div itemscope itemtype="http://schema.org/ImageObject">
  <h2 itemprop="name">Винни-Пух</h2>
  <img src="vinni.jpg" itemprop="contentUrl" />
  <span itemprop="description">Винни-Пух залезает на дерево.</span>
</div>

?>

Anonymous
Отправить
Ответ на: