アカベコマイリ

HEAR NOTHING SEE NOTHING SAY NOTHING

ニコニコ動画の貼り付け

WordPress にニコニコ動画を貼り付けられるようにしてみた。

2018/11/27
本ブログの GatsbyJS 移行にともない WordPress プラグインが無効となります。そのため当該部分はコード ブロックに変更しました。 追記 : 2009/12/02
このブログのニコニコ動画貼り付けを WP-Nicodo に統一する為、上記動画はこの記事に紹介しているものではなく、WP-Nicodo へ変更しました。

[nicodo]sm5044689[/nicodo]

動画は 1969 年の Woodstock における Jimi Hendrix の即興演奏。これと SANTANA の Soul Sacrifice はそれ自体が伝説の Woodstock でもひときわ輝いている。

実装としては WordPress のショートコード API を使用した簡単な PHP スクリプトを書いて、それをプラグイン登録するだけ。これを実現するコードは色々なサイトで公開されてるが、プラグイン作成の手順も含めて記録しておく。

まず、プラグイン用のフォルダとファイルを作成する。wp-nikodo というフォルダを作成し、その中に PHP ファイルとして nikodo.php というプレーンテキストを作成する。PHP ファイルの文字エンコードは UTF-8 ( BOM 無し ) にしておく。

次に nikodo.php を開き、以下のコードをコピペする。

<?php
/*
Plugin Name: WP Nikodo
Plugin URI:
Description: ニコニコ動画のコンテンツ情報をページに埋め込みます。
Version: 0.5
Author: 赤べこ
Author URI: https://akabeko.me/
*/

function get_nicodo( $atts )
{
    extract( shortcode_atts( array( 'id' => '', 'title' => '', ), $atts ) );
    return '<p><iframe width="320" height="196" src="http://ext.nicovideo.jp/thumb/'. $id .'" scrolling="no" style="border:solid 1px #AAA;" frameborder="0"><a href="http://www.nicovideo.jp/watch/' . $id . '">' . $title . '</a></iframe></p>';
}

add_shortcode( 'nikodo', 'get_nicodo' );

?>

はじめの範囲コメントは WordPress がプラグインを管理する為の情報となる。

ショートコード機能は WordPress 2.5 以降で対応されたもので、属性 (引数) つきの簡易マクロとして有用である。詳しくは以下のページを参照の事。

プラグインとしての体が整ったので、これを WordPress のプラグインフォルダにアップロードすると、次に管理画面を開いた時にプラグイン一覧へ WP-Nikodo が追加されているはず。

プラグインを有効にしたら、さっそく試してみよう。記事の本文に以下のような記述を行う事で、ニコニコ動画のリンクとコンテンツ情報が埋め込まれる。サンプル コードのショートコード処理を避ける為にタグ文字列の先頭を全角にしている。

[nikodo id="sm5044689" title="Jimi Hendrix ジミ・ヘンドリックス “Woodstock Improvisation ~ Villanova Junction”"]

id に動画の識別子 ( 動画 URL の smXXXX の部分 )、title に動画のタイトルを指定する。title を省略した場合、生成された HTML の a タグの値が空になるだけで、動作には問題ないと思う。

ショートコードは簡単・便利ですな。