[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] 背景画像を画面いっぱいにするプラグイン
背景に、画像をいっぱいに広げて表示したいときってありますよね。 ちょうど、そういう必要があったため
-
[CSS] ベンダープレフィックスはどこまで必要か?
各ブラウザが独自に先行実装しているCSS3 CSS3が現在、各ブラウザでも対応状況が進み、だいぶ使
-
[Dreamweaver] 不要な_notesを作成させない方法
みなさん、_notesで困ってませんか? Dreamweaverは、デフォルト設定で使用していると
-
[WordPress] 管理画面にテーブル(WP_List_Table)を表示する
WP_List_Table 管理画面で標準テーブルを表示したい場合は、WP_List_Tableを
-
[Dreamweaver] サイトタイトルを入力する枠を広げる!
デフォルトのままじゃ、狭い! DreamWeaverのタイトルを入力する枠があると思いますが、これ
-
[CSS] 今さらだけど、必ず覚えておきたいCSSセレクタ
CSSセレクタとは? CSSセレクタを意識する事はあまりないと思いますが、今回はおさらいがてら、C
-
[CSS] 今さらだけど、覚えておきたい疑似クラス・疑似要素
さて、前回は、CSSのセレクタをおさらいしました。 そして、属性セレクタを取り上げている記事も合わ
-
[HTML] 初心者を脱却するためのHTMLの心構え!
デザインを見たら、まずレイアウトの方法をイメージしよう 僕は、基本的にデザインを頂いたときに、すぐ
-
[jQuery]背景画像にぼかしを入れるプラグイン
Blurrプラグインの紹介 BlurrはシンプルなjQueryのプラグインです。 そして、背景画
-
[CSS] CSSで作るリストのアイコン
CSSだけでも色々出来る! CSS3が現在の最新ブラウザでは大体対応されてきてますので、色々な表現