目次

WordPressの投稿をMarkdownで書く方法

1. Parsedown for WordPress プラグインを導入

導入手順

  1. WordPressの管理画面から「プラグイン > 新規追加」へ
  2. 「Parsedown for WordPress」で検索し、インストール → 有効化
  3. これで投稿本文にMarkdownが使えるようになります

注意点

  1. 投稿本文以外にも影響を及ぼす場合があります(例:コメント欄など)
  2. 特に <pre> タグを使って表示していた箇所が Markdown で再解釈され、崩れることがあるため注意が必要です

2. コメント表示に `<pre>` を適用する方法(表示崩れ対策)

問題点:
Parsedownが有効だと、読者コメントの内容もMarkdownとして処理され、整形された解答文(本来 <pre> で囲いたい部分)が崩れることがある

解決策:
WordPressの functions.php に以下のフィルターフックを追加します:

function disable_parsedown_in_comments($content) {
  if (is_admin()) return $content; // 管理画面ではそのまま
  if (is_singular() && in_the_loop()) {
    // コメント本文の場合はエスケープしたまま出力
    return '<pre>' . esc_html($content) . '</pre>';
  }
  return $content;
}
add_filter('comment_text', 'disable_parsedown_in_comments', 99);

これにより、コメントの内容は <pre> タグ付きで表示され、Markdown解析されず、元通り整った表示になります。


3. コメントテンプレートに手を加えた場合(確認ポイント)

コメントを表示する comments.php が以下のような構成になっている場合:

<?php
  wp_list_comments( array(
    'style'       => 'ol',
    'short_ping'  => true,
    'avatar_size' => 42,
  ) );
?>

この出力は comment_text() を経由しているので、先ほどの comment_text フィルターが有効になります。 よって、comments.php 側を直接修正する必要は基本的にありません。


補足