[wp-trac] [WordPress Trac] #8691: wp_widget_recent_comments not passing W3C validation (permalinks disabled only)

WordPress Trac wp-trac at lists.automattic.com
Mon Dec 22 05:16:44 GMT 2008


#8691: wp_widget_recent_comments not passing W3C validation (permalinks disabled
only)
--------------------------+-------------------------------------------------
 Reporter:  danlee        |       Owner:  danlee               
     Type:  defect (bug)  |      Status:  new                  
 Priority:  low           |   Milestone:  2.7.1                
Component:  General       |     Version:  2.7                  
 Severity:  normal        |    Keywords:  widget recent comment
--------------------------+-------------------------------------------------
 There is currently a small but in the recent comments widget that come's
 with WP 2.7, and possible as early as 2.2 when the widget was first added.

 When you attempt to validate a page that has the recent comments widget
 enabled and permalinks disabled, you will get a w3c validation error.

 This is just a sample to show you the error.
 {{{
 Line 117, Column 259: cannot generate system identifier for general entity
 "cpage".

 …href="http://localhost/?p=1&cpage=1#comment-1">Hello world!</a></li>

 ✉

 An entity reference was found in the document, but there is no reference
 by that name defined. Often this is caused by misspelling the reference
 name, unencoded ampersands, or by leaving off the trailing semicolon (;).
 The most common cause of this error is unencoded ampersands in URLs as
 described by the WDG in "Ampersands in URLs".

 Entity references start with an ampersand (&) and end with a semicolon
 (;). If you want to use a literal ampersand in your document you must
 encode it as "&amp;" (even inside URLs!). Be careful to end entity
 references with a semicolon or your entity reference may get interpreted
 in connection with the following text. Also keep in mind that named entity
 references are case-sensitive; &Aelig; and &aelig; are different
 characters.

 If this error appears in some markup generated by PHP's session handling
 code, this article has explanations and solutions to your problem.

 Note that in most documents, errors related to entity references will
 trigger up to 5 separate messages from the Validator. Usually these will
 all disappear when the original problem is fixed.
 }}}

 The error is caused because the widget does not clean up the & to &amp;

 There is an easy fix that requires only one file modification to wp-
 includes/widgets.php

 I have attached a diff to show the fix.

-- 
Ticket URL: <http://trac.wordpress.org/ticket/8691>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list