Recientemente al crear mi otro blog
Zibartec.com, al principio me daba cero Errores de Validación al probarlo en el w3c Validator. Resulta que ahora creé otra categoría de Links y después de eso, el blog ya no me valida, me da aproximadamente 19 errores de validación.
El error principal es de que cuando uno crea otra categoría de links, wordpress te genera otra lista con la misma “id” que en la primera categoría creada, cuando el campo “id” solamente tiene que ser usado una vez en la página, no puede repetirse (para eso está el “class”).
Acá pueden ver el extracto del código fuente que se genera con dos categorías de links creados:
<li id="links" class="widget widget_links"><h3 class='widgettitle'>Links de Interés (español)</h3>
<ul>
<li><a href="http://blog.faqoff.org/">BlogOff</a></li>
<li><a href="http://blogtekno.com.ar/">BlogTekno</a></li>
<li><a href="http://www.elgeek.info/">El Geek</a></li>
<li><a href="http://fogonazos.es/">Fogonazos</a></li>
<li><a href="http://www.marcianos.com.mx/">Marcianos</a></li>
<li><a href="http://www.microsiervos.com/">Microsiervos</a></li>
<li><a href="http://es.motorfull.com/">Motorfull</a></li>
<li><a href="http://noticiastech.com/">Noticias Tech</a></li>
</ul>
</li>
<li id="links" class="widget widget_links"><h3 class='widgettitle'>Links de Interés (inglés)</h3>
<ul>
<li><a href="http://www.engadget.com/">Engadget</a></li>
<li><a href="http://www.gizmodo.com/">Gizmodo</a></li>
<li><a href="http://www.inhabitat.com/">InHabitat</a></li>
<li><a href="http://www.popularmechanics.com/">Popular Mechanics</a></li>
<li><a href="http://www.slashdot.org/">Slashdot</a></li>
<li><a href="http://www.technologyreview.com/">Technology Review</a></li>
<li><a href="http://www.theinquirer.net/">The Inquirer</a></li>
<li><a href="http://www.sciencedaily.com/">The Science Daily</a></li>
<li><a href="http://www.ubergizmo.com/">UberGizmo</a></li>
<li><a href="http://www.wired.com/">Wired</a></li>
</ul>
</li>
Entonces me puse a buscar en los archivos indivudales de la instalación de Wordpress, y el problema está en el archivo “bookmark-template.php” en /wp-includes/, específicamente en estas líneas:
function wp_list_bookmarks($args = '') {
$defaults = array(
'orderby' => 'name', 'order' => 'ASC',
'limit' => -1, 'category' => '',
'category_name' => '', 'hide_invisible' => 1,
'show_updated' => 0, 'echo' => 1,
'categorize' => 1, 'title_li' => __('Bookmarks'),
'title_before' => '<h2>', 'title_after' => '</h2>',
'category_orderby' => 'name', 'category_order' => 'ASC',
'class' => 'linkcat', 'category_before' => '<li id="%id" class="%class">',
'category_after' => '</li>'
Aunque ahí me quedé, porque no se quien genera el nombre de las categorías de link, pero es de recalcar de que al tener más de una categoría de link, tu código ya no es válido por la w3c, aunque te funcione sin problemas.
Si alguien tiene una solución, con gusto bienvenida
Saludos!!