仔细检查输出后,所有没有明确结束标记的元素都缺少自动结束符号,即。<content ... />
;
由于某种原因functions.php
文件具有以下功能来“清理”HTML5的输出:
/**********************************************
REMOVE SELF-CLOSING TAGS && USER-HARDCODED TAGS
***********************************************/
if ( !is_admin() && ( ! defined(\'DOING_AJAX\') || ( defined(\'DOING_AJAX\') && ! DOING_AJAX ) ) ) {
ob_start( \'html5_slash_fixer\' );
add_action( \'shutdown\', \'html5_slash_fixer_flush\' );
}
function html5_slash_fixer( $buffer ) {
$buffer = str_replace( \'<p id="top" />\', null, $buffer );
$buffer = str_replace( \' />\', \'>\', $buffer );
return $buffer;
}
function html5_slash_fixer_flush() {
ob_end_flush();
}
所以我在
html5_slash_fixer
用于确定当前查询是否用于提要的方法:
is_feed (WordPress Codex)function html5_slash_fixer( $buffer ) {
$buffer = str_replace( \'<p id="top" />\', null, $buffer );
if( !is_feed() ){
$buffer = str_replace( \' />\', \'>\', $buffer );
}
return $buffer;
}
使用此修复程序,输出将仅通过警告进行验证。