comment_form()的$args参数详解

comment_form()方法是wordpress 3.0版本之后出现的新方法,可以直接通过在页面中调用该方法来生成评论所需要用到的表单。大大降低了页面构建的难度,降低页面构建的出错性与代码的复用性。

但是随之也带来一个问题,就是无法再像wordpress 3.0版本之前那样通过修改源代码来直接更高评论表单的内容了。是不是真的就无法在模板中修改了呢?当然不是,commentform()方法提供了两个参数,分别是$args和$postid。使用方法为form($args, $postid); ?>

  • $args:comment_form()的输出配置参数,为一个关联数组,配置项非常丰富
  • $post_id:文章id,默认为空,即当前id

下面以一个简单的实例来说明一下args配置数组的方法:

1. $defaults = array( 2. ‘fields’ => apply_filters( ‘comment_form_default_fields’, $fields ), 3. ‘comment_field’ => ‘class=“comment-form-comment”>for=“commet”>‘ . _x( ‘Comment’, ‘noun’ ) . ‘

‘, 4. ‘must_log_in’ => ‘class=“must-log-in”>‘ . sprintf( __( ‘You must be logged in to post a comment.’ ), wp_login_url( apply_filters( ‘the_permalink’, get_permalink( $post_id ) ) ) ) . ‘

‘, 5. ‘logged_in_as’ => ‘class=“logged-in-as”>‘ . sprintf( __( ‘Logged in as $s”>%2$s$s” title=“Log out of this account”>Log out?‘ ), admin_url( ‘profile.php’ ), $user_identity, wp_logout_url( apply_filters( ‘the_permalink’, get_permalink( $post_id ) ) ) ) . ‘

‘, 6. ‘comment_notes_before’ => ‘class=“comment-notes”>‘ . __( ‘Your email address will not be published.’ ) . ( $req ? $required_text : ” ) . ‘

‘, 7. ‘comment_notes_after’ => ‘class=“form-allowed-tags”>‘ . sprintf( __( ‘You may use these HTML tags and attributes: %s’ ), ‘ ‘ . allowed_tags() . ‘‘ ) . ‘

‘, 8. ‘id_form’ => ‘commentform’, 9. ‘id_submit’ => ‘submit’, 10. ‘title_reply’ => __( ‘Leave a Reply’ ), 11. ‘title_reply_to’ => __( ‘Leave a Reply to %s’ ), 12. ‘cancel_reply_link’ => __( ‘Cancel reply’ ), 13. ‘label_submit’ => __( ‘Post Comment’ ), 14. );
comments powered by Disqus