首页 > 解决方案 > 在 Wordpress 中自定义评论表单字段

问题描述

在 Wordpress 中,我无法更改评论表单字段的 HTML 输出,但 textarea 可以完美运行。

function set_my_comment_title( $defaults ) {
    $defaults['comment_field'] = '<div class="form-group col-md-12"><textarea id="comment" name="comment" rows="3" class="form-control" placeholder="Text komentára"></textarea></div>';
    $defaults['author'] = '<div class="form-group col-md-4"><input id="author" name="author" class="form-control" placeholder="Vaše meno" required="required" type="text"></div>';
    $defaults['email'] = '<div class="form-group col-md-4"><input id="email" name="email" class="form-control" placeholder="Váš email" required="required" type="text"></div>';

    return $defaults;
}
add_filter( 'comment_form_defaults', 'set_my_comment_title' );

标签: wordpress

解决方案


Wordpress 提供了许多用于编辑评论元素的过滤器。如果您正在使用如果您正在使用comment_form_defaults作者和电子邮件字段实际上嵌套在一个fields数组中。因此,正确的过滤器将是:

function set_my_comment_title( $defaults ) {
    $defaults['comment_field'] = '<div class="form-group col-md-12"><textarea id="comment" name="comment" rows="3" class="form-control" placeholder="Text komentára"></textarea></div>';
    $defaults['field']['author'] = '<div class="form-group col-md-4"><input id="author" name="author" class="form-control" placeholder="Vaše meno" required="required" type="text"></div>';
    $defaults['field']['email'] = '<div class="form-group col-md-4"><input id="email" name="email" class="form-control" placeholder="Váš email" required="required" type="text"></div>';

    return $defaults;
}
add_filter( 'comment_form_defaults', 'set_my_comment_title' );

推荐阅读