WordPressのプラグイン Hello Dolly を解析してカスタマイズ

WordPressをインストールして必要な設定をしていたのですが、そのときに最初から入っているプラグイン「Hello Dolly」が気になりました。このプラグインはどのようにプラグインを作るか、ということのサンプルとして入っているものらしいです。
コードも短く、ファイルも1つなのでPHPの初心者でも触りやすいのでは無いかと思いました。短いので中身を解析してちょっとカスタマイズもしてみます。

Hello Dollyってなに?

Hello Dollyのプラグインの説明には、

これはただのプラグインではありません。Louis Armstrong によって歌われた最も有名な二つの単語、Hello, Dolly に要約された同一世代のすべての人々の希望と情熱を象徴するものです。このプラグインを有効にすると、すべての管理画面の右上に Hello, Dolly からの歌詞がランダムに表示されます。

とあります。ちょっと意味不明ですが 歌詞がランダムに表示される プラグインのようです。

ダッシュボード プラグイン で、

Hello Dolly有効化をクリックします。
*このプラグインは管理画面にHello Dollyの歌詞が表示されるだけなので、有効化しても通常のサイトには影響を与えません。

すると管理画面の右上に、

このようにランダムに歌詞が表示されるようになりました。そんな感じのプラグインです。

Hello Dolly の中身をみてプラグインの作りを知る

Hello Dolly は wp-content\plugins\ に hello.php というひとつのファイルだけでできています。

中身を見てみます。

ダッシュボード プラグイン をクリックして Hello Dolly のところにある 編集 をクリックします。

このように、Hello Dollyの編集画面になります。

頭の部分をみます

Plugin Name: Hello Dolly と書いてあるところがこれがプラグインで Hello Dolly という名前だということを示しています。

function hello_dolly_get_lyric()の後の { から } までは、hello_dolly_get_lyric という関数の内容が書いてあります。

$lyrics = “Hello, Dolly

から

Dolly’ll never go away
Dolly’ll never go away again”;

までが今回ランダムに表示している文章です。

ここで $lyrics という変数を改行(\n)で分割します。これで一行ずつの配列になります。

配列番号0は Hello, Dolly
配列番号26は Dolly’ll never go away
配列番号27は Dolly’ll never go away again

というような感じです。

wptexturize は文字を整形する関数です(英文の時だけ必要かも)。先ほど配列にした $lyrics という変数は $lyrics[数値] の形で指定した配列番号の値を取り出すことができます。

例えば $lyrics[26] は Dolly’ll never go away となります。

このコードで、 mt_rand( 0, count( $lyrics ) – 1 ) の mt_rand はランダムに数値を生成する関数です。この場合、0から27の間の任意の数値を生成します。count( $lyrics )は$lyricsの配列の数なので28になりますが、配列は0から始まるので -1 しています。

ということで、このhello_dolly_get_lyricという関数は$lyricsという0から27までの配列からランダムに文章が選ばれたものが返されます。

hello_dollyという関数で、

先ほどの hello_dolly_get_lyric という関数から文章をランダムで取得し $chosen に入れます。

そして取得した $chosen をPタグで囲んだものを echo で表示します。

add_actionで、WordPressシステムの関数にアクション関数を追加します。
add_action( アクション, 実行する関数) が書いてあります。

admin_noticesは、管理画面の上部に何かを表示するアクションです。実行する関数は hello_dolly です。先ほど見たようにランダムな文章が返されます。

ということで、この仕組みでこのプラグインを有効化すると管理画面にランダムな文章が表示されるようになりました。

カスタマイズしてみる 文章を入れ替える

日本語で表示してみたかったので、

青空文庫 詩ノート 宮沢賢治

から文章をコピーして、

のように書き換えてみました。すると管理画面には、

このように宮沢賢治の詩がランダムに表示されるようになりました。

まとめ:1ファイルでもプラグインになるんですね!

プラグインはこのように1ファイルでも作れるモノなんですね!このプラグインは短いので全部を見ることができるし、少しずつカスタマイズして「こういうことをすると、こうなるのか」という勉強をしながらプラグインの仕組みを勉強するのに良いかと思いますのでいじってみてください(^^)/

兎本美佳

ブログを見た人がそのままできたらいいなと思って、できるだけ丁寧に書いています。blogに書いたようなネタの有償対応のご相談は「ゆうそうと」へいただければと思います(^^)/
無償での対応をご希望の場合は、コメントをいただけましたら可能な場合はコメントを返させていただきます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサー広告
ブログをメールで購読

メールアドレスを記入して購読すれば、更新をメールで受信できます。

259人の購読者に加わりましょう

コメント

  1. […] 以下の記事がわかりやすい紹介をしています。 WordPressのプラグイン Hello Dolly を解析してカスタマイズ - 株式会社RYUSのブログ ・・・管理画面に文字が流れるプラグインなのですが、 […]

トップへ戻る