답변:
수정, 테마는 여전히 XHTML 1.1 및 CSS 2.1을 준수했지만 추가 한 플러그인 은 호환 되지 않는 추가 코드를 삽입했습니다 .
불행히도 플러그인을 사용하는 경우 규정 준수를 유지하는 쉬운 방법은 없습니다. 할 수있는 최선의 방법은 테마와 개인적으로 책임이있는 모든 마크 업을 검증하는 것입니다. 그런 다음 다른 개발자가 자신의 작업을 검증하기 위해 시간을 갖기를 바랍니다.
대안은 당신의 부분에 더 많은 작품 - 당신은 여전히 플러그인의 핵심 기능을 사용할 수 있지만, 출력을 허용하지 않는 모든 브라우저에 마크 업을. 플러그인이 닿는 모든 것을 풀고 나만의 커스텀 레이어를 추가하고 나만의 출력 버퍼를 만듭니다. 이것은 브라우저로 전송되는 마크 업 스타일을 제어 할 수 있는 유일한 방법입니다.
여러 플러그인이 HTML 5를 사용하기 시작했습니다. 다른 플러그인은 CSS3을 사용하려고합니다. 이러한 플러그인을 설치하고 출력을 삭제하고 유효성을 검사하기위한 단계를 수행하지 않으면 사이트의 유효성 검사가 중단됩니다.
각 플러그인은 생성하려는 코드를 생성 할 것이며 일부는 XHTML 1.1과 호환되지 않습니다. 이를 수정하는 유일한 합리적인 방법은 각각을 감사하고 위반자를 수정하거나 개발자가 수정 사항을 패치로 수정하거나 사용하도록하는 것입니다.
또는 필터를 정리하여 정리할 수는 있지만 모든 특수 사례를 파악하려고 시도하면 내 개인적인 악몽의 버전처럼 보이며 이로 인해 성능에 영향을 줄 수 있습니다.
이것을 원하는 클라이언트 / 보스 가 있습니까, 아니면 " 좋아요 ?" (예, 그것에 대해 강하게 느끼는 사람들이 있습니다. 그러나 나는 그중 하나가 아닙니다.)
즉, XHTML은 웹에서 " 머리 불공평 한 아이 "상태를 잃어 가고있다 . 팀 버너스 리 조차 2006 년에 이렇게 말했다 .
몇 년의 후시와 함께 어떤 것이 더 명확합니다. 점진적으로 HTML을 발전시켜야합니다. 속성 값 주위의 따옴표와 빈 태그 및 네임 스페이스의 슬래시를 포함하여 세상을 XML로 전환하려는 시도는 한 번에 작동하지 않았습니다. 브라우저가 불평하지 않았기 때문에 큰 HTML 생성 대중은 움직이지 않았습니다. 일부 대형 커뮤니티는 변화를 겪고 제대로 구성된 시스템의 과일을 즐기고 있지만 전부는 아닙니다. HTML을 점진적으로 유지하고 올바른 세상으로의 전환을 계속하고 그 세상에서 더 많은 힘을 개발하는 것이 중요합니다.
또한 읽어보십시오 HTML5가 너무 쉽게 XHTML 1.0보다 작성하는 것입니다. StackOverflow에서 끝났습니다. 요약은 다음과 같습니다.
HTML5를 사용할 때 구문 방식만으로도 항상 표준 모드를 호출하는 더 명확하고 읽기 쉬운 마크 업으로 끝납니다. XHTML 1.0 (텍스트 / html로 제공)을 사용하는 경우 브라우저가 자동으로 수행 할 크래프트 (크 래피 dtd에 대해 유효성 검증)를 지정합니다.
표준을 준수한다고해서 웹 사이트가 모든 브라우저에서 작동하는 것은 아닙니다. 표준 준수를 무시하고 가능한 많은 브라우저를 사용한 테스트에 집중하십시오.
사이트의 전체 출력을 버퍼링 한 다음 호환되는 HTML로 정리할 수 있습니다. 가장 좋은 점은이 작업을 완전히 자동화 할 수 있다는 것입니다.
테마 초기화 또는 관련 후크 (예 : * setup_theme * 후크)에서 출력 버퍼링을 사용할 수 있습니다.
다음은 두 개의 코드 조각입니다. 첫 번째는 출력 버퍼링을 시작하고 나중에 버퍼를 읽는다는 것을 보여줍니다.
<?php
ob_start();
?>
…
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>
두 번째는 작동중인 구성 옵션 중 일부를 보여줍니다.
/* 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;
나는 이미 그렇게하기위한 기존의 워드 프레스 플러그인이 있다고 확신합니다. 보자 :