如何检查我的主题中需要哪些注释域?

时间:2019-06-27 作者:Matthew Brown aka Lord Matt

我计划使用comment_form() 使用一组参数来格式化输出。但是,我需要知道哪些字段已设置为必填字段(以将其设置为必填字段)。我该怎么做?

1 个回复
最合适的回答,由SO网友:Matthew Brown aka Lord Matt 整理而成

在对核心代码进行了一些挖掘之后(因为该区域中的过滤器似乎大多没有文档记录),我发现WP就是这样做的。

$req = get_option( \'require_name_email\' );
从这里开始,解决如何重新格式化注释表单是很简单的。

    $html5         = TRUE; // False if xhtml
    $req           = get_option( \'require_name_email\' );
    $html_req      = ( $req ? " required=\'required\'" : \'\' );
    $commenter     = wp_get_current_commenter();
    $aria_req      = ( $req ? " aria-required=\'true\'" : \'\' );

    if(!isset($commenter[\'comment_author\'])){
        $commenter[\'comment_author\']=\'\';
    }
    if(!isset($commenter[\'comment_author_email\'])){
        $commenter[\'comment_author_email\']=\'\';
    }
    if(!isset($commenter[\'comment_author_url\'])){
        $commenter[\'comment_author_url\']=\'\';
    }

    $comment_args = array(
    \'class_submit\' => \'btn btn-outline-primary submit\',
    \'comment_field\' => \'<p class="comment-form-comment"><label for="comment">\' . _x( \'Comment\', \'noun\' ) . \'</label> <textarea id="comment" name="comment" class="form-control" cols="45" rows="8" aria-required="true" required="required"></textarea></p>\',
    \'fields\' => array(
        \'author\' => \'<p class="comment-form-author">\' . \'<label for="author">\' . __( \'Name\' ) . ( $req ? \' <span class="required">*</span>\' : \'\' ) . \'</label> \' .
        \'<input id="author" name="author" class="form-control" type="text" value="\' . esc_attr( $commenter[\'comment_author\'] ) . \'" size="30"\' . $aria_req . $html_req . \' /></p>\',
        \'email\'  => \'<p class="comment-form-email"><label for="email">\' . __( \'Email\' ) . ( $req ? \' <span class="required">*</span>\' : \'\' ) . \'</label> \' .
        \'<input id="email" name="email" class="form-control" \' . ( $html5 ? \'type="email"\' : \'type="text"\' ) . \' value="\' . esc_attr(  $commenter[\'comment_author_email\'] ) . \'" size="30" aria-describedby="email-notes"\' . $aria_req . $html_req  . \' /></p>\',
        \'url\'    => \'<p class="comment-form-url"><label for="url">\' . __( \'Website\' ) . \'</label> \' .
        \'<input id="url" name="url" class="form-control" \' . ( $html5 ? \'type="url"\' : \'type="text"\' ) . \' value="\' . esc_attr( $commenter[\'comment_author_url\'] ) . \'" size="30" /></p>\',
        ),
    \'format\'=>\'html5\'
);
comment_form($comment_args);
如果您正在使用引导,那么您的表单现在看起来很可爱。

相关推荐