Einbetten von Screencast.com-Videos in WordPress Multisite

Ich habe eine Multi-Site-Installation von WP 3.5.1 ausgeführt und möchte, dass Nutzer Screencast.com-Videos in Posts einbetten können, vorzugsweise mit einem Shortcode wie bei YouTube oder Vimeo.

Ich kann das tun, indem ich den vollen Einbettungscode aus dem Screencast.com-Freigabemenü benutze, aber ich kann das nur als Super-Admin machen. Alle anderen Benutzer haben und Tags aus ihren Beiträgen entfernt. Ich kann das umgehen , indem ich das Unfiltered MU- Plugin installiere, aber das ist nicht ideal, da es den Benutzern erlaubt, alle möglichen nicht vertrauenswürdigen Code / Tags in ihre Beiträge zu schreiben.

Ich habe ziemlich ausgiebig nach einer Art einfachem Plugin gesucht und bin auf diesen Screencast.com Video Embedder gestoßen , der eine Idee zu sein scheint, aber in 2 Jahren nicht aktualisiert wurde.

Ich frage mich, ob es andere Lösungen gibt, die dafür funktionieren könnten.

Solutions Collecting From Web of "Einbetten von Screencast.com-Videos in WordPress Multisite"

Screencast.com hat eine dedizierte GitHub-Seite mit Händen voller Tutorials (keine Notwendigkeit, sie hier zu klonen).

Sie können dann wp_oembed_get() oder einen neuen Provider mit wp_oembed_add_provider() registrieren.

 echo wp_oembed_get( 'http://example.com', array( 'width' => 1920, 'height' => 1080 ) ); 

Oder füge den Anbieter hinzu:

 wp_oembed_add_provider( 'http://screencast.com/*', // The Format 'http://screencast.com/', // The Provider FALSE // Is the first argument not a wildcard but a Regex? ); 

Beachten Sie, dass einige Anbieter Sie zwingen werden, einen API-Schlüssel für erfolgreiche Anfragen zu erhalten. Die Guten geben einige für Test- und Entwicklungszwecke aus.

Um das MarkUp zu ändern, gibt es den obembed_dataparse Filter, den Sie verwenden können.

 add_filter( 'oembed_dataparse', 'wpse_91680_oembed_markup', 10, 3 ); function wpse_91680_oembed_markup( $html, $data, $url ) { if ( is_int( strpos( $url, 'screencast.com' ) ) ) { // $data might hold interesting stuff for you # echo htmlspecialchars( var_export( $data, true ) ); // $html will be FALSE for every $data->type that // is not 'photo', 'video', 'rich' or 'link' // so you need to pre-process the $data object and build your markup here return "
And some special appendix"; } return $html; }

Ich bin mir nicht sicher, ob dir das hilft, aber ich habe nur einige andere Blogs durchforstet und einen Vorschlag gefunden, das Plugin Embed.ly zu testen . Es hat eine API, die Sie kostenlos registrieren können, und Hunderte von Medien-Anbietern (einschließlich Screencast, die Sie von den Einstellungen Embed.ly nach der Installation aktivieren müssen). Danach, gehen Sie einfach in die Seite / HTML-Seite posten und fügen Sie nur die URL von Screencast (oder anderen) und Viola! Es hat super funktioniert und meine Hotspots funktionieren auch. Ich denke, sie haben eine API, die die URL annimmt und den Einbettungscode im Hintergrund liefert. Ich melde mich zurück, wenn mein Code verschwindet oder nicht.

Viel Glück!