Доброго времени суток читатели Моих тараканов!

Валидный код генерируемый движком WordPress

А вот и первая ласточка.


В одном из последних постов я оговорился, что работаю над новым шаблоном для своего блога. Планирую написать код шаблона собственноручно, от первого до последнего тега. С HTML у меня проблем нет, а вот с PHP придется немного потягаться.

На написание кода тратится много времени, когда на сам блог времени не уделяется. Я решил исправить ситуацию и публиковать небольшие заметки о проблемах, которые будут возникать у меня в процессе верстке. К статье добавил специально созданный тег "новый шаблон", чтобы каждый желающий мог проследить за ходом возникновения проблем и способах их решения.

А вот и первая проблема. После анонса статьи я вывел список категорий связанных с ней, такой функцией:

<?php the_category(', '); ?>

WordPress генерировал такой HTML код:

<a href="http://moi-tarakany.ru/category/html/" title="Просмотреть все записи в рубрике &laquo;html&raquo;" rel="category tag">html</a>

На первый взгляд всё нормально, но если проверить код на валидность, то мы увидим следующее сообщение:

Bad value category tag for attribute rel on element a: The string category is not a registered keyword or absolute URL. Whitespace in path component. Use %20 in place of spaces.

Валидатор ругался на эту часть кода rel="category tag", сгенерированную WordPress.

Я немножко погуглил и нашел такое решение: чтобы удалить невалидный код нужно просто добавить в файл functions.php следующую функцию:

function remove_category_rel($output)
{
    $output = str_replace(' rel="category tag"', '', $output);
    return $output;
}
add_filter('the_category', 'remove_category_rel');

Чтобы узнавать о новых статьях в блоге, предлагаю подписаться на обновления по RSS или по почте! Также Вы можете следить за моим щебетом в Твиттере.

С уважением, Мышак Пётр.

Похожие записи:

Понравилась статья? Расскажи друзьям, автор очень старался:
16 комментариев на:
“Как решить проблему с генерацией WordPress`om невалидного кода”
  • Nautilius говорит:

    Хорошо хоть в интернете много информации есть, а вот раньше программистам и верстальщикам было плохо, информации по минимуму, а работать-то надо)

    • Пётр говорит:

      Да и сейчас бывает нелегко сразу найти правильный ответ.

      • Macherie говорит:

        Мне кажется, обязательно должен быть какой-то отладчик, чтобы проще нужные фрагменты в PHP находить, конечно не на русском, но поискать надо. К сожалению, с Вордпресс я вообще не связан, так что конкретно ничего не могу предложить.

  • Klass говорит:

    Так это лучше сделать в меню категорию «как сделать новый шаблон» чтобы было заметно каждому.


  • Очень интересно, спасибо. Хотя у меня с кодом проблем и нету 🙂

    • Виталий говорит:

      Андрей, только что проверил твой блог на валидность, ошибаешься ты, когда говоришь, что у тебя нет с этим проблем у тебя их целая куча :).

  • Интересный говорит:

    Стоит ли так обращать вниманеие на невалидный код? Он всё-равно работает, браузеры его воспринимают и отображают, поисковики к нему относятся лояльно (я не имею ввиду уж прям совсем полную кодовую бредятину). А валидаторы на вечно недовольных брюзжащих людей похожи.

    • Пётр говорит:

      Да, несомненно, браузеры воспринимают невалидный код, но сам Гугл заявил что у сайтов не имеющих проблем с валидностью при равных условиях будут позиции выше в посковой выдаче.

  • Советник говорит:

    Я не использую собственные шаблоны, но и с готовыми Вордпресовскими тоже проблем, порой, возникает немало. У вас хоть код невалидный, а у меня после правки и сохранения вообще иногда часть куска кода страницы пропадает, причём эта часть кода может находиться рандомно в любом месте редактируемого файла. Вот тут уж действительно проблема всё это исправить, особенно когда неизвестно что именно и откуда конкретно пропало. Проблема решилась заменой шаблона.

  • Александр говорит:

    Хм... никогда не замечал у себя, чтобы Вордпресс генерировал неправильный код.

    • Пётр говорит:

      Код правильный, он просто не валидный. Визуально это ни как не отображается, просто я задался целью написать шаблон полностью соответствующий стандарту HTML5, вот и всё.

  • Игорь говорит:

    Спасибо, за статью, валидация — это сложная штука...они сами не могут разобраться у себя в стандартизаци.

  • People говорит:

    Думаю, пригодится такая фишка, действительно нужно будет использовать!

  • Виталий говорит:

    Думаю, что с подобными проблемами нужно просто смириться, врятли можно что-то можно с этим сделать, тем более не думаю, что валидность (точнее не валидность) сущесвенно влияет на раскрутку сайта. Взят к примеру, тот же яндекс, если проверить его на валидность у него тоже будут ошибки, так что в этом нет ничего страшного.

  • Дмитрий говорит:

    Я думал тут будет большой список, потому что у вордпресса с валилностью вообще беда 🙁

  • Никита говорит:

    Благодаря этому посту исправил кое какую ошибку. Но все исправить к сожалению руки не доходят.

Добавить комментарий

Перед комментированием ознакомтесь с правилами комментирования
  • Все комментарии проходят ручнуюю модерацию, поэтому большая прозьба - НЕ СПАМИТЬ!!!
  • Подписывайтесь нормальными именами, а не "регистрация в Москве" или "Кондиционеры не дорого".
  • Ссылки на коммерческие сайты будут удалятся.
  • Оставляйте ссылку на главную страницу.
  • Оставляйте комментарии длинной не менее 100 символов. Исключения - диалоги и ответы на заданные вопросы.
Внимание! Один раз в неделю блог прходит проверку на наличие битых ссылок. Если ваш сайт в это время не был доступен, ссылка на него будет удалена!
За собой оставляю право редактировать и удалять комментарии, даже если они удовлетворяют вышепреведённый свод правил.