プラグイン作成の基本

プラグインスクリプトファイルの作成

例えば、「test」という名前のプラグインを作成するならば、「test.inc.php」という名前のファイルをPukiWikiのプラグインフォルダに作成する。ファイルは、適当な文字コード(通常はEUC)で保存する。

インラインプラグインの作成

インラインプラグイン(「&test();」と書いて使用するもの)では、「plugin_プラグインの名前_inline」という名前の関数を作る。testプラグインでは、「plugin_test_inline」となる。

この関数では、表示する文字列を返すようにする。例えば、「&test();」で「こんにちは」と表示されるようにするには、次のようにする。

  1
  2
  3
  4
  5
  6
<?php
function plugin_test_inline()
{
    return 'こんにちは';
}
?>

ここで返す文字列はそのまま出力されるので、注意が必要(つまり、HTMLタグなども有効になる)。そのまま出力するのが危険な場合は、htmlspecialchars関数などで変換しておく。

ブロックプラグインの作成

ブロックプラグイン(「#test()」と一行に書いて使用するもの)では、「plugin_プラグインの名前_convert」という名前の関数を作る。testプラグインでは、「plugin_test_convert」となる。

この関数では、表示する文字列を返すようにする。例えば、「#test()」で「こんにちは」と表示されるようにするには、次のようにする。

  1
  2
  3
  4
  5
  6
<?php
function plugin_test_convert()
{
    return 'こんにちは';
}
?>

インラインプラグインと同様、そのまま出力されるので、注意が必要。

コマンドプラグイン

コマンドプラグイン(「./?plugin=test」のようなURLを呼び出して使用するもの)では、「plugin_プラグインの名前_action」という名前の関数を作る。testプラグインでは、「plugin_test_action」となる。

この関数では、ページのタイトルとページの内容が格納された配列を返す。ページのタイトルは「msg」、内容は「body」というキー名で格納する。例えば、「./?plugin=test」でタイトルが「テスト」で、内容が「こんにちは」と表示されるようにするには、次のようにする。

  1
  2
  3
  4
  5
  6
<?php
function plugin_test_action()
{
    return array('msg'=>'テスト', 'body'=>'こんにちは');
}
?>

ページ情報
[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]