WordPress 评论表单自定义

WordPress自带的表单太简陋,如果要更强大的话,还是自定义来的实在。

使用官方函数:comment_form()

本函数允许自定义表单源码内容,但是要包括必要的字段。

$comment_form_args = array(
    'submit_button' => '<div style="text-align: right"><input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" /></div>',
    'comment_notes_before' => '',
    'class_submit' => 'layui-btn layui-btn-primary',
    'label_submit' => __('提交评论', 'win10exp'),
    'comment_notes_after' => '',
    'id_form' => 'form_comment',
    'cancel_reply_link' => __('取消回复', 'win10exp'),
    'comment_field' => '<div class="comment_form_textarea_box layui-row"><textarea class="comment_form_textarea layui-col-md12 layui-col-xs12" name="comment" id="comment" placeholder="发表你的看法吧~~~啦啦啦"></textarea></div>',
    'fields' => apply_filters('comment_form_default_fields', array(
        'author' => '<div class="layui-row comment_form_input"><input class="layui-col-md4 layui-col-xs12" placeholder="昵称" type="text" id="author" name="author" value="' . esc_attr($comment_author) . '" ' . ($req ? "required" : '') . '>',
        'email' => '<input class="layui-col-md4 layui-col-xs12" type="email" id="email" name="email" placeholder="邮箱地址" value="' . esc_attr($comment_author_email) . '" ' . ($req ? "required" : '') . '>',
        'url' => '<input class="layui-col-md4 layui-col-xs12" type="url" id="url" name="url" placeholder="网址(选填)" value="' . esc_attr($comment_author_url) . '"></div>',
    )));
comment_form($comment_form_args);

直接制作表单

反正都要提交到WordPress自带的评论文件,那么可以自己自定义表单了。

其中要加载WordPress的评论挂载点

<div class="row comment-from-main">
    <div class="comment-form-textarea ">
        <div class="comment-textarea-box">
            <textarea class="form-control" name="comment" id="textarea" placeholder="说点什么吧..."></textarea>
        </div>
    </div>
    <div class="form-submit">
        <input class="submit" name="submit" type="submit" id="misubmit" tabindex="5" title="提交评论"
               value="提交评论">
        <?php comment_id_fields(); ?>
        <?php do_action('comment_form', $post->ID); ?>
    </div>

</div>

 

THE END