创建自定义HTML代码的Comments.php形式

时间:2017-09-09 作者:The WP Intermediate

一个示例comments.php 可用here.

我已经创建了comments.php 我的主题文件夹中的文件。在我的content.php 用于显示评论表单的HTML如下所示:

<textarea name="name" rows="8" cols="80"></textarea>
    <div class="t-comment-section">
        <p>Full Name:</p>  <input type="text" name="Full Name">
        <p>Email:</p>  <input type="text" name="Email address">
        <p>Website:</p>  <input type="text" name="Website url">
        <a href=""><i class="fa fa-comment" aria-hidden="true"></i><span> Submit Comment </span></a>
    </div>
我应该如何连接我的评论。将用于在my中显示注释表单的HTMLsingle.php 或者简而言之,所有将出现的帖子页面?

1 个回复
最合适的回答,由SO网友:Johansson 整理而成

这个comment_form() 函数是可定制的,它接受各种参数。看看这些示例参数,您可以修改它们以满足您的需要:

$fields =  array(
    \'author\' =>
        \'<input name="author" type="text" value="\' . esc_attr( $commenter[\'comment_author\'] ) .\'" size="30" placeholder="\'.__(\'Your name\',\'text-domain\').( $req ? \' (Required)\' : \'\' ).\'"/>\',
    \'email\' =>
        \'<input name="email" type="text" value="\' . esc_attr(  $commenter[\'comment_author_email\'] ) .\'" size="30" placeholder="\'.__(\'Your email\',\'text-domain\').( $req ? \' (Required)\' : \'\' ).\'"/>\',
);
$args = array(
    \'id_form\'           => \'commentform\',
    \'class_form\'        => \'comment-form\',
    \'id_submit\'         => \'submit\',
    \'class_submit\'      => \'submit\',
    \'name_submit\'       => \'submit\',
    \'submit_button\'     => \'<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />\',
    \'title_reply\'       => \'\',
    \'title_reply_to\'    => __( \'Reply to %s\',\'text-domain\' ),
    \'cancel_reply_link\' => __( \'Cancel comment\',\'text-domain\' ),
    \'label_submit\'      => __( \'Post comment\',\'text-domain\' ),
    \'format\'            => \'xhtml\',
    \'comment_field\'     =>  \'<textarea id="comment" name="comment" placeholder="\'.__(\'Comment text\',\'text-domain\').\'" cols="45" rows="8" aria-required="true">\' .\'</textarea>\',
    \'logged_in_as\'      => \'<p class="logged-in-as">\' .
                          sprintf(
                              __( \'Logged in as %1$s. <a href="%2$s" title="%3$s">%4$s</a>\', \'text-domain\'),
                              $user_identity,
                              wp_logout_url( apply_filters( \'the_permalink\', get_permalink( ) ) ),
                              __(\'Log out?\',\'text-domain\'),
                              __(\'Click to log out.\',\'text-domain\')
                          ) . \'</p>\',
    \'comment_notes_before\' => \'<p class="comment-notes">\' . __( \'Your email address will not be published.\',\'text-domain\' ) .\'</p>\',
    \'fields\'            => apply_filters( \'comment_form_default_fields\', $fields ),
);

comment_form( $args );
您可以将任何类添加到元素中,或将它们包装到<div><p>.

如果要将文本区域移动到其他字段下方,可以使用comment_form_fields 过滤器:

function move_comment_field_to_bottom( $fields ) {
    $comment_field = $fields[\'comment\'];
    unset( $fields[\'comment\'] );
    $fields[\'comment\'] = $comment_field;
    return $fields;
}

add_filter( \'comment_form_fields\', \'move_comment_field_to_bottom\' );
更新以在content.php 文件中保存第一个代码comment.php, 然后以这种方式调用循环中的表单:

if ( comments_open() || \'0\' != get_comments_number() ) {
    comments_template();
}
这将附加comment.php 到您的内容。

结束

相关推荐

我可以将我的定制COMMENT_TYPE存储到wp_Comments表中吗?

我正在开发一个系统,一篇帖子可以有多个回复/反馈。到目前为止,我将每个注释存储为序列化postmeta. 但就在今天,我发现我可以使用现有的comments 用于相同目的的表commentmeta 表I也可以在那里存储其他数据。所以我用wp_insert_comment(), 我希望更健壮的是wp_new_comment(), 在那里我介绍了comment_type 参数我发现它存储:null 对于默认注释类型“comments”,请参见pingback 对于“pingbacks”,和trackbacks