X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0459461f9ea42e0b090759ff6fe5f48360bef750..refs/tags/wordpress-4.5:/wp-includes/comment-template.php?ds=sidebyside diff --git a/wp-includes/comment-template.php b/wp-includes/comment-template.php index ad5b9caf..29b102a2 100644 --- a/wp-includes/comment-template.php +++ b/wp-includes/comment-template.php @@ -102,7 +102,7 @@ function get_comment_author_email( $comment_ID = 0 ) { * * Care should be taken to protect the email address and assure that email * harvesters do not capture your commentors' email address. Most assume that - * their email address will not appear in raw form on the blog. Doing so will + * their email address will not appear in raw form on the site. Doing so will * enable anyone, including those that people don't want to get the email * address and use it for their own means good and bad. * @@ -133,7 +133,7 @@ function comment_author_email( $comment_ID = 0 ) { * * Care should be taken to protect the email address and assure that email * harvesters do not capture your commentors' email address. Most assume that - * their email address will not appear in raw form on the blog. Doing so will + * their email address will not appear in raw form on the site. Doing so will * enable anyone, including those that people don't want to get the email * address and use it for their own means good and bad. * @@ -154,7 +154,7 @@ function comment_author_email_link( $linktext = '', $before = '', $after = '' ) * * Care should be taken to protect the email address and assure that email * harvesters do not capture your commentors' email address. Most assume that - * their email address will not appear in raw form on the blog. Doing so will + * their email address will not appear in raw form on the site. Doing so will * enable anyone, including those that people don't want to get the email * address and use it for their own means good and bad. * @@ -730,7 +730,6 @@ function get_comment_link( $comment = null, $args = array() ) { * If the default page displays the oldest comments, the permalinks for comments on the default page * do not need a 'cpage' query var. */ - $default_comments_page = get_option( 'default_comments_page' ); if ( 'oldest' === get_option( 'default_comments_page' ) && 1 === $cpage ) { $cpage = ''; } @@ -1229,7 +1228,7 @@ function wp_comment_form_unfiltered_html_nonce() { * default theme. If either does not exist, then the WordPress process will be * halted. It is advised for that reason, that the default theme is not deleted. * - * @uses $withcomments Will not try to get the comments if the post has none. + * Will not try to get the comments if the post has none. * * @since 1.5.0 * @@ -1242,6 +1241,7 @@ function wp_comment_form_unfiltered_html_nonce() { * @global int $user_ID * @global string $user_identity * @global bool $overridden_cpage + * @global bool $withcomments * * @param string $file Optional. The file to load. Default '/comments.php'. * @param bool $separate_comments Optional. Whether to separate the comments by comment type. @@ -1339,6 +1339,30 @@ function comments_template( $file = '/comments.php', $separate_comments = false } } + /** + * Filters the arguments used to query comments in comments_template(). + * + * @since 4.5.0 + * + * @see WP_Comment_Query::__construct() + * + * @param array $comment_args { + * Array of WP_Comment_Query arguments. + * + * @type string|array $orderby Field(s) to order by. + * @type string $order Order of results. Accepts 'ASC' or 'DESC'. + * @type string $status Comment status. + * @type array $include_unapproved Array of IDs or email addresses whose unapproved comments + * will be included in results. + * @type int $post_id ID of the post. + * @type bool $no_found_rows Whether to refrain from querying for found rows. + * @type bool $update_comment_meta_cache Whether to prime cache for comment meta. + * @type bool|string $hierarchical Whether to query for comments hierarchically. + * @type int $offset Comment offset. + * @type int $number Number of comments to fetch. + * } + */ + $comment_args = apply_filters( 'comments_template_query_args', $comment_args ); $comment_query = new WP_Comment_Query( $comment_args ); $_comments = $comment_query->comments; @@ -1371,9 +1395,6 @@ function comments_template( $file = '/comments.php', $separate_comments = false */ $wp_query->comments = apply_filters( 'comments_array', $comments_flat, $post->ID ); - // Set up lazy-loading for comment metadata. - add_action( 'get_comment_metadata', array( $wp_query, 'lazyload_comment_meta' ), 10, 2 ); - $comments = &$wp_query->comments; $wp_query->comment_count = count($wp_query->comments); $wp_query->max_num_comment_pages = $comment_query->max_num_pages; @@ -1412,45 +1433,7 @@ function comments_template( $file = '/comments.php', $separate_comments = false } /** - * Display the JS popup script to show a comment. - * - * If the $file parameter is empty, then the home page is assumed. The defaults - * for the window are 400px by 400px. - * - * For the comment link popup to work, this function has to be called or the - * normal comment link will be assumed. - * - * @global string $wpcommentspopupfile The URL to use for the popup window. - * @global int $wpcommentsjavascript Whether to use JavaScript. Set when function is called. - * - * @since 0.71 - * - * @param int $width Optional. The width of the popup window. Default 400. - * @param int $height Optional. The height of the popup window. Default 400. - * @param string $file Optional. Sets the location of the popup window. - */ -function comments_popup_script( $width = 400, $height = 400, $file = '' ) { - global $wpcommentspopupfile, $wpcommentsjavascript; - - if (empty ($file)) { - $wpcommentspopupfile = ''; // Use the index. - } else { - $wpcommentspopupfile = $file; - } - - $wpcommentsjavascript = 1; - $javascript = "\n"; - echo $javascript; -} - -/** - * Displays the link to the comments popup window for the current post ID. - * - * Is not meant to be displayed on single posts and pages. Should be used - * on the lists of posts - * - * @global string $wpcommentspopupfile The URL to use for the popup window. - * @global int $wpcommentsjavascript Whether to use JavaScript. Set when function is called. + * Displays the link to the comments for the current post ID. * * @since 0.71 * @@ -1464,8 +1447,6 @@ function comments_popup_script( $width = 400, $height = 400, $file = '' ) { * Default false. */ function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) { - global $wpcommentspopupfile, $wpcommentsjavascript; - $id = get_the_ID(); $title = get_the_title(); $number = get_comments_number( $id ); @@ -1502,31 +1483,21 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c } echo '' . get_comment_author( $comment ) . '' : get_comment_author( $comment ); printf( $replytext, $author ); @@ -2052,6 +2029,8 @@ function wp_list_comments( $args = array(), $comments = null ) { if ( null === $r['reverse_top_level'] ) $r['reverse_top_level'] = ( 'desc' == get_option('comment_order') ); + wp_queue_comments_for_comment_meta_lazyload( $_comments ); + if ( empty( $r['walker'] ) ) { $walker = new Walker_Comment; } else { @@ -2084,6 +2063,8 @@ function wp_list_comments( $args = array(), $comments = null ) { * @since 4.2.0 Introduced the 'submit_button' and 'submit_fields' arguments. * @since 4.4.0 Introduced the 'class_form', 'title_reply_before', 'title_reply_after', * 'cancel_reply_before', and 'cancel_reply_after' arguments. + * @since 4.5.0 The 'author', 'email', and 'url' form fields are limited to 245, 100, + * and 200 characters, respectively. * * @param array $args { * Optional. Default arguments and form fields to override. @@ -2145,11 +2126,11 @@ function comment_form( $args = array(), $post_id = null ) { $html5 = 'html5' === $args['format']; $fields = array( 'author' => '

' . ' ' . - '

', + '

', 'email' => '

' . - '

', + '

', 'url' => '

' . - '

', + '

', ); $required_text = sprintf( ' ' . __('Required fields are marked %s'), '*' ); @@ -2164,11 +2145,23 @@ function comment_form( $args = array(), $post_id = null ) { $fields = apply_filters( 'comment_form_default_fields', $fields ); $defaults = array( 'fields' => $fields, - 'comment_field' => '

', + 'comment_field' => '

', /** This filter is documented in wp-includes/link-template.php */ - 'must_log_in' => '

' . sprintf( __( 'You must be logged in to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '

', + 'must_log_in' => '

' . sprintf( + /* translators: %s: login URL */ + __( 'You must be logged in to post a comment.' ), + wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) + ) . '

', /** This filter is documented in wp-includes/link-template.php */ - 'logged_in_as' => '

' . sprintf( __( 'Logged in as %2$s. Log out?' ), get_edit_user_link(), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '

', + 'logged_in_as' => '

' . sprintf( + /* translators: 1: edit user link, 2: accessibility text, 3: user name, 4: logout URL */ + __( 'Logged in as %3$s. Log out?' ), + get_edit_user_link(), + /* translators: %s: user name */ + esc_attr( sprintf( __( 'Logged in as %s. Edit your profile.' ), $user_identity ) ), + $user_identity, + wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) + ) . '

', 'comment_notes_before' => '

' . __( 'Your email address will not be published.' ) . ''. ( $req ? $required_text : '' ) . '

', 'comment_notes_after' => '', 'id_form' => 'commentform', @@ -2280,7 +2273,7 @@ function comment_form( $args = array(), $post_id = null ) { $comment_fields = array( 'comment' => $args['comment_field'] ) + (array) $args['fields']; /** - * Filter the comment form fields. + * Filter the comment form fields, including the textarea. * * @since 4.4.0 *