サポート » 使い方全般 » 投稿した動画を埋め込みたい

  • 解決済 honma25

    (@honma25)


    お世話になっております。
    WordPress初心者です。

    タイトル通り、
    プラグイン「Postie」を使って動画を投稿し、Webページにその投稿した動画を埋め込みたいです。
    とりあえず、iphoneからのメールで動画(iphoneで撮った)は問題なく投稿出来ています。ただ、メールで投稿すると、

    <a href="動画URL(絶対パス)"><img src='動画画像(絶対パス)' alt='mov icon' />動画名</a><br />

    というかたちで投稿されるので、この状態からどう埋め込みに持っていけば良いかわかりません。
    <ifream>を使って動画を埋め込みたいのですがどうすれば良いでしょうか。

    宜しくお願い致します。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • 説明不足がありました。
    申し訳ありません。

    埋め込みのソースを記述する際、投稿内容はいじらずに、その前後である単一記事のsingle.phpの内容に記述したいです。

    こんにちは、

    WordPressには、フィルタという機能があり、本来出力するはずのリンクを、横取りして、必要なものに変更する事が出来ます

    お示しいただいたリンクのhtmlが正確なものであれば、以下のコードをfunctions.phpに貼り付けていただけると、実現できると思います。
    貼り付け場所は、functions.phpの先頭にある<?phpの前に貼り付けます。

    <?php
    add_filter( 'the_content', 'my_insert_movie' );
    
    function my_insert_movie( $contents ){
    /*メール投稿動画の特有のパターンalt=mov iconを含むリンクを検索して*/
    	preg_match( '!<a href="([^"]+)"(.+)?alt=\'mov icon(.+)?</a>!',$contents, $regs );
    /*ヒットしたら、リンクのURLをiframeにセットして*/
    	$iframe = '<iframe src="%1$s" class="my_movie"></iframe>';
    	$iframe = sprintf( $iframe, $regs[1] );
    /*元のhtmlと、作成したiframe を置き換えて、値を返す*/
    	return str_replace( $regs[0], $iframe, $contents );
    
    }
    ?>

    functions.phpは、間違えた記述をしてしまうと、管理画面に入れなくなります。
    テーマの編集は使わないで、FTP(S)等での変更がおすすめです

    iframeのサイズやスクロールバーなど表示の調整は、my_movieというクラスを使って、style.cssで調整してください

    回答いただきありがとうございます。
    試してみましたが、実現できず…。URLが間違っているのかそれともfunction.phpの記述場所がおかしいのか…。
    せっかく丁寧に教えていただいたのに申し訳ありません。
    function.phpには一番最後に記述しました。

    以下の、パターンが実際のhtmlと違うのかもしれません

    '!<a href="([^"]+)"(.+)?alt=\'mov icon(.+)?</a>!'

    一応、以下のパターンだと、動く事だけは確認したので、一度、投稿記事に以下のhtmlに動画のURLにして試してみてもらえますか?

    <a href="動画URL(絶対パス)"><img src='動画画像(絶対パス)' alt='mov icon' />動画名</a><br />

    返事の方大変遅くなり申し訳ありません。
    やはりできないです…。
    WordPressのバージョンは3.4.1なのですが、それが関係あるのでしょうか。
    上記のパターンでも試してみましたが、やはりなんの動きもありません。

    困りましたね

    もし、差し支えないなら ブログのURL書いてもらったほうがいいかもしれないですね。

    それちょっと、アレだけど、もう一回こっちで確認してほしいという事なら、メールで投稿した、投稿のソースを、そのまま、2-3個、貼り付けてみてください。

    こちらで、もう一回、やってみます。

    度々回答ありがとうございます。
    ブログのURLですが、仕事上の都合上書くことは出来ません申し訳ありません。

    自分で、色々試してみましたが、
    できないのはfilter自体が効いていないせいでした。
    とりあえず簡単な置き換えをしてみたのですがそれも反応せず…。
    function.phpで何かの処理が邪魔しているのでしょうか。
    しかし、filter処理の上に記述している他の処理は問題なく動いています。

    試した置き換え処理↓

    function addlink_the_content( $content ){
    return str_replace( 'aiueo','<a href="#">aiueo</a>',$content );
    }
    add_filter(“the_content”, “addlink_the_content”, 10, 1 );

    “ これは、” ではないですか?

    ” を ” に直しましたが変わりないです。

    試してみてください

    add_action( 'init', 'my_action');
    function my_action(){
    	add_filter( 'the_content', 'my_insert_movie');
    }

    返事遅れました。
    原因がハッキリしないのですが、単一記事の表示方法を変えた途端一番最初の処理で問題なく成功しました。
    ありがとうございました。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「投稿した動画を埋め込みたい」には新たに返信することはできません。