[WordPress] 自作プラグインの設定など
Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
プラグインを自作してみる
WordPressでプラグインを作成する際の設定(フック)などをまとめてみました。
ご参考になれば幸いです。
作成するディレクトリはwp-conent/pluginsの直下にプラグインフォルダを作成し、その中にプラグインファイルであるphpファイルを置きます。
プラグインヘッダーコメント
/* Plugin Name: Sample Plugin Plugin URI: プラグインURL Description: プラグインの説明文です。 Author: プラグイン作成者 Version: 1.0 Author URI: プラグイン作成者URL */
上記コメントをプラグインファイルに記述するとプラグイン一覧ページに表示されます。

Javascriptファイルの登録
add_action('admin_enqueue_scripts', 'admin_scripts');
function admin_scripts($hook) {
wp_enqueue_script('sample-script',
plugins_url('js/sample.js', __FILE__),
array(), false, true);
}
Javascriptファイルの登録です。wp-content/plugins/プラグインフォルダ/js/sample.jsを格納した例です。
wp_enqueue_scriptによりファイル読み込みが行われます。
CSSファイルの登録
add_action('admin_print_styles', 'admin_styles');
function admin_styles($hook) {
global $wp_scripts;
$ui = $wp_scripts->query('jquery-ui-core');
wp_enqueue_style('jquery-ui-smoothness',
"//ajax.googleapis.com/ajax/libs/jqueryui/{$ui->ver}/themes/smoothness/jquery-ui.min.css", false, null);
}
CSSファイルの登録です。例ではjquery-uiのバージョンをDB問い合わせをし、CSSを読み込んでいます。
wp_enqueue_styleによりファイル読み込みが行われます。
ショートコードの登録
add_shortcode('sample-shortcode', 'add_sample_shortcode');
function add_sample_shortcode($atts) {
$args = shortcode_atts(array(), $atts);
do_something($args);
}
function do_something($args) {
// ショートコードの処理
}
ショートコードの登録です。この場合は[sample-shortcode]という形のショートコードになります。
有効化のときの初期処理
if (function_exists('register_activation_hook')) {
register_activation_hook(__FILE__, array('sample_activate'));
}
function sample_activate() {
// プラグイン有効化時の処理
}
プラグインが有効化になった場合の処理です。主にデータベース作成や変数の設定などの初期処理を実行します。
プラグイン削除時の処理
if (function_exists('register_uninstall_hook')) {
register_uninstall_hook(__FILE__, 'sample_uninstall');
}
function sample_uninstall() {
global $wpdb;
$wpdb->query("DROP TABLE IF EXISTS wp_sample_table");
delete_option('sample_plugin_version');
}
プラグインが削除されたときの処理です。
例では、wp_sample_tableを削除し、wp_optionsに登録された’sample_plugin_version’というデータを削除しています。
まとめ
フックの詳細やライセンス規約などはCodexなどを参考にしてください。
WordPressのバージョンアップにより、やり方が変わるかもしれませんので。
ad
関連記事
-
-
[CSS] 今さらだけど、覚えておきたい疑似クラス・疑似要素
さて、前回は、CSSのセレクタをおさらいしました。 そして、属性セレクタを取り上げている記事も合わ
-
-
[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第1回]
現在、このブログはENJIさんが作られたSTINGER3という無料のテーマを利用させて頂いて
-
-
[jQuery] 背景画像を画面いっぱいにするプラグイン
背景に、画像をいっぱいに広げて表示したいときってありますよね。 ちょうど、そういう必要があったため
-
-
[CSS] フォームや登録の進み具合をCSSだけで表現する方法
フォームや登録過程で、今どれくらい進んでいるのか利用者に対して表示する事はとても重要な事だと思います
-
-
[CSS] 複数のbackground-imageの設定方法
マルチBackground-imageを使ってみる CSS3では、背景画像を指定する際に複数の画像
-
-
[javascript] Google Maps javaScript API v3の使い方(応用編:Mapの色を変更する)
まだまだあるぞ!Google Maps javaScript API v3 さて、2回にわたって紹
-
-
[WordPress] 管理画面にテーブル(WP_List_Table)を表示する
WP_List_Table 管理画面で標準テーブルを表示したい場合は、WP_List_Tableを
-
-
[CSS] 今さらだけど、必ず覚えておきたいCSSセレクタ
CSSセレクタとは? CSSセレクタを意識する事はあまりないと思いますが、今回はおさらいがてら、C
-
-
[jQuery] FlickerPlateを紹介します。
かっこいいプラグインで、フリックにも対応します。 Flickerplateは、シンプルでとても使い
-
-
[CSS] 角丸は便利だけど理解に苦しむ時もある
一般的な角丸の使い方 よく使う角丸は、divを角丸にしたり、画像を角丸にしたりすることでしょう。