1. TOPTOP
  2. Webサービス

WordPress「オプション付き投げ銭プラグイン」の作り方 実行環境とclient IDを管理画面から入力〜その1(サブメニューとプラグイン管理ページの作成)

|

wordpress_nagesenplugin_v2_2_1

先日、「オプション付き投げ銭プラグイン」の作り方(新しいタブで開く)という記事を書きました。このプラグインのミソは、記事中に価格・通貨の種類などの情報を記入したショートコードを入力することで、PayPalの販売ボタン(PayPal ExpressCheckout)が表示されることです。

「オプション付き投げ銭プラグイン」の欠点

ただし、このプラグインは実行環境の文字列(sandbox or production)とclient IDという固有の値を、ブログの運営者(サービスの販売者)がPHPのファイルに直接入力しなければなりません。PHPファイルの取り扱いに慣れている方ならば難しい作業ではありませんが、ファイルの書き換えを必要とするプラグインは万人向けの拡張機能とは言えないでしょう。

そこで今回の一連のシリーズでは、実行環境の文字列とclient IDをWordPressの管理画面から設定できるよう、「オプション付き投げ銭プラグイン」のコードを「オプション付き投げ銭プラグイン」の作り方(新しいタブで開く)という記事のときから改良します。

プラグインサブメニューと管理画面の作成

プラグインの設定をWordPressの管理画面から行うので、当該ページのメニューと管理画面を作成します。プラグインのヘッダーファイルに全てを記述するとファイルの見通しが悪くなるので、express.phpとは別にexpress_admin.phpを作成します。

express.php側の記述

// 管理画面の表示
function paypalexpresscheckout_add_admin_menu(){
    add_submenu_page('plugins.php','PayPal Express Checkoutの設定','PayPal Express Checkoutの設定', 'administrator', __FILE__, 'paypalexpresscheckout_admin_menu');
}
add_action('admin_menu', 'paypalexpresscheckout_add_admin_menu');

require_once(__DIR__ . '/express_admin.php');

add_submenu_page関数を使って、admin_menuフックのときに設定ページが表示されるようにします

express_admin.php側の記述

<?php

function paypalexpresscheckout_admin_menu() {
  echo "Hello World";
}

paypalexpresscheckout_admin_menu();

express.phpで記述したadd_submenu_page関数の第六引数で使われている、’paypalexpresscheckout_admin_menu’が独自関数として動作するかどうか確認します。動作確認だけなので、とりあえず”Hello World”を表示する簡単な処理にしておきます。

管理画面の確認

ここまでの記述でWordPressの管理画面を確認しましょう。

wordpress_nagesenplugin_v2_2_1_1

WordPressの管理画面からプラグインをクリックすると、”PayPal Express Checkoutの設定”がサブメニューとして表示がされます。

wordpress_nagesenplugin_v2_2_2

またその”PayPal Express Checkoutの設定”をクリックすると、プラグインの設定画面に遷移して”Hello World”が表示されています。プラグインの管理画面が新たに設定できたことが分かります。なお今回の記事で紹介したコードはGitHub(新しいタブで開く)で公開しています。

その2(新しいタブで開く)に続きます。