WordPressプラグインを作るなら絶対に知っておきたい関数を、カテゴリ別にわかりやすく紹介します。初心者の方にも使いどころがイメージできるよう、シンプルな説明と具体的な用途を添えています。
2. パス・URLの取得 📁
(1) plugin_dir_path(__FILE__)
何をする関数?: プラグインディレクトリのサーバー上のパスを取得します。
$path = plugin_dir_path(__FILE__);
// 例: /home/username/public_html/wp-content/plugins/my-plugin/
注意点: ファイル操作にはこの関数を使用して正しいパスを確保します。
(2) plugin_dir_url(__FILE__)
何をする関数?: プラグインディレクトリのURLを取得します。 応用例: JSやCSSファイルの読み込みで使用。
$plugin_url = plugin_dir_url(__FILE__);
// 結果: https://example.com/wp-content/plugins/my-plugin/
📝 メモ
📌__FILE__
には、そのコードが書かれたファイルのフルパスが設定されます
4. ファイル・ディレクトリ操作 🛠️
(1) wp_mkdir_p()
何をする関数?: 必要に応じて中間ディレクトリも含めて一括作成します。
$result = wp_mkdir_p( WP_CONTENT_DIR . '/uploads/my-plugin/logs/' );
if ( ! $result ) {
wp_die('フォルダの作成に失敗しました');
}
応用例: アップロードフォルダの初期化処理など。
(2) wp_delete_file()
何をする関数?: 指定したファイルを削除
wp_delete_file('/path/to/file.jpg');
(3) wp_delete_directory()
何をする関数?: 指定したディレクトリとその中身を再帰的にすべて削除
wp_delete_directory('/path/to/folder/');
6. 管理画面メニューの追加 ⚙️
(1) add_options_page()
何をする関数?: 管理画面の「設定」メニューの中に、オリジナルの設定ページを追加します。
add_options_page(
'ページタイトル',
'メニュー名',
'manage_options',
'my-plugin-slug',
'my_plugin_settings_page_callback'
);
🧠 よくある使い方
- 独自プラグインやテーマの 設定ページ を管理画面に追加したいとき
- ユーザーが簡単に管理画面から設定できるようにする場合
- WordPress標準の「設定」メニューの中に統合したいとき
参考 : add_options_page() – Function | Developer.WordPress.org
(2) add_menu_page()
何をする関数?: WordPress管理画面の左メニューに「独自のトップメニュー」を追加します。
add_menu_page(
'ページタイトル',
'メニュー名',
'manage_options',
'my-top-menu-slug',
'my_top_menu_page_callback',
'dashicons-admin-generic', // アイコン
60 // 表示位置
);
(3) add_submenu_page()
何をする関数?: 既存のメニュー(または add_menu_page()
で作成した親メニュー)のサブメニューを追加します。
add_submenu_page(
'my-plugin-main', // 親メニュースラッグ
'設定ページ',
'設定',
'manage_options',
'my-plugin-settings',
'my_plugin_settings_page'
);
参考 : add_submenu_page() – Function | Developer.WordPress.org
🧠 add_menu_page()
/ add_submenu_page()
/ add_options_page()
の違い
関数名 | 追加場所 | 見た目 | 用途 |
---|---|---|---|
add_menu_page() | 左サイドの最上位メニュー | アイコン付きのトップレベル | 独自管理UIを一式作るとき |
add_submenu_page() | 任意のトップメニュー下 | 階層化されたメニュー項目 | 複数ページをまとめるとき |
add_options_page() | 「設定」メニューの中 | 軽量でWordPressに溶け込む | 単一の設定ページなどに便利 |
8. フック(処理の追加・上書き) 🔁
何をする関数?: WordPressが処理の途中で呼び出す**フック(Hook)**に、自分の関数を割り込ませるための関数です。
(1) add_action()
「通知を受け取って、なにか実行したい」場合に使う。
add_action( 'init', 'my_custom_init' );
function my_custom_init() {
// 投稿タイプ登録や処理の初期化など
}
✅ 使いどころ例
- カスタム投稿タイプの登録(
init
) - 管理画面のメニュー追加(
admin_menu
) - 投稿保存後の処理(
save_post
)など
(2) add_filter()
「処理されるデータを変更したい」場合に使う。
add_filter( 'the_content', 'my_custom_content_filter' );
function my_custom_content_filter( $content ) {
return $content . '<p>記事の最後に追加!</p>';
}
✅ 使いどころ例
- 投稿本文の加工(
the_content
) - タイトルや抜粋の変更
- フォーム出力内容やHTMLクラス名の追加 など
✍️ フックの基本構造
どちらも以下の構文で使えます
add_action( 'フック名', 'コールバック関数名', 優先度, 引数の数 );
add_filter( 'フィルタ名', 'コールバック関数名', 優先度, 引数の数 );
- 優先度(省略可):数字が小さいほど先に実行(デフォルトは 10)
- 引数の数:関数が受け取るパラメータの数を明示(省略可)
🎯 違いまとめ
項目 | add_action() | add_filter() |
---|---|---|
目的 | 動作を追加する | データを加工する |
戻り値 | 無視される | 戻り値が次に渡る |
例 | メニュー追加、CSS出力など | コンテンツ改変、出力の上書き |
11. メディア情報の取得 🖼️
(1) wp_get_attachment_url()
何をする関数?: 指定したメディアID(画像など)に対応するファイルのURLを取得します。
$image_url = wp_get_attachment_url( $attachment_id );
使いどころ
- メディアライブラリに登録された画像やPDFのURLが欲しいとき
<img>
タグを自作で書くときなど
参考 : wp_get_attachment_url() – Function | Developer.WordPress.org
(2) wp_get_attachment_image()
何をする関数?: 指定したメディアIDから、サイズ指定込みの<img>
タグを生成してくれます。
echo wp_get_attachment_image( $attachment_id, 'medium' );
使いどころ
- サイズ指定や
srcset
対応も含めて、安全&最適な画像出力がしたいとき - サムネイル・ギャラリー表示などに便利
参考 : wp_get_attachment_url() – Function | Developer.WordPress.org
🧪サンプルコード(alt属性つき)
echo wp_get_attachment_image(
$attachment_id,
'medium',
false,
[ 'alt' => '商品画像' ]
);
(3) wp_get_attachment_image_src()
何をする関数?: 指定したメディアIDから、画像のURL・幅・高さ・存在チェックをまとめて取得できます。
$image_data = wp_get_attachment_image_src( $attachment_id, 'medium' );
使いどころ
<img>
タグを自分で組み立てたいとき- サイズ付きの画像URLだけを使いたいとき(背景画像やJS処理など)
参考 : wp_get_attachment_image_src() – Function | Developer.WordPress.org
(4) wp_get_attachment_metadata()
何をする関数?: 指定した画像のメタ情報(幅・高さ・ファイル名・サムネイルサイズなど)を配列で取得します。
$metadata = wp_get_attachment_metadata( $attachment_id );
使いどころ
- 画像の幅・高さ・保存パスなどを取得して使いたいとき
- 複数のサムネイルサイズが生成されているかを確認したいとき
- 独自処理で画像サイズを振り分けたいとき(例:カスタムギャラリー)
参考 : wp_get_attachment_metadata() – Function | Developer.WordPress.org
📌 類似関数との違いまとめ
関数名 | 取得できるもの | 出力形式 | 特徴 |
---|---|---|---|
wp_get_attachment_url() | URLのみ | 文字列 | ファイルURLだけ欲しいときに |
wp_get_attachment_image() | <img> タグ | HTMLタグ | 手軽に表示。サイズ指定やsrcset 対応も自動 |
wp_get_attachment_image_src() | URL・幅・高さなど | 配列 | HTMLを自作したいときに便利 |
wp_get_attachment_metadata() | サイズごとの情報やメタ情報 | 配列 | 複数サイズの管理や詳細な処理に便利 |