Korekta, motyw był nadal zgodny z XHTML 1.1 i CSS 2.1, ale dodane wtyczki wstrzyknęły dodatkowy kod, który nie był zgodny.
Niestety nie ma łatwego sposobu na zachowanie zgodności, jeśli używasz wtyczek. Najlepsze, co możesz zrobić, to zweryfikować swój motyw i wszystkie znaczniki, za które osobiście jesteś odpowiedzialny, a następnie mieć nadzieję, że inni programiści poświęcili czas na sprawdzenie własnej pracy.
Alternatywą jest dużo więcej pracy z twojej strony - nadal możesz korzystać z podstawowej funkcjonalności wtyczek, ale nie zezwalaj im na wysyłanie żadnych znaczników do przeglądarki. Dodaj własną warstwę niestandardową, która odblokowuje wszystko, czego dotknie wtyczka, i utwórz własny bufor wyjściowy. Jest to jedyny sposób, w jaki będziesz mieć kontrolę nad stylem znaczników wysyłanych do przeglądarki.
Kilka wtyczek zaczyna używać HTML 5 ... inne próbują używać CSS3. Jeśli zainstalujesz te wtyczki i nie podejmiesz kroków w celu ich wyczyszczenia i sprawdzenia poprawności, Twoja witryna przestanie poprawnie sprawdzać poprawność.
Każda wtyczka wygeneruje kod, który chce wygenerować, a niektóre z nich nie będą zgodne z XHTML 1.1. Jedynym rozsądnym sposobem na poprawienie tego jest przeprowadzenie audytu każdego z nich i albo zmodyfikowanie przestępców, albo zachęcenie dewelopera do modyfikacji lub użycia modyfikacji jako łatki.
Alternatywnie możesz spróbować napisać filtr, aby go wyczyścić, ale próba uchwycenia wszystkich specjalnych przypadków wydaje się być wersją mojego osobistego koszmaru i wpłynęłaby również na wydajność z nieuzasadnioną korzyścią.
Czy masz klienta / szefa, który tego chce, czy jest to po prostu coś, co uważa się za „ miłe ”? (Tak, są tacy, którzy bardzo się z tym czują. Ja jednak nie jestem jednym z nich.)
To powiedziawszy, XHTML traci w Internecie status „ jasnowłosego dziecka ”; nawet Tim Berners-Lee powiedział to w 2006 roku:
Możesz także przeczytać HTML5 jest o wiele łatwiejszy do napisania niż XHTML 1.0. na StackOverflow. Oto ich podsumowanie:
źródło
Zgodność ze standardami nie gwarantuje, że Twoja witryna będzie działać we wszystkich przeglądarkach. Zignoruj zgodność ze standardami i skup się na testowaniu z jak największą liczbą przeglądarek.
źródło
Możesz buforować cały wynik swojej witryny, a następnie uporządkować go w celu uzyskania zgodnego kodu HTML. Najlepsze jest to, że można tego dokonać w pełni zautomatyzowany:
Możesz włączyć buforowanie danych wyjściowych w temacie init lub powiązanych hakach (np. * Setup_theme * hook).
Oto dwa fragmenty kodu. Pierwszy pokazuje, że zaczynasz buforować dane wyjściowe, a później odczytujesz bufor:
Drugi pokazuje niektóre opcje konfiguracji w akcji:
Założę się, że jest już dostępna do tego celu wtyczka wordpress. Zobaczmy:
źródło