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

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] 自作プラグインの設定など

公開日: : Web制作, 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
*/

上記コメントをプラグインファイルに記述するとプラグイン一覧ページに表示されます。
スクリーンショット_2014-10-03_13_34_35

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

記事を読む

no image

[CSS] 今さらだけど、覚えておきたい疑似クラス・疑似要素

さて、前回は、CSSのセレクタをおさらいしました。 そして、属性セレクタを取り上げている記事も合わ

記事を読む

[HTML] 初心者を脱却するためのHTMLの心構え!

デザインを見たら、まずレイアウトの方法をイメージしよう 僕は、基本的にデザインを頂いたときに、すぐ

記事を読む

[jQuery]背景画像にぼかしを入れるプラグイン

Blurrプラグインの紹介 BlurrはシンプルなjQueryのプラグインです。 そして、背景画

記事を読む

[CSS] CSSで作るリストのアイコン

CSSだけでも色々出来る! CSS3が現在の最新ブラウザでは大体対応されてきてますので、色々な表現

記事を読む

ad

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ad

[PHP] curl転送してみる(googleに)

curlでgoogle画像検索APIにアクセスしてみます。 cu

[PHP] PDOでMySQLの接続確認をする

PDO PHPでMySQLに接続する際には、mysql_connec

[PHP] ランダムな英数字を生成する

便利系メソッド 今回はPHPでランダムな英数字を作成してみます。

[Swift] プロパティリスト(plist)の値を取得

plistからデータを取得してみます。 こちらのエントリーも参考にし

[Swift] Asset Catalogについて

XCode5から追加されたAsset Catalog。 いままで標準

→もっと見る

  • 1978年の七夕生まれ。 25才でweb業界の門を叩き、28才でフリーランスに。 現在は、フリーランスでマークアップ中心に、wordpressのカスタマイズやデザインをしております。 また、iPhoneアプリの開発もしております。

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
PAGE TOP ↑

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