WP Githuber MD。一括編集でMarkdown記述がHTMLタグになってしまう。WordPress

目次

症状

WordPressにプラグイン「WP Githuber MD」を導入した状態で投稿の一括編集機能で投稿データを更新すると、Markdown記述した編集用データがHTMLタグに変換されて保存されてしまう。そのため、投稿を編集する際にMarkdown記述の編集用データがHTMLタグに変換された状態になる。

この投稿では、経緯、対処内容、不具合再現手順を紹介します。

経緯

WordPressにてMarkdown記述で投稿を編集するためにプラグイン「WP Githuber MD」を使っています。

ある時、投稿を編集するため編集画面を開いてみるとMarkdown記述したはずの投稿データが全てHTMLタグに置き換わっていました。幸いリビジョンデータが残っており、元のMarkdown記述を復元できました。

リビジョンの更新日時が編集画面で修正した覚えのない日時になっており、理由を探るべく最後に編集したあとにおこなった作業を振り返りました。

原因は、複数投稿のカテゴリーを一括修正するために利用したWordPress標準の投稿の一括編集機能でした。カテゴリーの他、タグ、ステータス、先頭に固定表示などを一括変更できます。

根本的な解決策は今のところなし

プラグインのgithubページにも同様の不具合が投稿されていますが、プラグイン側では未解決状態です(2020/05/21時点)
Bug: Bulk editing posts converts markdown to HTML in post_content_filtered #78
https://github.com/terrylinooo/githuber-md/issues/78

どうしたか

  • 一括編集機能でHTMLタグに変換されてしまったMarkdown記述の編集用データは、リビジョンデータにMarkdown記述のデータが残っていたので、投稿を一つ編集画面で開きデータを復元しました。
  • 今のところ一括編集機能を使わなければ、Markdown記述の編集用データがHTMLタグに変換されてしまうことはありません。今後もWP Githuber MDでMarkdown記述で編集したいので、投稿の一括編集機能は使わないことにします。
  • 投稿のカテゴリー一括変更をする際にはプラグイン「Batch Cat」を使います。
    バージョン: 0.3
    作成者: Lenin Lee
    URL https://ja.wordpress.org/plugins/batch-cat/

影響のない機能

  • 複数投稿の文字列一括置換をするプラグイン「Search & Replace」
    作者: Inpsyde GmbH

  • クイック編集ではHTMLタグに変換されずに済んだ
    管理画面->投稿->投稿一覧
    各投稿のクイック編集でカテゴリー更新

他の手段:JetpackのMarkdown機能を使う

JetpackのMarkdownでは投稿の一括編集機能を使ってもMarkdownデータに影響はありませんでした。
複数人で編集していて投稿の一括編集機能の不使用を徹底出来ない場合や、うっかり忘れて自分で使ってしまうなどがありそうな場合は「WP Githuber MD」の使用はやめて、おとなしくJetpackのMarkdownにした方が安全です。
「WP Githuber MD」のプレビュー機能は捨てがたいのですが。

環境

「WP Githuber MD」 の投稿編集データはテーブルwp_postsのフィールドpost_content_filteredに格納されている。

Markdown記述した編集用データはデーターベースのテーブル「wp_posts」のフィールド「post_content_filtered」に保存される。
それをHTMLタグに自動変換した画面表示用データはフィールと「post_content」に保存される。

テーブル wp_posts

フィールド名 用途
post_content 画面表示用データ
post_content_filtered 編集用データ

不具合再現手順

検証用にMarkdown記述したテスト用の投稿を作成しておく

HTMLタグに変換されてしまう手順

管理画面->投稿->投稿一覧
投稿にチェックマークを付けて、一括操作ブルダウンにて編集を選択->適用

投稿の一括編集画面で更新する
(各項目を何も編集していなくとも同様)

投稿を通常の編集で開くとHTMLタグに変換されている

以上

広告

おすすめの書籍

広告
デル株式会社