Title: WordPress の投稿データ処理
Author: Dion Hulse
Published: 2019年2月25日
Last modified: 2020年11月19日

---

## カテゴリー

 * [はじめに](https://ja.wordpress.org/support/category/getting-started/)
 * [インストール](https://ja.wordpress.org/support/category/installation/)
 * [基本的な使い方](https://ja.wordpress.org/support/category/basic-usage/)
 * [基本的な管理](https://ja.wordpress.org/support/category/basic-administration/)
 * [カスタマイズ](https://ja.wordpress.org/support/category/customizing/)
 * [メンテナンス](https://ja.wordpress.org/support/category/maintenance/)
 * [セキュリティ](https://ja.wordpress.org/support/category/security/)
 * [高度なトピック](https://ja.wordpress.org/support/category/advanced-topics/)
 * [トラブルシューティング](https://ja.wordpress.org/support/category/troubleshooting/)

## 翻訳・改善にご協力ください

 ドキュメンテーションを現在[英語版](https://wordpress.org/support/)から翻訳中です。
どなたでも[ご協力いただけます](https://ja.wordpress.org/team/2019/08/06/359/)。

 誤字や間違った情報にお気づきの方は、各記事の下にあるフィードバックセクションから
お知らせください。

# WordPress の投稿データ処理

WordPress は、[投稿編集](https://ja.wordpress.org/support/article/administration-screens/?output_format=md#add-new-post)
画面へ入力されたテキストを何回か処理してから、最終的に WordPress ブログの Web ページ
に表示します。このテキスト処理は不要なコードを取り除き、テキストをブラウザーが解釈
できる形式に調整します。WordPress の投稿コンテンツのフィルタリングの詳細について
注意を払わなかったりよく知らなかったりすると、この処理によって望まない変更が起きる
ことがあります。

変換とフィルターの大部分は `[wp-includes/formatting.php](https://core.trac.wordpress.org/browser/tags/5.2.4/src/wp-includes/formatting.php)`
の中にあります。

これらのフィルタリングと処理について一部のユーザーが経験する典型的な問題には、例えば
以下のようなものがあります。

 1. 保存した際に空の段落 (P)、閉じ span タグ、改行 (BR) 要素が削除される。
 2. 要素から class が削除される。
 3. DIV 要素が P 要素へ変換される。
 4. JavaScript とコードが、実行可能なコードではなく表示可能なコードへ変換される。JavaScript
    をブログ投稿へ組み込む方法については [Using Javascript](https://codex.wordpress.org/Using_Javascript)
    をご覧ください。

この先は、WordPress が最終版を表示する前に投稿コンテンツのテキストをどのように処理
するかを示した、段階的なリストです。

## ビジュアルエディター

WordPress ブロガーの全員がビジュアルエディターを使うわけではありませんが、使った
場合、保存する際に様々なコードを変換して投稿エントリーの公開に備えます。

## wpautop() WordPress 関数

[wpautop()](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wpautop)
は WordPress のコア[関数](https://wpdocs.osdn.jp/Function_Reference)で、投稿のテキスト
を自動的に処理し、修正し、変更します。

改行や段落タグを挿入し、 開き閉じが対になっていないタグ を修正し、重複した HTML 
タグを消去します。

## テクスチャライズ

テクスチャライズ ([wptexturize()](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wptexturize)
関数) はデフォルトで有効化されているテキスト用フィルターで、投稿されたテキストや
コメントが読みやすく美しい表示になるように変更します。

これによって見た目が美しいテキストを表示できるようになる一方で、プログラミング言語
のコード例を投稿するときに困ったことになるかもしれません。そのような場合、文法的
に間違ったコードを作りかねないので、テキストの変更は望ましくありません。

例は以下のとおりです。

    ```wp-block-preformatted
    "quoted text" → “quoted text”
    'quoted text' → ‘quoted text’
              --- → —
               -- → –
              ... → …
              (c) → ©
              (r) → ®
             (tm) → ™
               '' → ”
               `` → “
      president's → president’s
      presidents' → presidents’
              12' → 12′
              12" → 12″
              2x4 → 2×4
    ```

## スマイリーの変換

`convert_smilies()` 関数は、投稿・固定ページ・コメント文の中にある組み合わせ文字
を[スマイリーや絵文字](https://ja.wordpress.org/support/article/using-smilies/?output_format=md)
へ変換します。例えば、スマイリー機能が有効になっていると、WordPress は「:」と「D」
の組み合わせ (:D) を認識して笑顔の絵文字 ( 😀 ) へ変換します。

スマイリーを動作させるには組み合わせ文字の前後に半角スペースを入れるのが重要です。
他のテキストとくっついている場合は変換されません。

もしスマイリーの変換が不要なら、「**設定 → 投稿設定**」で無効化してください。

## 文字の変換

`formatting.php` コードファイルの中には、文字実体参照・アクセント・英語以外の文字
をブラウザーが認識できる形式で公開するためのヘルパー関数が数多く含まれています。

一般的にはこれらは非常によく操作しますが、ある言語がブラウザーで有効になっていない
際に、ブラウザーがその言語の文字を認識できない場合があります。追加言語の文字をブラウザー
に認識させる方法についての詳細は、ブラウザーのドキュメントをご覧ください。

## 処理を防ぐ方法

WordPress がデフォルトで使うフィルタリング処理を変更するプラグインが色々とあります。
WordPress コアのプログラムを変更せず、コンテンツ処理の全部または一部を変更するプラグ
インを利用することを強く推奨します。投稿コンテンツのフィルタリング処理を変更する
プラグインを探すには [WordPress プラグイン ディレクトリ](https://ja.wordpress.org/plugins/?output_format=md)
をご覧ください。

## この記事は役に立ちましたか ? どうすればさらに改善できますか ?

フィードバックを送信するには[ログイン](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fja.wordpress.org%2Fsupport%2Farticle%2Fhow-wordpress-processes-post-content%2F&locale=ja)
する必要があります。