Hinzufügen von class zu oEmbedded Video von innerhalb des Post-Editors?

Ich würde gerne in der Lage sein, im Post-Editor classn zu Oembed-Videos hinzuzufügen. Auf diese Weise könnte ich einige Videos wie Bilder wirken lassen und sie ausrichten oder ausrichten und sie mit Text umhüllen, während das Standardverhalten wäre, die volle Breite des enthaltenen Elements einzustellen und entsprechend auf die Größenänderung zu reagieren. Ich habe bereits das Standardverhalten, das über diese function und einige CSS funktioniert:

// 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 = '
'.$html.'
'; return $return; }

Allerdings kann ich keinen Filter finden, mit dem ich ein “classn” -Feld zum “Einfügen von URL” -Medienpanel im Posteditor hinzufügen könnte – und selbst wenn ich nicht wüsste, wo diese classninformation gespeichert würde da der Editor selbst nur die Video-URL im Klartext enthält.

Ist dies nur etwas, das nicht ohne die Frage, ob die Benutzer einen Shortcode oder benutzerdefinierte Felder anstelle der nativen oEmbed-function verwenden sollen, möglich ist? Ich denke, ein Shortcode ist der schnellste / einfachste Weg, aber ich dachte, ich würde zuerst überprüfen, ob es eine elegantere WordPress-native Möglichkeit gibt, dies zu erreichen. Vielen Dank!

Solutions Collecting From Web of "Hinzufügen von class zu oEmbedded Video von innerhalb des Post-Editors?"

Eine Idee für die Shortcode-Version wäre, die benutzerdefinierte class über den nativen [embed] Shortcode hinzuzufügen:

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

Dann könnten Sie es zu Ihrem benutzerdefinierten Wrapper hinzufügen mit:

 add_filter( 'embed_oembed_html', function ( $html, $url, $attr, $post_ID) { return sprintf( '
%s
', isset( $attr['class'] ) ? esc_attr( $attr['class'] ) : '', $html ); }, 10, 4 );

Dann könnten Sie zB Ihre eigene TinyMCE-Schaltfläche mit einem benutzerdefinierten Formular hinzufügen, um diesen Shortcode zu generieren?