回答:
修正、テーマはXHTML 1.1およびCSS 2.1に引き続き準拠していましたが、追加したプラグインは準拠していない追加のコードを挿入しました。
残念ながら、プラグインを使用している場合、コンプライアンスを維持する簡単な方法はありません。最善の方法は、テーマと個人的に担当するすべてのマークアップを検証し、他の開発者が自分の作業を検証するために時間をかけたことを期待することです。
代替は、あなたの部分に多くの仕事である-あなたはまだプラグインのコア機能を使用できますが、出力に許可していない任意のブラウザにマークアップを。プラグインが触れるすべてのフックを解除する独自のカスタムレイヤーを追加し、独自の出力バッファーを構築します。これは、ブラウザーに送信されるマークアップのスタイルを制御する唯一の方法です。
いくつかのプラグインがHTML 5を使用し始めています...他のプラグインはCSS3を使用しようとしています。これらのプラグインをインストールし、それらの出力をサニタイズおよび検証する手順を実行しない場合、サイトは適切に検証されなくなります。
各プラグインは、生成したいコードを生成しますが、その一部はXHTML 1.1に準拠していません。それを修正する唯一の合理的な方法は、それぞれを監査し、違反者を修正するか、開発者に修正を修正させるか、修正をパッチとして使用させることです。
代わりに、フィルターを作成してクリーンアップすることもできますが、すべての特殊なケースをキャッチしようとすると、私個人の悪夢のようなものになり、パフォーマンスに影響して不審なメリットが発生します。
これを望んでいるクライアント/ボスはいますか、それとも単に「持っているのがいい」と想定されているものですか?(はい、強く感じる人もいますが、私はそうではありません。)
とはいえ、XHTMLはWebでの「公平な子」のステータスを失っています。Tim Berners-Leeで さえ2006年にそう言った。
いくつかの事柄は、数年後を経てより明確になります。HTMLを段階的に進化させる必要があります。空のタグと名前空間の属性値とスラッシュを引用符で囲むなど、世界をXMLに切り替えようとしても、一度にうまくいきませんでした。HTMLを生成する大規模なパブリックは移動しませんでした。これは主に、ブラウザが文句を言わなかったためです。一部の大規模なコミュニティはシフトし、適切なシステムの成果を享受していますが、すべてではありません。HTMLを段階的に維持し、整形式の世界への移行を継続し、その世界でより多くの力を開発することが重要です。
また、HTML5はXHTML 1.0よりもはるかに簡単に読むことができます。StackOverflowで終了します。以下がその概要です。
構文的には、HTML5を使用すると、常に標準モードが呼び出される、よりクリーンで読みやすいマークアップになります。XHTML 1.0(text / htmlとして提供される)を使用する場合、ブラウザーが自動的に実行する一連のクラッドを指定します(くだらないdtdに対して検証するため)。
標準への準拠は、Webサイトがすべてのブラウザーで機能することを保証するものではありません。標準への準拠を無視し、できるだけ多くのブラウザーでのテストに焦点を当てます。
サイトの出力全体をバッファリングし、準拠したHTMLに整理できます。それの一番の利点は、これを完全に自動化できることです。
テーマの初期化または関連するフック(* setup_theme *フックなど)で出力バッファリングを有効にできます。
2つのコードフラグメントを次に示します。最初のものは、出力バッファリングを開始し、後でバッファを読み取ることを示しています。
<?php
ob_start();
?>
…
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>
2つ目は、いくつかの構成オプションの動作を示しています。
/* Tiny Configuration */
$config["clean"] = true;
$config["hide-comments"] = true;
$config["output-xhtml"] = true;
$config["indent-spaces"] = 2;
$config["tab-size"] = 2;
$config["wrap"] = 0;
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer, $config);
echo $tidy;
そうするための既存のワードプレスプラグインはすでにあるに違いない。どれどれ: