web-dev-qa-db-ja.com

WordPressマルチサイトへのscreencast.comビデオの埋め込み

私はWP 3.5.1のマルチサイトインストールを実行しています、そして私はYouTubeまたはあなたと同じようにショートコードを使って、screencast.comのビデオを投稿に埋め込めるようにしたいです。ビメオ.

Screencast.com共有メニューからの完全な埋め込みコードを使用してこれを実行できますが、スーパー管理者としてのみ実行できます。他のすべてのユーザーは自分の投稿からタグを削除しました。私は Unfiltered MU プラグインをインストールすることでこれを回避することができます、しかしそれはユーザーが彼らの中にあらゆる種類の信頼できないコード/タグを入れることを許すので理想的ではありません投稿.

私はある種の単純なプラグインをかなり広範囲に検索しましたが、これに遭遇しました Screencast.com Video Embedder 考えのようですが、そうではありません2年で更新されます。

だから私はこれのために働くかもしれない他の解決策があるかどうか疑問に思います。

1
occam98

Screencast.comには、チュートリアルが豊富に揃った専用の GitHubページ があります(ここでそれらを複製する必要はありません)。

その後、 wp_oembed_get() を使用するか、 wp_oembed_add_provider() を使用して新しいプロバイダーを登録できます。

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

またはプロバイダを追加します。

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?
);

いくつかのプロバイダはあなたが成功したリクエストをするためにAPIキーを取得することをあなたに強制するでしょうことを覚えておいてください。良いものはテストと開発目的のためにいくつかを配布します。

MarkUpを変更するには、 obembed_dataparse フィルタを使用します。

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 "<br /> And some special appendix";
    }

    return $html;
}
2
kaiser

これで問題が解決するかどうかはわかりませんが、他のブログをいくつか調べていたところ、 Embed.ly プラグインを試してみる提案が見つかりました。それはあなたが無料で登録できるAPIと何百ものメディアプロバイダー(あなたがインストールされたらEmbed.ly設定から有効にしなければならないScreencastを含む)を持っています。その後は、ページに移動してHTMLページを投稿し、スクリーンキャスト(またはその他)からのURLだけを貼り付けてください。それはうまくいった、そして私のホットスポットもまたうまくいった。 URLを受け取り、埋め込みコードをバックグラウンドで配信するAPIがあると思います。私のコードが消えたかどうか私は報告します。

がんばろう!

0
Gary M.