[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 あたりに設定が書き込まれそう。

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

チェックの外れているエントリと正常なものを比較してみる。
* 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

“`sql: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:
:

### 問題のエントリの例
```sql: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

“`sql: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_postmeta` の `meta_key: _sd_is_markdown` の `meta_value:` に何が入っているのか調査する。
```sql
> select distinct meta_value from wp_postmeta where meta_key = '_sd_is_markdown';
+------------+
| meta_value |
+------------+
|            |
| 1          |
+------------+

解決策

wp_postmetameta_key: _sd_is_markdownmeta_value: に、適切な値を入れる。
* '' (チェック有)
* 1 (チェック無)