WordPressのカスタムフィールドでメモを残したい

カスタムフィールドを使う
記事にその記事特有のメモを残しておきたいことがあります。メモを残してくれるプラグインもありますが、ここではカスタムフィールドを使う方法を紹介します。
WordPressのカスタムフィールドにメモを残す方法はいくつかあります。
1. デフォルトのカスタムフィールド機能を使う
最も基本的な方法は、WordPressに標準で備わっているカスタムフィールド機能を使うことです。
- 投稿または固定ページの編集画面を開きます。
- 画面右上の「オプション」または「設定」ボタン(歯車アイコン⚙️)をクリックし、「カスタムフィールド」を有効にします。
- エディターの下部に「カスタムフィールド」セクションが表示されるので、「新規追加」をクリックします。
- 「名前」に任意のキー名(例:
memo、note)を、「値」に残したいメモの内容を入力します。 - 投稿を更新または公開します。
この方法の利点は、プラグインを使わずに手軽に使えることです。ただし、毎回手動でフィールドを追加する必要があり、少し手間がかかります。
2. プラグインを使う
より効率的で使いやすいメモ機能が必要な場合は、カスタムフィールド用のプラグインを使うのが一般的です。
- Advanced Custom Fields (ACF) 最も有名なカスタムフィールドプラグインです。直感的なインターフェースで、様々な種類のフィールド(テキスト、画像、日付など)を簡単に作成できます。メモ用のテキストフィールドを作成して、特定の投稿タイプに表示させることができます。
- Custom Post Type UI (CPT UI) カスタム投稿タイプとカスタムタクソノミーを作成するためのプラグインですが、ACFと組み合わせて使うことで、より構造的なメモ機能を構築できます。
これらのプラグインを使えば、一度設定すればメモ用のフィールドが自動的に表示されるので、管理がとても楽になります。
3. テーマのfunctions.phpを編集する(上級者向け)
もしプラグインを使いたくない場合や、特定のテーマに組み込みたい場合は、テーマのfunctions.phpファイルにコードを記述して、カスタムメタボックスを作成する方法もあります。
これはPHPの知識が必要になりますが、以下のようなコードを追加することで、独自のメモ欄をエディターに表示させることができます。
PHP
function add_memo_meta_box() {
add_meta_box(
'memo_meta_box', // メタボックスのID
'メモ', // タイトル
'display_memo_meta_box', // 表示する関数
'post', // 表示する投稿タイプ
'normal', // 表示位置
'high' // 優先度
);
}
add_action( 'add_meta_boxes', 'add_memo_meta_box' );
function display_memo_meta_box( $post ) {
$memo = get_post_meta( $post->ID, '_memo_key', true );
wp_nonce_field( 'save_memo_data', 'memo_nonce' );
echo '<textarea name="memo_field" rows="4" style="width:100%;">' . esc_textarea( $memo ) . '</textarea>';
}
function save_memo_meta_data( $post_id ) {
if ( ! isset( $_POST['memo_nonce'] ) || ! wp_verify_nonce( $_POST['memo_nonce'], 'save_memo_data' ) ) {
return;
}
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return;
}
if ( isset( $_POST['memo_field'] ) ) {
update_post_meta( $post_id, '_memo_key', sanitize_textarea_field( $_POST['memo_field'] ) );
}
}
add_action( 'save_post', 'save_memo_meta_data' );
Code language: PHP (php)
この方法では、既存のテーマファイルを直接編集するため、テーマのアップデート時に変更が上書きされないように注意が必要です。子テーマのfunctions.phpに記述するのが良いでしょう。
まとめ
- 手軽に試したい: デフォルトのカスタムフィールド機能がおすすめです。
- 効率的に使いたい: Advanced Custom Fields (ACF) のようなプラグインを使うのが最も簡単で便利です。
- 開発者向け: テーマに直接組み込みたい場合は、
functions.phpを編集してカスタムメタボックスを作成します。
ご自身の目的に合わせて、最適な方法を選んでみてください。
※メタボックスとは、投稿や固定ページなどの編集画面に追加できるカスタマイズ可能なセクションのことです。これにより、標準の編集画面にはない、特定の投稿タイプに関連する追加情報を入力・表示することができます


