[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
関連記事
-
-
[jQuery] クリックしたところから波紋が広がるプラグイン!
Rippler 以前にも波紋のプラグインを紹介しましたが、今回も新たなプラグインを紹介しま
-
-
[CSS] animationを使ってみる!
色の変化をCSSのみで実装できる! CSS3のキーフレームアニメーションでは、JSで出来る、背景色
-
-
[Dreamweaver] サイトタイトルを入力する枠を広げる!
デフォルトのままじゃ、狭い! DreamWeaverのタイトルを入力する枠があると思いますが、これ
-
-
[jQuery] フォーカスポイントを決めて、そこを中心に切り抜くプラグインFocusPoint
FocusPoint FocusPointは、レスポンシブにクロップ(切り抜き)するjQueryの
-
-
[CSS] メディアクエリ(Media Queries)を考える
Media Queriesとは Media Queriesとは、画面環境に応じてCSSの適用範囲を
-
-
[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第2回]
忙しくて忘れてました。僕です。 さて、今回はもうちょっと見栄えもよくしたいなーなんて考
-
-
[Dreamweaver] 不要な_notesを作成させない方法
みなさん、_notesで困ってませんか? Dreamweaverは、デフォルト設定で使用していると
-
-
[CSS] 紙の様にふわっとしたエフェクトが全くつかえない!
寒くなってきて動きが鈍い僕です。こんにちわ。 さて、タイトルの件なのですが、たまに見か
-
-
[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第1回]
現在、このブログはENJIさんが作られたSTINGER3という無料のテーマを利用させて頂いて
-
-
[Dreamweaver] テンプレート機能初級編!
まずはベースとなるHTMLを作成しましょう。 Dreamweaverのテンプレートを作るには、ベー