WordPressの投稿画面にカスタム説明欄を追加する方法

WordPressの投稿画面にカスタム説明欄を追加する方法を紹介

執筆者:

カテゴリ:

WordPressで記事を作成する際、タイトルや本文に加えて「説明欄(description)」を個別に設定できると、SEO対策やSNSシェア時の見え方に大きな違いが出ます。特にGoogle検索のスニペットやX(旧Twitter)などのOGPにおいて、的確な説明文が表示されることで、クリック率や信頼性の向上にもつながります。この記事では、投稿画面にカスタム説明欄を追加する方法を、functions.phpに追記する具体的なコード付きで解説します。プラグインを使わずにテーマ内で完結させたい方にとって、柔軟で管理しやすいカスタマイズ手法として役立ちます。

カスタム説明欄の追加は「functions.php」だけで実現できる

WordPressでは、投稿画面に独自の入力フィールドを追加することが可能です。プラグインを使わず、functions.phpへの数行の記述だけで実装できるため、不要な拡張を避けたい方にも最適です。

管理画面に表示するフィールドは「カスタムメタボックス」と呼ばれます。これは投稿画面の「タイトル下」「公開設定エリア下」などに配置でき、データはpost_metaとして保存されます。

コードの導入に関するご注意
この記事では、カスタマイズに利用できるサンプルコードを紹介していますが、使用・編集することで レイアウトが崩れる表示が乱れる意図した動作をしなくなる、あるいは サイト全体が表示されなくなる などの不具合が発生する可能性があります。必ず 事前にバックアップを取り、自己責任にてご利用ください。

基本のコード(functions.phpに追記)

以下のコードをテーマのfunctions.phpに追加します。

// 投稿画面に説明欄を追加
function wedok_add_description_meta_box() {
  add_meta_box(
    'wedok_description',
    '投稿メモ(内部用)',
    'wedok_description_meta_box_callback',
    'post',
    'normal',
    'high'
  );
}
add_action('add_meta_boxes', 'wedok_add_description_meta_box');

function wedok_description_meta_box_callback($post) {
  $value = get_post_meta($post->ID, '_wedok_description', true);
  echo '<textarea style="width:100%;height:100px;" name="wedok_description">' . esc_textarea($value) . '</textarea>';
}

function wedok_save_description_meta_box($post_id) {
  if (array_key_exists('wedok_description', $_POST)) {
    update_post_meta($post_id, '_wedok_description', sanitize_text_field($_POST['wedok_description']));
  }
}
add_action('save_post', 'wedok_save_description_meta_box');

このコードを反映すると、投稿画面の本文エリア下に「投稿メモ(内部用)」というテキストエリアが追加されます。

活用シーンと運用時の注意点

このカスタム説明欄は、公開ページには一切表示されません。あくまで管理用メモや編集履歴補足、SEOチェックリストの一時保存などに活用できます。

運用上のおすすめ活用例

  • 外部ライターとやりとりする際の指示メモ
  • 公開前のチェックリスト(画像有無、リンク確認など)
  • 将来的に再編集予定のポイントの記録

ただし、テーマ切り替えやfunctions.phpの競合で表示されなくなるリスクもあるため、バックアップやテーマ子テーマでの編集が前提となります。

免責事項
設定変更・作業・インストール方法などの紹介記事はあくまで参考情報です。読者が記事をもとに実行したことによるいかなる損害・不具合についてもウィドックでは一切責任を負いません。すべて自己責任で行ってください。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です