• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「WordPress の投稿データ処理」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(見出し項目とリンクのみ日本語版に合わせた。)
(和訳しました。)
1行目: 1行目:
WordPress processes text entered in the [[管理画面#Posts|投稿編集サブパネル]]/[[:en:Administration_Panels#Posts|en]] multiple times before the text is finally displayed on a web page within your WordPress blog.  The processing of the text filters out the unwanted code and conforms the text to a form that the browser can interpret. Without attention to detail and familiarity with WordPress's post content filtering, this can cause unwanted changes.
+
{{CheckTrans}}
  
The majority of the conversion and filters are found in the {{Trac|wp-includes/formatting.php}} file.
+
WordPress は、[[管理画面#Posts|投稿編集サブパネル]]/[[:en:Administration_Panels#Posts|en]] へ入力されたテキストを何回か処理してから、最終的に WordPress ブログの Web ページに表示します。このテキスト処理は望まれないコードを消すとともに、ブラウザーが解釈できる形式に合わせます。WordPress の投稿コンテンツのフィルタリングの詳細に注意を払わなかったり知らなかったりすると、この処理はあなたが望まない変更をすることがあります。
  
Some typical problems some users have with these filtering and processing functions are:
+
変換とフィルターの大部分は {{Trac|wp-includes/formatting.php}} の中で見られます。
  
# Empty paragraphs, closing span tags, and line break (BR) elements are removed upon saving.
+
これらのフィルタリングと処理について一部のユーザーが経験する典型的な問題のいくつかは:
# Classes are removed from elements.
+
# DIV elements are converted to P elements.
+
# Javascripts and code are converted to displayable code rather than actionable code. See [[Using Javascript]]/[[:en:Using Javascript|en]] for information on how to incorporate Javascript into a blog post.
+
  
The following is step-by-step list of how WordPress processes post content text before the final version is displayed.
+
# 保存すると、空の段落(P)、閉じる span タグ、改行(BR)要素が削除される。
 +
# 要素からクラスが削除される。
 +
# DIV 要素が P 要素へ変換される。
 +
# Javascript とコードが、実行可能なコードではなく表示可能なコードへ変換される。Javascript をブログ投稿へ組み込む方法については [[Using Javascript]]/[[:en:Using Javascript|en]] を見てください。
 +
 
 +
ここからは、WordPress が最終版を表示する前に投稿コンテンツのテキストをどのように処理するかを表した、ステップバイステップのリストです。
  
 
<div id="TinyMCE">
 
<div id="TinyMCE">
16行目: 18行目:
 
</div>
 
</div>
  
[[TinyMCE]]/[[:en:TinyMCE|en]] is the editor used by WordPress, known as the Rich Text Editor. Not all WordPress bloggers use it, but if you do, it will change various codes upon saving an entry to prepare it for publishing.
+
[[TinyMCE]]/[[:en:TinyMCE|en]] WordPress で使われているエディターで、リッチテキストエディターとして知られています。WordPress ブロガーの全員が使うわけではありませんが、使った場合、保存するときにいろいろなコードを変換して投稿エントリーの公開に備えます。
  
 
<div id="wpautop.28.29_WordPress_Function">
 
<div id="wpautop.28.29_WordPress_Function">
22行目: 24行目:
 
</div>
 
</div>
  
[[関数リファレンス/wpautop|<code>wpautop()</code>]] is a core WordPress [[Function_Reference|関数]] that automatically processes, fixes, and modifies the text of a post.
+
[[関数リファレンス/wpautop|<tt>wpautop()</tt>]] WordPress のコア[[Function_Reference|関数]]で、投稿のテキストを自動的に処理し、修正し、変更します。
  
It puts in line breaks, paragraph tags, opens and closes tags that aren't opened and closed, and cleans up duplicate HTML tags.
+
これは改行と段落タグを入れ、開いて(閉じて)いないタグを正しく開き(閉じ)、重複した HTML タグを消去します。
  
 
<div id="Texturize">
 
<div id="Texturize">
== Texturize ==
+
== テクスチャライズ ==
 
</div>
 
</div>
  
Texturize ([[関数リファレンス/wptexturize|wptexturize()]]/[[:en:Function_Reference/wptexturize|en]]) is a text filter enabled by default that modifies posted text or comments to present a more readable and visually attractive output.
+
テクスチャライズ([[関数リファレンス/wptexturize|wptexturize()]] 関数)はデフォルトで有効なテキスト用フィルターで、投稿されたテキストやコメントを読みやすく魅力的な表示となるように変更します。
  
While it creates aesthetically pleasant text, it might create difficulties when posting code examples in a programming language. In such situations modification of the text is not desirable because it might create syntactically incorrect code.
+
これは美しく気持ちいいテキストを作る一方で、プログラミング言語のコード例を投稿するときに困ったことになるかもしれません。そのような場合、文法的に間違ったコードを作りかねないので、テキストの変更は望ましくありません。
  
A few examples include:
+
幾つか例を示します:
  
 
<pre>
 
<pre>
"quoted text" becomes &#8220;quoted text&#8221;
+
"quoted text" ⇒  &#8220;quoted text&#8221;
'quoted text' becomes &#8216;quoted text&#8217;
+
'quoted text' ⇒  &#8216;quoted text&#8217;
           --- becomes &#8212;
+
           --- ⇒  &#8212;
           -- becomes &#8211;
+
           -- ⇒  &#8211;
           ... becomes &#8230;
+
           ... ⇒  &#8230;
           (c) becomes &#169;
+
           (c) ⇒  &#169;
           (r) becomes &#174;
+
           (r) ⇒  &#174;
         (tm) becomes &#8482;
+
         (tm) ⇒  &#8482;
           '' becomes &#8221;
+
           '' ⇒  &#8221;
           `` becomes &#8220;
+
           `` ⇒  &#8220;
   president's becomes president&#8217;s
+
   president's ⇒  president&#8217;s
   presidents' becomes presidents&#8217;
+
   presidents' ⇒  presidents&#8217;
           12' becomes 12&prime;
+
           12' ⇒  12&prime;
           12" becomes 12&Prime;
+
           12" ⇒  12&Prime;
           2x4 becomes 2&#215;4
+
           2x4 ⇒  2&#215;4
 
</pre>
 
</pre>
  
58行目: 60行目:
 
</div>
 
</div>
  
The <code>convert_smilies()</code> function converts combinations of characters into [[Using_Smilies|スマイリーやエモーティコン]] within the post, page, and comment text. For example, if smilies are enabled, WordPress will recognize :D and turn it into a smiling face.
+
<tt>[[関数リファレンス/convert_smilies|convert_smilies()]]</tt>/[[:en:Function Reference/convert_smilies|en]] 関数は、投稿や固定ページやコメントテキストの中にある組み合わせ文字を [[Using_Smilies|スマイリーやエモーティコン]] へ変換します。例えば、スマイリーを有効にすると、WordPress は <nowiki>:D</nowiki> を認識して笑顔 ( &#x1F600; ) へ変えます。
  
The key to making smilies work is to put a space before and after the keystroke combination. If placed up against the text, it will not convert.
+
スマイリーを働かせるためには組み合わせ文字の前後にスペースを入れるのが重要です。もし他のテキストにくっつけると、変換されません。
  
If conversion of smilies is not desired, turn it off through the '''Settings > Writing''' panel.
+
もしスマイリーの変換が不要なら、'''設定 > 投稿設定''' パネルで無効にしてください。
  
 
<div id="Convert_Characters">
 
<div id="Convert_Characters">
68行目: 70行目:
 
</div>
 
</div>
  
The <code>formatting.php</code> code file contains numerous functions which help publish character entities, accents, and non-English characters to a form recognizable by the web browser.
+
<tt>formatting.php</tt> コードファイルの中に、文字エンティティーやアクセントや非英語の文字を web ブラウザーが認識できる形式で公開するためのヘルパー関数がたくさんあります。
  
Generally, these work excellently, however, your browser may not recognize various language characters unless that language is activated in your web browser. See your browser's documentation for more information on adding language character recognition to your browser.
+
これらは全般的に素晴らしく働きますが、ある言語が web ブラウザーで有効になっていなければ、ブラウザーはその言語の文字を認識できない場合があります。ある言語の文字をブラウザーに認識させる方法について、詳しくはそのブラウザーのドキュメントを見てください。
  
 
<div id="Methods_to_Prevent_Processing">
 
<div id="Methods_to_Prevent_Processing">
76行目: 78行目:
 
</div>
 
</div>
  
There are a variety of Plugins to change the filtering process WordPress uses by default. It is highly recommended that you do not change the core programming but use WordPress Plugins to change all or some of the content processing. See the [http://wordpress.org/extend/plugins/ WordPress プラグイン ディレクトリ] for various Plugins that change the post content filtering process.
+
WordPress がデフォルトで使うフィルタリング処理を変更するプラグインがいろいろあります。WordPress コアのプログラムを変更せず、コンテンツ処理の全部または一部を変更するプラグインを利用することを強く推奨します。投稿コンテンツのフィルタリング処理を変更するいろいろなプラグインを探すには [http://wordpress.org/extend/plugins/ WordPress プラグイン ディレクトリ] を見てください。
  
 
<div id="More_Information">
 
<div id="More_Information">
82行目: 84行目:
 
</div>
 
</div>
  
* [[Writing_Posts]]
+
* [[Writing_Posts|投稿の作成]]
 
* [http://wordpress.org/support/topic/102799 投稿のフィルタリングに関する WordPress サポートフォーラムの議論(英語)]
 
* [http://wordpress.org/support/topic/102799 投稿のフィルタリングに関する WordPress サポートフォーラムの議論(英語)]
* WordPress Ideas for improving post filtering:
+
* 投稿フィルタリングを改良するアイデア:<!-- WordPress Ideas for improving post filtering: -->
 
** [http://wordpress.org/extend/ideas/topic.php?id=55 Choose a better WYSIWYG editor]
 
** [http://wordpress.org/extend/ideas/topic.php?id=55 Choose a better WYSIWYG editor]
 
** [http://wordpress.org/extend/ideas/topic.php?id=437 Trust me when I edit HTML]
 
** [http://wordpress.org/extend/ideas/topic.php?id=437 Trust me when I edit HTML]
90行目: 92行目:
 
** [http://wordpress.org/extend/ideas/topic.php?id=107 Access to TinyMCE Plugins and Options]
 
** [http://wordpress.org/extend/ideas/topic.php?id=107 Access to TinyMCE Plugins and Options]
  
{{原文|How WordPress Processes Post Content|124921}} <!-- 22:41, 22 December 2012 JeroenTee 版 -->
+
{{原文|How WordPress Processes Post Content|151675}} <!-- 12:38, 17 May 2015 Gblsm 版 -->
  
 +
{{DEFAULTSORT:WordPressのとうこうでーたしょり}}
 
[[Category:WordPress について]]
 
[[Category:WordPress について]]
 
[[Category:上級トピック]]
 
[[Category:上級トピック]]
  
 
[[en:How WordPress Processes Post Content]]
 
[[en:How WordPress Processes Post Content]]

2015年7月5日 (日) 01:05時点における版

この項目「WordPress の投稿データ処理」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

WordPress は、投稿編集サブパネル/en へ入力されたテキストを何回か処理してから、最終的に WordPress ブログの Web ページに表示します。このテキスト処理は望まれないコードを消すとともに、ブラウザーが解釈できる形式に合わせます。WordPress の投稿コンテンツのフィルタリングの詳細に注意を払わなかったり知らなかったりすると、この処理はあなたが望まない変更をすることがあります。

変換とフィルターの大部分は wp-includes/formatting.php の中で見られます。

これらのフィルタリングと処理について一部のユーザーが経験する典型的な問題のいくつかは:

  1. 保存すると、空の段落(P)、閉じる span タグ、改行(BR)要素が削除される。
  2. 要素からクラスが削除される。
  3. DIV 要素が P 要素へ変換される。
  4. Javascript とコードが、実行可能なコードではなく表示可能なコードへ変換される。Javascript をブログ投稿へ組み込む方法については Using Javascript/en を見てください。

ここからは、WordPress が最終版を表示する前に投稿コンテンツのテキストをどのように処理するかを表した、ステップバイステップのリストです。

TinyMCE/en は WordPress で使われているエディターで、リッチテキストエディターとして知られています。WordPress ブロガーの全員が使うわけではありませんが、使った場合、保存するときにいろいろなコードを変換して投稿エントリーの公開に備えます。

wpautop() WordPress 関数

wpautop() は WordPress のコア関数で、投稿のテキストを自動的に処理し、修正し、変更します。

これは改行と段落タグを入れ、開いて(閉じて)いないタグを正しく開き(閉じ)、重複した HTML タグを消去します。

テクスチャライズ

テクスチャライズ(wptexturize() 関数)はデフォルトで有効なテキスト用フィルターで、投稿されたテキストやコメントを読みやすく魅力的な表示となるように変更します。

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

幾つか例を示します:

"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()/en 関数は、投稿や固定ページやコメントテキストの中にある組み合わせ文字を スマイリーやエモーティコン へ変換します。例えば、スマイリーを有効にすると、WordPress は :D を認識して笑顔 ( 😀 ) へ変えます。

スマイリーを働かせるためには組み合わせ文字の前後にスペースを入れるのが重要です。もし他のテキストにくっつけると、変換されません。

もしスマイリーの変換が不要なら、設定 > 投稿設定 パネルで無効にしてください。

文字の変換

formatting.php コードファイルの中に、文字エンティティーやアクセントや非英語の文字を web ブラウザーが認識できる形式で公開するためのヘルパー関数がたくさんあります。

これらは全般的に素晴らしく働きますが、ある言語が web ブラウザーで有効になっていなければ、ブラウザーはその言語の文字を認識できない場合があります。ある言語の文字をブラウザーに認識させる方法について、詳しくはそのブラウザーのドキュメントを見てください。

処理させないための方法

WordPress がデフォルトで使うフィルタリング処理を変更するプラグインがいろいろあります。WordPress コアのプログラムを変更せず、コンテンツ処理の全部または一部を変更するプラグインを利用することを強く推奨します。投稿コンテンツのフィルタリング処理を変更するいろいろなプラグインを探すには WordPress プラグイン ディレクトリ を見てください。

関連情報

最新英語版: WordPress Codex » How WordPress Processes Post Content最新版との差分