[WP Plugin] MySQL を使って、Markdown on Save Improved の設定状態を確認する(1)

意図しない状態になっているエントリがあるため、これを修正したい。
MySQL を使って、これを洗い出す。

間違いなどありましたら、ぜひコメント下さい。

状況

問題点

投稿画面での markdown-on-save-improved の設定。
以下の「 Disable Markdown formatting」チェックが外れ、意図しない表示がされている投稿が存在する。

Markdown 2013-09-18 16-12-34

チェックがあると、投稿記事の Markdown 変換が行われなくなる。

分類

3つのエントリータイプが混在しているはずで、それぞれ以下の状態であるべき。

default

チェック有。プラグインなしのHTMLエントリー。

markdown-on-save-improved (以下、osi)

チェック無。Markdown。

GitHub Flavored Markdown for WordPress (以下、gfm)

チェック有。Markdown。“ タグが content に含まれている。

  • チェック有 – default, gfm
  • チェック無 – osi

markdown-on-save-improved の調査

wp_posts, wp_postmeta あたりに設定が書き込まれそう。

post_content_filtered, sd_foo あたりがキーワードっぽい。

問題のあるエントリーを比較する

チェックの外れているエントリと正常なものを比較してみる。

  • ID, post_id で紐付いている。
  • wp_postspost_type = 'post' and post_status = 'publish' and post_content が公開されているエントリ。
  • wp_postspost_content にコンテンツが入っている。
  • wp_postmetameta_key: _sd_is_markdownmeta_value: にチェック値が入っているよう。
    • meta_value: の値は、''(チェック有) or 1(チェック無)。

正常なエントリの例

wp_posts
*************************** 1. row ***************************
                   ID: 4961
          post_author: 4
            post_date: 2013-10-30 17:57:35
        post_date_gmt: 2013-10-30 08:57:35
         post_content: ミニマムにプロジェクトをはじめる手順をまとめます。
<!--more-->

    :
           post_title: Compass: プロジェクトのはじめかた
         post_excerpt:
          post_status: publish
       comment_status: open
          ping_status: open
        post_password:
            post_name: compass-%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%ae%e3%81%af%e3%81%98%e3%82%81%e3%81%8b%e3%81%9f
              to_ping:
               pinged:
        post_modified: 2013-11-12 17:32:17
    post_modified_gmt: 2013-11-12 08:32:17
post_content_filtered:
          post_parent: 0
                 guid: https://www.d-wood.com/?p=4961
           menu_order: 0
            post_type: post
       post_mime_type:
        comment_count: 0
wp_postmeta
> select * from wp_postmeta where post_id = 4961 \G
    :
*************************** 3. row ***************************
   meta_id: 23716
   post_id: 4961
  meta_key: _sd_is_markdown
meta_value:
    :

問題のエントリの例

wp_posts
> select * from wp_posts where post_type = 'post' and post_status = 'publish' and post_content like '%slice%' \G
*************************** 1. row ***************************
                   ID: 5100
          post_author: 4
            post_date: 2013-12-10 19:00:38
        post_date_gmt: 2013-12-10 10:00:38
         post_content: <p>Fireworks がなくなってしまうので、やってみました。
<!--more-->
</p>
    :
           post_title: Photoshop で画像を slice する方法
         post_excerpt:
          post_status: publish
       comment_status: open
          ping_status: open
        post_password:
            post_name: photoshop-%e3%81%a7%e7%94%bb%e5%83%8f%e3%82%92-slice-%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95
              to_ping:
               pinged: http://photoshopvip.net/archives/38051
http://brdr.jp/blog/2013/09/psd-layer-order-for-coding/
        post_modified: 2013-12-26 23:19:44
    post_modified_gmt: 2013-12-26 14:19:44
post_content_filtered: Fireworks がなくなってしまうので、やってみました。
<!--more-->

    :
          post_parent: 0
                 guid: https://www.d-wood.com/?p=5100
           menu_order: 0
            post_type: post
       post_mime_type:
        comment_count: 0
wp_postmeta
> select * from wp_postmeta where post_id = 5100 \G
    :
*************************** 3. row ***************************
   meta_id: 32363
   post_id: 5100
  meta_key: _sd_is_markdown
meta_value: 1
    :

meta_value の値を調べる

wp_postmetameta_key: _sd_is_markdownmeta_value: に何が入っているのか調査する。

> select distinct meta_value from wp_postmeta where meta_key = '_sd_is_markdown';
+------------+
| meta_value |
+------------+
|            |
| 1          |
+------------+

解決策

wp_postmetameta_key: _sd_is_markdownmeta_value: に、適切な値を入れる。

  • '' (チェック有)
  • 1 (チェック無)