Добавить класс в oEmbed видео из редактора сообщений?

Я хочу, чтобы вы могли добавлять классы в выложенные видео на лету в редакторе сообщений. Таким образом, у меня могут быть некоторые ролики, такие как изображения, выравнивание или выравнивание и обтекание текстом вокруг них, в то время как поведение по умолчанию заключается в установке видео полной ширины содержащего элемента и реагировании на изменение размера. У меня уже есть поведение по умолчанию, работающее через эту функцию, и некоторые CSS:

// remove dimensions from oEmbed videos & wrap in figure add_filter( 'embed_oembed_html', 'tdd_oembed_filter', 10, 4 ) ; function tdd_oembed_filter($html, $url, $attr, $post_ID) { $return = '<figure class="video-container">'.$html.'</figure>'; return $return; } 

Однако я не могу найти фильтр, который позволил бы мне добавить поле «класс» на медиа-панель «Вставить из URL» в редакторе сообщений – и даже если бы я мог не знать, где будет храниться эта информация о классе поскольку сам редактор содержит только URL-адрес видео в открытом тексте.

Является ли это чем-то, что нельзя сделать, не прося пользователей использовать короткие или пользовательские поля, а не собственную функциональность oEmbed? Я предполагаю, что короткий код является самым быстрым / простым способом, но я решил сначала проверить, есть ли более элегантный способ WordPress для этого. Благодаря!

Одной из идей для версии короткого кода было бы добавить пользовательский класс через собственный [embed] shortcode:

 [embed src="..." class="myclass"] 

то вы можете добавить его в свою пользовательскую оболочку:

 add_filter( 'embed_oembed_html', function ( $html, $url, $attr, $post_ID) { return sprintf( '<figure class="video-container %s">%s</figure>', isset( $attr['class'] ) ? esc_attr( $attr['class'] ) : '', $html ); }, 10, 4 ); 

Тогда вы могли бы, например, добавить свою собственную кнопку TinyMCE с пользовательской формой для создания этого короткого кода?