[WordPress] 自作プラグインの設定など

公開日: : Web制作, wordpress

プラグインを自作してみる

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

関連記事

[javascript] Google Maps javaScript API v3の使い方(応用編:Mapの色を変更する)

まだまだあるぞ!Google Maps javaScript API v3 さて、2回にわたって紹

記事を読む

[jQuery] 背景画像を画面いっぱいにするプラグイン

背景に、画像をいっぱいに広げて表示したいときってありますよね。 ちょうど、そういう必要があったため

記事を読む

[CSS] 紙の様にふわっとしたエフェクトが全くつかえない!

寒くなってきて動きが鈍い僕です。こんにちわ。 さて、タイトルの件なのですが、たまに見か

記事を読む

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

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

記事を読む

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

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

記事を読む

[CSS]印刷用CSSの設定方法

印刷用のCSSは、設定が簡単! 普通にサイトを作っていると、結構印刷用のCSSの設定もお願いされま

記事を読む

[CSS] 今さらだけど、必ず覚えておきたいCSSセレクタ

CSSセレクタとは? CSSセレクタを意識する事はあまりないと思いますが、今回はおさらいがてら、C

記事を読む

[Dreamweaver] サイトタイトルを入力する枠を広げる!

デフォルトのままじゃ、狭い! DreamWeaverのタイトルを入力する枠があると思いますが、これ

記事を読む

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

Blurrプラグインの紹介 Blurrはシンプルな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アプリの開発もしております。
PAGE TOP ↑