[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

関連記事

[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第4回]

完全に放置してました、僕です。 別に忘れていた訳じゃないんですが、時間がありませんでした。

記事を読む

[jQuery] フォーカスポイントを決めて、そこを中心に切り抜くプラグインFocusPoint

FocusPoint FocusPointは、レスポンシブにクロップ(切り抜き)するjQueryの

記事を読む

[Dreamweaver] テンプレート機能を使う!初級〜中級編

まだまだある便利機能! 既に、上級編まで紹介してしまってますが、抜けていたので、すこし簡単です。

記事を読む

[html5] おさらいがてらWordPressのテーマを作るためにHTML5で一から作るよ![第3回]

ブログの存在すら忘れてました、僕です。 完全放置プレイだったこの連載?を再開しなきゃと思い、重

記事を読む

[jQuery] FlickerPlateを紹介します。

かっこいいプラグインで、フリックにも対応します。 Flickerplateは、シンプルでとても使い

記事を読む

no image

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

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

記事を読む

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

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

記事を読む

[jQuery] フルサイズ(ブラウザいっぱい)で画像を表示するlightbox風プラグインの紹介 [ギャラリーサイト向け]

jQuery fullsizable plugin ブラウザ画面いっぱいに画像を表示したい時に使え

記事を読む

[Dreamweaver] 便利な検索&置換

Dreamweaverの検索&置換は、便利な機能が満載! サイトを制作する上で厄介になってくるのが

記事を読む

[jQuery] OSX風のスクロールバーにするプラグイン!

trackpad-scroll-emulator trackpad-scroll-emulator

記事を読む

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 ↑