Skip to content →

意外とかんたんなWordPressプラグインの作り方

いやー今年の夏は暑いですね。福岡は昨日は37度もありました。暑すぎるのは困ったものですが、一方で暑い時に飲むビールもたまらないものがあります。

さて、今回は「Nginx+Apacheの環境にて、PHPでクリアをキャッシュする」で作ったPHPをプラグインにして、WordPress管理画面からワンクリックで使えるようにします。

1.プラグインディレクトリ内にファイル作る

/wp-content/plugins/内に新規フォルダ、その中にPHPファイルを作ります。今回は「clear」というフォルダを作って、その中に「clear.php」というPHPファイルを作りました。

2.ヘッダー情報を入れる

「clear.php」に、以下の情報を入力します。

<?php
/*
Plugin Name: ClearCache
Plugin URI: http://plus.vc
Description: nginxのキャッシュクリア
Version: 1.0.0
Author: PLUS
Author URI: http://plus.vc
*/
?>

そうすると、WordPress管理画面のプラグインページにでてきます。
clearcache

3.管理メニューに追加する

次に、処理内容を書いていきます。下のコードは、管理メニューに入口のリンクを追加しています。add_submenu_pageはサブメニュー追加の関数です。メニューの追加についての詳しい情報はこちら

//管理メニューに追加するフック
add_action('admin_menu', 'clear_menu');

//add_submenu_page('親メニューのファイル名', 'HTMLのページタイトル', 'メニュータイトル', '必要なユーザーレベル', 'コンテンツ表示PHPファイル', 'コンテンツ表示関数');
function clear_menu() {
  add_submenu_page('post-new.php', 'nginxクリアキャッシュ', 'nginxクリアキャッシュ', 8, __FILE__, 'menu_function');
}

//この内容が、メニュークリック時に表示されます
function menu_function() {
  echo '<div class="wrap">';
  echo '<p><a href="(環境によってパスを設定してください)cacheclear.php" target="_blank">キャッシュクリア</p>';
  echo '</div>';
}

4.処理内容を記述する

<?php
require_once("(環境によってパスを設定してください)wp-admin/admin.php");
exec("sudo sh nginx_clear.sh");
?>
clear cache

require_onceは、WordPressにログインしているかどうかチェックするファイルで、標準でWordPressに入っています。これを入れることで、ログインしていないと、アクセスできなくなります。

どうだったでしょうか。受託案件でWordPressを導入することもあると思いますが、オリジナルシステムと連動させる場合にも使えるテクニックです。

[sc name=”engeneer”]

SHARE

PROFILE

入江 慎吾
イリテク株式会社代表取締役 / メンターマッチングサービスMENTAを運営(月間流通額700万突破)/ 累計20個以上のWEBサービスやアプリを開発 / CAMPFIREとコミュニティツールVoyageを共同開発中 / 「自分のサービスで生きていく」をコンセプトに個人開発オンラインサロン「入江開発室」を運営(詳しいプロフィール)

SPONSER

Published in 開発奮闘記