WordPress 2.9 から追加された oEmbed (自動メディアリンク) が便利です。
例えば、YouTube や Flickr の URL を書くだけで、投稿が表示される際に URL の位置に自動的に YouTube 動画や Flickr の写真が埋め込まれて表示されます。
現在、デフォルトで対応しているのは、以下のメディアです。
- YouTube
- Vimeo
- DailyMotion
- blip.tv
- Flickr (both videos and images)
- Viddler
- Hulu
- Qik
- Revision3
- Scribd
- Photobucket
- PollDaddy
- Google Video
- WordPress.tv(現在は VideoPress 形式の動画のみ)
- SmugMug(WordPress 3.0 以降)
- FunnyOrDie.com(WordPress 3.0 以降)
これ以外のメディア(例えば、ニコニコ動画)とかは使えないんでしょうか?
ちょっとしたコードを追加してやることで、他のメディアにも対応できるようになります。
wp_embed_register_handler() 関数を使ってハンドラーを登録することで、様々なメディアに対応させることができます。
PDF を自動メディアリンクに対応させる
pdf 形式のファイルを、Google Docs Viewer で表示するには、以下のコードをテーマの functions.php に追加してください。
function wp_embed_handler_pdf( $matches, $attr, $url, $rawattr ) { $width = 600; $height = 780; $embed = sprintf( '<iframe src="http://docs.google.com/viewer?url=%1$s&embedded=true" width="%2$d" height="%3$d" style="border: none;"></iframe>', esc_attr(rawurlencode($matches[0])), (int) $width, (int) $height ); return apply_filters( 'embed_pdf', $embed, $matches, $attr, $url, $rawattr ); } wp_embed_register_handler( 'pdf', '/^https?(:\/\/[-_\.!~*\'()a-zA-Z0-9;\/:\@=+\$,%#]+)(\.pdf)$/', 'wp_embed_handler_pdf' );
デモを以下に置いておきます。
http://demo.dogmap.jp/2011/01/26/wp_embed_register_handler-test/
ニコニコ動画を自動メディアリンクに対応させる
ニコニコ動画を対応させるには、以下のコードをテーマの functions.php に追加してください。
function wp_embed_handler_nicovideo( $matches, $attr, $url, $rawattr ) { $vid = esc_attr($matches[1]); $width = 485; $height = 385; $embed = sprintf( '<div id="nicovideo-%3$s"><iframe width="%1$d" height="%2$d" src="http://www.nicovideo.jp/thumb/%3$s" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="%4$s">%4$s</a></iframe></div>', (int) $width, (int) $height, $vid, esc_attr($matches[0]) ); $embed .= "<script type=\"text/javascript\"> jQuery(function(){ var output = []; document._write = document.write; document.write = function(v){ output.push(v); } jQuery.getScript('http://ext.nicovideo.jp/thumb_watch/{$vid}', function(){ jQuery('#nicovideo-{$vid}').html(output.join('')); output = []; document.write = document._write; }); }) </script>"; return apply_filters( 'embed_pdf', $embed, $matches, $attr, $url, $rawattr ); } wp_embed_register_handler( 'nicovideo', '/https?:\/\/www\.nicovideo\.jp\/watch\/(sm[\d]+)([\?])?([-_\.!~*\'()a-zA-Z0-9;\/:\@=+\$,%#]+)?/i', 'wp_embed_handler_nicovideo' ); wp_enqueue_script('jquery');
デモを以下に置いておきます。
http://demo.dogmap.jp/2011/01/26/ニコニコ動画テスト/
これ、もうちょっと手を加えればプラグインとして公開できますね。
ニコニコ動画の張り付けに関して、こちらでも試しているのですが、
・貼り付ける動画の大きさを変えても、フルサイズ固定になってしまう
・ページ内につき1枚しか動画は貼り付けられない
という問題があるようです。
ピンバック: wordpressで画像アップが億劫な人へ | ぴとり.net
ピンバック: Tweets that mention WordPress の自動メディアリンクにメディア形式を追加する : dogmap.jp -- Topsy.com