次の要素を含む WordPress テンプレートがあります。
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes('xhtml'); ?>>
これは以下を返します:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en-US">
残念ながら、「lang」属性は XHTML 1.1 では無効です。クライアントはこのレベルの検証を望んでいます。
WordPress の general-template.php ファイルには、次のコードが含まれています。
if ( get_option('html_type') == 'text/html' || $doctype == 'html' )
$attributes[] = "lang=\"$lang\"";
$doctype
渡されるパラメーターです (この場合は「xhtml」)。get_option
「text/html」以外の値を返す必要がありますか? もしそうなら、これを達成するためにWordPressで何を設定する必要がありますか?
また、preg_replace を使用して「lang」属性を取り出してみましたが、これはテキストを一致させることができなかったようです。文字を手入力したら合った!language_attributes によって返される文字列のエンコーディングの問題でしょうか?