Разная ширина и высота объектов, вставленных с помощью шорткода oEmbed

Разная ширина и высота объектов, вставленных с помощью шорткода oEmbed | n-wp.ru
Определение нескольких вариантов ширины и высоты объектов oEmbed, автоматически внедряемых в блог по ссылкам, в зависимости от того, на какую страницу они будет вставлены.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

oEmbed — это универсальный формат, созданный для упрощения внедрения содержимого на веб-страницы (аудио, видео, изображения). Разработаны стандарты и механизмы использования этого формата, во многих системах управления сайтами есть плагины и шорткоды, работающие с oEmbed.

Шорткод embed, встроенный в WordPress, служащий для вставки различного медиа-содержимого, имеет очень простые настройки в админке — можно указать автоматическую вставку объектов по ссылке на поддерживаемые ресурсы, ширину и высоту встраиваемых объектов. На всех страницах указанный размер будет одинаковый.

Разная ширина и высота объектов, вставленных с помощью шорткода oEmbed

Так же можно задать размеры внедряемых объектов с помощью параметров шорткода. Например:

<iframe title="Как правильно оптимизировать картинки в WordPress" width="640" height="360" src="https://www.youtube.com/embed/59stcZc2W7k?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

Если на разных страницах вам нужно использовать разную ширину и высоту объектов, вставляемых с помощью oEmbed, то можно использовать шорткод, указывая в нем разные значения ширины и высоты. Однако для продуктивной работы это не очень правильный подход — можно и забыть, где какой размер указывать, да и каждый раз вводить параметры размеров тоже не рационально. Гораздо удобнее было бы определить несколько вариантов для разных страниц, и автоматически использовать их при вставке. Например, на главной странице ширина и высота объектов oEmbed должна быть 320 на 200 точек, на странице категорий — 640 на 480, а на странице поста — 960 на 540 точек. Давайте сделаем так, чтобы при вставке объектов oEmbed вам больше не пришлось каждый раз вводить их высот и ширину.

Для этого откроем файл functions.php, вставим в него:

function tp_oembed_defaults($embed_size) {

//ширина и высота объектов oEmbed на главной странице
if(is_front_page()) {
    $embed_size['width']  = 320;
    $embed_size['height'] = 200;
}

//ширина и высота объектов oEmbed в любом архиве
elseif( is_archive()) {
    $embed_size['width']  = 520;
    $embed_size['height'] = 360;	
}

//ширина и высота объектов oEmbed на странице постов определенной категории
elseif(is_category()) {
    $embed_size['width']  = 640;
    $embed_size['height'] = 480;	
}

//ширина и высота объектов oEmbed на странице постов с определенной меткой
elseif(is_tag()) {
    $embed_size['width']  = 640;
    $embed_size['height'] = 480;	
}

//ширина и высота объектов oEmbed на странице отдельного поста
elseif(is_single()) {
    $embed_size['width']  = 960;
    $embed_size['height'] = 540;	
}

//ширина и высота объектов oEmbed на всех остальных страницах
else {
	$embed_size['width']  = 640;
    $embed_size['height'] = 360;
}
    return $embed_size;
}
add_filter('embed_defaults', 'tp_oembed_defaults');

Таким образом, используя Conditional Tags, вы, независимо от других настроек блога, можете задать ширину объектов oEmbed на любых страницах, и использовать просто ссылки на них, которые WordPress будет автоматически преобразовывать в аудио/видео/изображения с заданными размерам.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий