Gibt es eine Möglichkeit, einen benutzerdefinierten Parameter für vimeo einzubetten, ohne einen iframe zu verwenden?

Ich versuche, einige Oembed-Parameter an meine Vimeo-Clips anzuhängen. Ich habe versucht, es mit den folgenden zwei statementen in Gang zu bringen:

  • Übergeben von Parametern an einen Vimeo-Link in einem benutzerdefinierten WordPress-Feld – LimeCanvas.com
  • Jede Möglichkeit, einen benutzerdefinierten Parameter für die YouTube-Einbettung zu verwenden, ohne einen iframe zu verwenden – WordPress.SE.com

Leider funktioniert das, was für YouTube funktioniert, nicht für Vimeo, da die zurückgegebene URL keine solche Zeichenfolge wie ” ?feature=oembed , mit der ich str_replace arbeiten kann. Es ist nur die ID des Videos am Ende der URL, die zufällig ist. Ich kann es schaffen, wenn ich die genaue ID des Clips str_replace , um str_replace suchen zu lassen.

Irgendeine Idee, wie man die function nach Zahlen sucht und die Parameter anhängt? Ein Beispielclip wäre

 http://vimeo.com/14956293 

und das oEmbed sollte sein

 //player.vimeo.com/video/14956293?color=FFFFFF&title=0&byline=0. 

Wie Sie hier sehen können, gibt es einen weiteren Unterschied zu YouTube. Die Argumente beginnen mit? und verbindet die Argumente mit & . Während YouTube mit & beginnt und auch die Argumente mit & .

Solutions Collecting From Web of "Gibt es eine Möglichkeit, einen benutzerdefinierten Parameter für vimeo einzubetten, ohne einen iframe zu verwenden?"

Sie sollten einen Filter auf Oembed-Anbieter hinzufügen, um Zollparameter zuzulassen:

 add_filter( 'oembed_fetch_url', 'my_oembed_fetch_url', 10, 3 ); function my_oembed_fetch_url( $provider, $url, $args ) { // You can find the list of defaults providers in WP_oEmbed::__construct() if ( strpos( $provider, 'vimeo.com' ) !== false) { // Check the full list of args here: https://developer.vimeo.com/apis/oembed if ( isset( $args['autoplay'] ) ) { $provider = add_query_arg( 'autoplay', absint( $args['autoplay'] ), $provider ); } if ( isset( $args['color'] ) && preg_match( '/^[a-f0-9]{6}$/i', $args['color'] ) ) { $provider = add_query_arg( 'color', $args['color'], $provider ); } if ( isset( $args['portrait'] ) ) { $provider = add_query_arg( 'portrait', absint( $args['portrait'] ), $provider ); } if ( isset( $args['title'] ) ) { $provider = add_query_arg( 'title', absint( $args['title'] ), $provider ); } if ( isset( $args['byline'] ) ) { $provider = add_query_arg( 'byline', absint( $args['byline'] ), $provider ); } } return $provider; } 

dann in deiner Vorlage:

 < ?php wp_oembed_get('http://vimeo.com/44633289', array('color' => '7AB800')); ?> 

oder über einen Shortcode im Post-Inhalt:

 [vimeo 44633289 color=7AB800] 

und du kannst das gleiche für youtube und alle anderen oembed provider tun (wenn deine my_oembed_fetch_url erlaubt)