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

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

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

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

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

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

Если на разных страницах вам нужно использовать разную ширину и высоту объектов, вставляемых с помощью 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 будет автоматически преобразовывать в аудио/видео/изображения с заданными размерам.

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*