Исправление: ваша тема по-прежнему совместима с XHTML 1.1 и CSS 2.1, но добавленные вами плагины добавили дополнительный код, который не был совместимым.
К сожалению, нет простого способа поддерживать соответствие, если вы используете плагины. Лучшее, что вы можете сделать, - это подтвердить свою тему и всю разметку, за которую вы несете личную ответственность, а затем надеяться, что другие разработчики нашли время для проверки своей собственной работы.
Альтернатива - это намного больше работы с вашей стороны - вы все еще можете использовать основные функции плагинов, но не позволяете им выводить какую-либо разметку в браузер. Добавьте свой собственный слой, который снимает все, что касается плагина, и создайте свой собственный буфер вывода. Это единственный способ контролировать стиль разметки, отправляемой в браузер.
Некоторые плагины начинают использовать HTML 5 ... другие пытаются использовать CSS3. Если вы установите эти плагины и не предпримете шагов для санации и проверки их вывода, то ваш сайт перестанет правильно проверять.
Каждый плагин будет генерировать код, который он хочет сгенерировать, и некоторые из них не будут соответствовать XHTML 1.1. Единственный разумный способ исправить это - провести аудит каждого из них и либо изменить нарушителей, либо заставить разработчика изменить или использовать ваши изменения в качестве исправления.
В качестве альтернативы вы можете попытаться написать фильтр, чтобы очистить его, но попытка поймать все особые случаи кажется версией моего личного кошмара, и это также может повлиять на производительность, что принесет немалую пользу.
Есть ли у вас клиент / начальник, который хочет этого, или это просто что-то вроде « приятного для обладания» ? (Да, есть некоторые, кто сильно к этому относится. Однако я не один из них.)
Тем не менее, XHTML теряет свой статус « белокурого ребенка » в Интернете; даже Тим Бернерс-Ли так сказал в 2006 году:
Возможно, вы также захотите прочитать HTML5 гораздо проще, чем XHTML 1.0. на StackOverflow. Вот их резюме:
источник
Соответствие стандартам не гарантирует, что ваш веб-сайт будет работать во всех браузерах. Игнорируйте соответствие стандартам и сосредоточьтесь на тестировании с максимально возможным количеством браузеров.
источник
Вы можете буферизовать весь вывод вашего сайта и затем привести его в соответствие HTML. Лучше всего то, что это можно сделать полностью автоматизированным:
Вы можете включить буферизацию вывода при инициализации темы или связанных хуках (например, * setup_theme * hook).
Вот два фрагмента кода. Первый показывает, что вы начинаете буферизацию вывода, а затем считываете буфер:
Второй показывает некоторые параметры конфигурации в действии:
Могу поспорить, что для этого уже существует плагин WordPress. Давайте посмотрим:
источник