收录了这篇文章
参考主题WordPress自带主题, twentytwentyone,在文章模版下面,有个函数 :
<?php comments_template(); ?>
这个函数会引用主题下的 comments.php,在该文件的底部有个函数 comment_form 函数,就是用来生成表单的。
//Declare Vars $comment_send = 'Send'; $comment_reply = 'Leave a Message'; $comment_reply_to = 'Reply'; $comment_author = 'Name'; $comment_email = 'E-Mail'; $comment_body = 'Comment'; $comment_url = 'Website'; $comment_cookies_1 = ' By commenting you accept the'; $comment_cookies_2 = ' Privacy Policy'; $comment_before = 'Registration isn\'t required.'; $comment_cancel = 'Cancel Reply'; //Array $comments_args = array( //Define Fields 'fields' => array( //Author field 'author' => '<p class="comment-form-author"><br /><input id="author" name="author" aria-required="true" placeholder="' . $comment_author .'"></input></p>', //Email Field 'email' => '<p class="comment-form-email"><br /><input id="email" name="email" placeholder="' . $comment_email .'"></input></p>', //URL Field 'url' => '<p class="comment-form-url"><br /><input id="url" name="url" placeholder="' . $comment_url .'"></input></p>', //Cookies 'cookies' => '<input type="checkbox" required>' . $comment_cookies_1 . '<a href="' . get_privacy_policy_url() . '">' . $comment_cookies_2 . '</a>', ), // Change the title of send button 'label_submit' => __( $comment_send ), // Change the title of the reply section 'title_reply' => __( $comment_reply ), // Change the title of the reply section 'title_reply_to' => __( $comment_reply_to ), //Cancel Reply Text 'cancel_reply_link' => __( $comment_cancel ), // Redefine your own textarea (the comment body). 'comment_field' => '<p class="comment-form-comment"><br /><textarea id="comment" name="comment" aria-required="true" placeholder="' . $comment_body .'"></textarea></p>', //Message Before Comment 'comment_notes_before' => __( $comment_before), // Remove "Text or HTML to be displayed after the set of comment fields". 'comment_notes_after' => '', //Submit Button ID 'id_submit' => __( 'comment-submit' ), ); comment_form( $comments_args );
另外列出一些,评论表单钩子:
comment_form_before comment_form_must_log_in_after comment_form_top comment_form_logged_in_after comment_notes_before comment_form_before_fields comment_form_field_{$name} comment_form_after_fields comment_form_field_comment comment_form (action hook) comment_form_after comment_form_comments_closed
在主题的 functions.php 中添加:
function add_some_text() { echo '欢迎欢迎'; } // 在默认字段(前面说的姓名、邮箱和网址)的下面添加字段 add_filter('comment_form_after_fields', 'add_some_text'); // 在已登录下面添加字段(因为用户登录后,是没有默认上面三个字段的),所以要使用这个钩子插入内容 add_filter('comment_form_logged_in_after', 'add_some_text');
comment_form() 参数
$defaults = array( 'fields' => apply_filters( 'comment_form_default_fields', $fields ), 'comment_field' => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true"></textarea></p>', 'must_log_in' => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>', 'logged_in_as' => '<p class="logged-in-as">' . sprintf( __( 'Logged in as <a href="%1$s">%2$s</a>. <a href="%3$s" title="Log out of this account">Log out?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>', 'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.' ) . ( $req ? $required_text : '' ) . '</p>', 'comment_notes_after' => '<p class="form-allowed-tags">' . sprintf( __( 'You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: %s' ), ' <code>' . allowed_tags() . '</code>' ) . '</p>', 'id_form' => 'commentform', 'id_submit' => 'submit', 'title_reply' => __( 'Leave a Reply' ), 'title_reply_to' => __( 'Leave a Reply to %s' ), 'cancel_reply_link' => __( 'Cancel reply' ), 'label_submit' => __( 'Post Comment' ), );
参考:https://developer.wordpress.org/reference/functions/comment_form/
修改时间 2023-11-23
声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。