[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
関連記事
-
[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第3回]
ブログの存在すら忘れてました、僕です。 完全放置プレイだったこの連載?を再開しなきゃと思い、重
-
[jQuery] Block Scrollプラグイン
今回は、ブロック毎にスクロールするjQueryプラグインのご紹介です。 Block Scroll
-
[jQuery] フルサイズ(ブラウザいっぱい)で画像を表示するlightbox風プラグインの紹介 [ギャラリーサイト向け]
jQuery fullsizable plugin ブラウザ画面いっぱいに画像を表示したい時に使え
-
[CSS] メディアクエリ(Media Queries)を考える
Media Queriesとは Media Queriesとは、画面環境に応じてCSSの適用範囲を
-
[CSS] 紙の様にふわっとしたエフェクトが全くつかえない!
寒くなってきて動きが鈍い僕です。こんにちわ。 さて、タイトルの件なのですが、たまに見か
-
[CSS] フォームや登録の進み具合をCSSだけで表現する方法
フォームや登録過程で、今どれくらい進んでいるのか利用者に対して表示する事はとても重要な事だと思います
-
[jQuery] フォーカスポイントを決めて、そこを中心に切り抜くプラグインFocusPoint
FocusPoint FocusPointは、レスポンシブにクロップ(切り抜き)するjQueryの
-
[CSS] animationを使ってみる!
色の変化をCSSのみで実装できる! CSS3のキーフレームアニメーションでは、JSで出来る、背景色
-
[jQuery] 背景画像を画面いっぱいにするプラグイン
背景に、画像をいっぱいに広げて表示したいときってありますよね。 ちょうど、そういう必要があったため
-
[Dreamweaver] コーディングを早くする5つの方法
コーディングは、早くなる! 普段、Dreamweaverを使っている人で、SassやZenコーディ