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

関連記事

[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コーディ

記事を読む

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