ホーム > PC関連備忘録 > WordPress > Wordpressプラグイン作成に挑戦

Wordpressプラグイン作成に挑戦

テーマのfunction.phpに記載すればいいと思っていたんですが、折角の機会なのでプラグイン作成にチャレンジすることにしてみました。

参考URL:
Create a Custom WordPress Plugin From Scratch – NETTUTS

英語が読めない自分なので、完全には理解していませんが、仕組みの部分は理解出来たので必要な部分だけ備忘録!

プラグインの作成 – WordPress Codex 日本語版では管理画面のことまで掲載されていなかったので、参考になりました。

下記コードは参考サイトからの引用ですが、add_options_pageでWP管理画面のオプションの表示名などを設定します。

/*管理画面用*/
function oscimp_admin() {
include(’oscommerce_import_admin.php’);
}
/*管理画面にフックする*/
function oscimp_admin_actions() {
add_options_page(”OSCommerce Product Display”, “OSCommerce Product Display”, 1, “OSCommerce Product Display”, “oscimp_admin“);
}
add_action(’admin_menu’, ‘oscimp_admin_actions‘);

色分けしている部分が関連付いたものです。

ここまではうまくいったのですが、管理画面が問題でした。

「更新」するが、その画面に出ているものは更新される前のものになるという現象。
この時点でリロードすれば、更新された情報になってました。

よく読んでなかったからいけないのですが、「hidden」属性のoscimp_hiddenを使ってフォームデータを送ったのか、オプションからきた画面なのかというのを判別させるみたいです。

if($_POST['oscimp_hidden'] == 'Y') {
$dbhost = $_POST['oscimp_dbhost'];
update_option(’oscimp_dbhost’, $dbhost);
/*以下省略*/
} else {
//Normal page display
$dbhost = get_option(’oscimp_dbhost’);
/*以下省略*/
}
?>

POSTデータを送信した時に、update_optionを使ってデータベースを更新するようにするようです。
update_optionはフォームの最初に書いておかないと、表示されるはずの部分が更新されないので注意。

elseの時(通常時)はget_optionでデータベースの参照をしてデータを引っ張り出します。

かなり手抜きの文章になりましたが、自分で作ったプラグインの管理画面が以下のようになりました。

Wordpress用SexyLightboxプラグイン – STUDIO Bloomというのがありますが、全ての画像に対してイフェクトをかけるのではなく、任意のページ(その子ページを含む)の画像に対してイフェクトをかけたかったので、自作してみました。

初めてのプラグイン作成なだけに、公開するのが恥ずかしいので今回は管理画面だけということで・・・

流れは掴めはじめたので、後はプラグインをイロイロ作ってみて作成に慣れるようにするだけです。

WordPressコメント(0): 2009/2/4(水)

コメントはまだありません

コメントをどうぞ