如何从备注表单中删除novalate属性

时间:2015-07-07 作者:Adson Cicilioti

我使用html5支持输入格式和自定义注释表单字段,代码如下:

<?php
        $commenter = wp_get_current_commenter();

        $args = wp_parse_args( $args );
        if ( ! isset( $args[\'format\'] ) )
            $args[\'format\'] = current_theme_supports( \'html5\', \'comment-form\' ) ? \'html5\' : \'xhtml\';

        $req = get_option( \'require_name_email\' );
        $aria_req = ( $req ? " aria-required=\'true\'" : \'\' );
        $html_req = ( $req ? " required=\'required\'" : \'\' );
        $html5    = \'html5\' === $args[\'format\'];

        comment_form(
        array(
            \'comment_notes_after\' => \'\',
            \'comment_field\' => \'<div class="comment-form-comment form-group"><label class="control-label" for="comment">\' . __( \'Comment\', \'odin\' ) . \'</label><div class="controls"><textarea id="comment" name="comment" cols="45" rows="8" class="form-control" aria-required="true" ></textarea></div></div>\',
            \'fields\' => apply_filters( \'comment_form_default_fields\', array(
                \'author\' => \'<div class="comment-form-author form-group">\' . \'<label class="control-label" for="author">\' . __( \'Name\', \'odin\' ) . ( $req ? \'<span class="required"> *</span>\' : \'\' ) . \'</label><input class="form-control" id="author" name="author" type="text" value="\' . esc_attr( $commenter[\'comment_author\'] ) . \'" size="30"\' . $aria_req . $html_req  . \' /></div>\',
                \'email\' => \'<div class="comment-form-email form-group"><label class="control-label" for="email">\' . __( \'E-mail\', \'odin\' ) . ( $req ? \'<span class="required"> *</span>\' : \'\' ) . \'</label><input class="form-control" id="email" name="email" \' . ( $html5 ? \'type="email"\' : \'type="text"\' ) . \' value="\' . esc_attr(  $commenter[\'comment_author_email\'] ) . \'" size="30"\' . $aria_req . $html_req  . \' /></div>\',
                \'url\' => \'<div class="comment-form-url form-group"><label class="control-label" for="url">\' . __( \'Website\', \'odin\' ) . \'</label>\' . \'<input class="form-control" id="url" name="url" \' . ( $html5 ? \'type="url"\' : \'type="text"\' ) . \' value="\' . esc_attr( $commenter[\'comment_author_url\'] ) . \'" size="30" /></div>\' ) )
        )
    ); ?>
为验证html5做好了一切准备,除了标记的novalidade属性。我目前正在删除jQuery,但我想知道是否有办法通过WP/PHP

3 个回复
SO网友:pdme

当您的主题对评论表单启用了HTML5支持时,WP core似乎会将novlidate属性添加到评论表单中(请参阅includes/comment-template.php)。

要禁用它,请使用

remove_theme_support(\'html5\', \'comment-form\');

SO网友:Ha Doan Ngoc

如果将注释表单的格式设置为xhtml,“novalidate”将被删除。像这样

$comments_args = array(             
                \'format\'            => \'xhtml\'
            );
            comment_form($comments_args);

SO网友:Farhad Sakhaei

使用此功能,而不是comment_form()

function validate_comment_form(){
    ob_start();
    comment_form();
    echo str_replace(\'novalidate\',\'data-toggle="validator" \',ob_get_clean());
}

结束

相关推荐

当使用新的WP_QUERY时,如何去除HTML5文档大纲中多余的无标题文章?

这是我在一个静态主页模板上使用的代码的简化版本,该模板是为一个儿童主题212制作的。我简化了一些用于造型的div,只关注问题区域。问题是,当我使用Chrome扩展查看html5大纲时,所有内容看起来都很好,除了特色漫画部分下面有2篇文章(应该只显示1篇)。一篇文章是为粘性文章准备的,一篇标记为“无标题文章”(点击后会给我粘性文章之后的下一篇文章的帖子ID,但没有显示任何内容),然后是另一个h3“副标题”条目。我想在页面上保留多个循环,以便用户可以更新静态主页内容。我有没有遗漏什么东西来摆脱这篇虚构的无标题