2026年5月28日
2026年5月28日
MetaBox(カスタムフィールド)の設定方法
はじめに
MetaBoxはWordPressでカスタムフィールドを作成し、管理するための強力なプラグインです。記事やページなどの投稿タイプに対して独自のデータを追加することができます。
症状・背景
このテーマが必要になる主な場面:
- カスタム投稿タイプに追加情報を付与したい場合
- サイト管理者が自由にカスタムフィールドを管理できるようにしたい場合
- テーマのカスタマイズで既存のフィールドでは不足する機能が必要になった場合
手順・設定方法
ステップ1: MetaBoxプラグインをインストールする
# WordPress管理画面から「プラグイン」→「新規追加」ページを開き、「Meta Box」で検索します。
# 「Meta Box」プラグインを選択し、右下の「インストール」ボタンをクリックしてインストールを行います。
# プラグインがインストールされれば「アクティベート」ボタンを押して有効化してください。
ステップ2: メタボックスを作成する
# wp-content/plugins/meta-box/inc/fieldsディレクトリにあるフィールドの種類から適切なものを選びます。
// ここでは、テキストタイプのメタボックスを作成します。
$meta_boxes[] = array(
'id' => 'post-text-meta',
'title' => 'Post Text Meta Box',
'post_types' => array( 'post', ),
'context' => 'normal',
'priority' => 'high',
'autosave' => true,
'fields' => array(
array(
'name' => 'テキストボックス',
'id' => 'text_box',
'type' => 'text',
'desc' => 'ここにテキストを入力します。',
),
),
);
ステップ3: メタボックスを表示する
# アクションフックを使用してメタボックスを表示します。
add_action( 'admin_head', function() {
if ( ! function_exists( 'get_post_type_object' ) )
return;
$post = get_post();
if ( $post->post_type !== 'post' || ! current_user_can( 'edit_post', $post->ID ) )
return;
// メタボックスを表示します。
do_action( 'rwmb_meta_boxes' );
} );
# これにより、上記で設定したメタボックスが投稿の編集画面に表示されます。
ステップ4: データを取得して使用する
# メタデータはwp_postmetaテーブルに保存されます。以下のようにして読み出します。
$meta_value = rwmb_get_the_value( 'text_box', '', get_the_ID() );
if ( $meta_value ) {
echo '<p>テキストボックスの値:' . esc_html( $meta_value ) . '</p>';
}
注意事項
- データが意図した通りに保存されない場合は、データベースのバックアップを取ってから再試行してください。
- カスタムフィールドは通常の投稿フィールドとは異なるため、セキュリティ上注意が必要です。ユーザーテストや脆弱性スキャンを行うことをおすすめします。
- 過剰なカスタムフィールドはパフォーマンスに悪影響を及ぼす可能性があるため、必要なものだけを作成するようにしましょう。
まとめ
1. MetaBoxのインストール: WordPress管理画面から「プラグイン」→「新規追加」ページでMeta Boxを検索し、インストールと有効化を行います。
2. メタボックスの作成: fields配列にフィールド情報を設定します。種類はテキストだけでなく複数あり、それぞれに対応するパラメータがあります。
3. メタボックスの表示: do_action( 'rwmb_meta_boxes' )を用いて、投稿編集画面でメタボックスを表示させることができます。
4. データの取得と使用: rwmb_get_the_value()関数を使って保存したカスタムフィールドの値を取り出します。これによりテンプレート内で動的に情報を扱うことが可能になります。
関連記事: