WordPress.org

Make WordPress Core

Ticket #30909: 30909.2.diff

File 30909.2.diff, 11.5 KB (added by Ninos Ego, 6 years ago)

Cleaned patch withouth formating

  • wp-includes/comment-template.php

     
    15421542                $text = __('Click here to cancel reply.');
    15431543
    15441544        $style = isset($_GET['replytocom']) ? '' : ' style="display:none;"';
    1545         $link = esc_html( remove_query_arg('replytocom') ) . '#respond';
    15461545
     1546        $reply_id = get_comment_container_id( true );
     1547
     1548        $link = esc_html( remove_query_arg('replytocom') ) . $reply_id;
     1549
    15471550        $formatted_link = '<a rel="nofollow" id="cancel-comment-reply-link" href="' . $link . '"' . $style . '>' . $text . '</a>';
    15481551        /**
    15491552         * Filter the cancel comment reply link HTML.
     
    21602163 *     @type string $cancel_reply_link    The translatable 'cancel reply' button label. Default 'Cancel reply'.
    21612164 *     @type string $label_submit         The translatable 'submit' button label. Default 'Post a comment'.
    21622165 *     @type string $format               The comment form format. Default 'xhtml'. Accepts 'xhtml', 'html5'.
     2166 *     @type string $reply_title_id       The ID for the reply title H3 element. Default is 'reply-title'
    21632167 * }
    21642168 * @param int|WP_Post $post_id Post ID or WP_Post object to generate the form for. Default current post.
    21652169 */
     
    22152219                'cancel_reply_link'    => __( 'Cancel reply' ),
    22162220                'label_submit'         => __( 'Post Comment' ),
    22172221                'format'               => 'xhtml',
     2222                'reply_title_id'       => 'reply-title',
    22182223        );
    22192224
    22202225        /**
     
    22282233         */
    22292234        $args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
    22302235
    2231                 if ( comments_open( $post_id ) ) : ?>
    2232                         <?php
    2233                         /**
    2234                          * Fires before the comment form.
    2235                          *
    2236                          * @since 3.0.0
    2237                          */
    2238                         do_action( 'comment_form_before' );
    2239                         ?>
    2240                         <div id="respond" class="comment-respond">
    2241                                 <h3 id="reply-title" class="comment-reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
    2242                                 <?php if ( get_option( 'comment_registration' ) && !is_user_logged_in() ) : ?>
    2243                                         <?php echo $args['must_log_in']; ?>
     2236        if ( comments_open( $post_id ) ) : ?>
     2237                <?php
     2238                /**
     2239                 * Fires before the comment form.
     2240                 *
     2241                 * @since 3.0.0
     2242                 */
     2243                do_action( 'comment_form_before' );
     2244                ?>
     2245                <div id="<?php echo esc_attr( get_comment_container_id( false ) ); ?>" class="comment-respond">
     2246                        <h3 id="<?php echo esc_attr( $args [ 'reply_title_id' ] ); ?>" class="comment-reply-title"><?php comment_form_title( $args['title_reply'], $args['title_reply_to'] ); ?> <small><?php cancel_comment_reply_link( $args['cancel_reply_link'] ); ?></small></h3>
     2247                        <?php if ( get_option( 'comment_registration' ) && !is_user_logged_in() ) : ?>
     2248                                <?php echo $args['must_log_in']; ?>
     2249                                <?php
     2250                                /**
     2251                                 * Fires after the HTML-formatted 'must log in after' message in the comment form.
     2252                                 *
     2253                                 * @since 3.0.0
     2254                                 */
     2255                                do_action( 'comment_form_must_log_in_after' );
     2256                                ?>
     2257                        <?php else : ?>
     2258                                <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>>
    22442259                                        <?php
    22452260                                        /**
    2246                                          * Fires after the HTML-formatted 'must log in after' message in the comment form.
     2261                                         * Fires at the top of the comment form, inside the form tag.
    22472262                                         *
    22482263                                         * @since 3.0.0
    22492264                                         */
    2250                                         do_action( 'comment_form_must_log_in_after' );
     2265                                        do_action( 'comment_form_top' );
    22512266                                        ?>
    2252                                 <?php else : ?>
    2253                                         <form action="<?php echo site_url( '/wp-comments-post.php' ); ?>" method="post" id="<?php echo esc_attr( $args['id_form'] ); ?>" class="comment-form"<?php echo $html5 ? ' novalidate' : ''; ?>>
     2267                                        <?php if ( is_user_logged_in() ) : ?>
    22542268                                                <?php
    22552269                                                /**
    2256                                                  * Fires at the top of the comment form, inside the form tag.
     2270                                                 * Filter the 'logged in' message for the comment form for display.
    22572271                                                 *
    22582272                                                 * @since 3.0.0
     2273                                                 *
     2274                                                 * @param string $args_logged_in The logged-in-as HTML-formatted message.
     2275                                                 * @param array  $commenter      An array containing the comment author's
     2276                                                 *                               username, email, and URL.
     2277                                                 * @param string $user_identity  If the commenter is a registered user,
     2278                                                 *                               the display name, blank otherwise.
    22592279                                                 */
    2260                                                 do_action( 'comment_form_top' );
     2280                                                echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity );
    22612281                                                ?>
    2262                                                 <?php if ( is_user_logged_in() ) : ?>
    2263                                                         <?php
    2264                                                         /**
    2265                                                          * Filter the 'logged in' message for the comment form for display.
    2266                                                          *
    2267                                                          * @since 3.0.0
    2268                                                          *
    2269                                                          * @param string $args_logged_in The logged-in-as HTML-formatted message.
    2270                                                          * @param array  $commenter      An array containing the comment author's
    2271                                                          *                               username, email, and URL.
    2272                                                          * @param string $user_identity  If the commenter is a registered user,
    2273                                                          *                               the display name, blank otherwise.
    2274                                                          */
    2275                                                         echo apply_filters( 'comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity );
    2276                                                         ?>
    2277                                                         <?php
    2278                                                         /**
    2279                                                          * Fires after the is_user_logged_in() check in the comment form.
    2280                                                          *
    2281                                                          * @since 3.0.0
    2282                                                          *
    2283                                                          * @param array  $commenter     An array containing the comment author's
    2284                                                          *                              username, email, and URL.
    2285                                                          * @param string $user_identity If the commenter is a registered user,
    2286                                                          *                              the display name, blank otherwise.
    2287                                                          */
    2288                                                         do_action( 'comment_form_logged_in_after', $commenter, $user_identity );
    2289                                                         ?>
    2290                                                 <?php else : ?>
    2291                                                         <?php echo $args['comment_notes_before']; ?>
    2292                                                         <?php
    2293                                                         /**
    2294                                                          * Fires before the comment fields in the comment form.
    2295                                                          *
    2296                                                          * @since 3.0.0
    2297                                                          */
    2298                                                         do_action( 'comment_form_before_fields' );
    2299                                                         foreach ( (array) $args['fields'] as $name => $field ) {
    2300                                                                 /**
    2301                                                                  * Filter a comment form field for display.
    2302                                                                  *
    2303                                                                  * The dynamic portion of the filter hook, `$name`, refers to the name
    2304                                                                  * of the comment form field. Such as 'author', 'email', or 'url'.
    2305                                                                  *
    2306                                                                  * @since 3.0.0
    2307                                                                  *
    2308                                                                  * @param string $field The HTML-formatted output of the comment form field.
    2309                                                                  */
    2310                                                                 echo apply_filters( "comment_form_field_{$name}", $field ) . "\n";
    2311                                                         }
    2312                                                         /**
    2313                                                          * Fires after the comment fields in the comment form.
    2314                                                          *
    2315                                                          * @since 3.0.0
    2316                                                          */
    2317                                                         do_action( 'comment_form_after_fields' );
    2318                                                         ?>
    2319                                                 <?php endif; ?>
    23202282                                                <?php
    23212283                                                /**
    2322                                                  * Filter the content of the comment textarea field for display.
     2284                                                 * Fires after the is_user_logged_in() check in the comment form.
    23232285                                                 *
    23242286                                                 * @since 3.0.0
    23252287                                                 *
    2326                                                  * @param string $args_comment_field The content of the comment textarea field.
     2288                                                 * @param array  $commenter     An array containing the comment author's
     2289                                                 *                              username, email, and URL.
     2290                                                 * @param string $user_identity If the commenter is a registered user,
     2291                                                 *                              the display name, blank otherwise.
    23272292                                                 */
    2328                                                 echo apply_filters( 'comment_form_field_comment', $args['comment_field'] );
     2293                                                do_action( 'comment_form_logged_in_after', $commenter, $user_identity );
    23292294                                                ?>
    2330                                                 <?php echo $args['comment_notes_after']; ?>
    2331                                                 <p class="form-submit">
    2332                                                         <input name="<?php echo esc_attr( $args['name_submit'] ); ?>" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" class="<?php echo esc_attr( $args['class_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
    2333                                                         <?php comment_id_fields( $post_id ); ?>
    2334                                                 </p>
     2295                                        <?php else : ?>
     2296                                                <?php echo $args['comment_notes_before']; ?>
    23352297                                                <?php
    23362298                                                /**
    2337                                                  * Fires at the bottom of the comment form, inside the closing </form> tag.
     2299                                                 * Fires before the comment fields in the comment form.
    23382300                                                 *
    2339                                                  * @since 1.5.0
     2301                                                 * @since 3.0.0
     2302                                                 */
     2303                                                do_action( 'comment_form_before_fields' );
     2304                                                foreach ( (array) $args['fields'] as $name => $field ) {
     2305                                                        /**
     2306                                                         * Filter a comment form field for display.
     2307                                                         *
     2308                                                         * The dynamic portion of the filter hook, `$name`, refers to the name
     2309                                                         * of the comment form field. Such as 'author', 'email', or 'url'.
     2310                                                         *
     2311                                                         * @since 3.0.0
     2312                                                         *
     2313                                                         * @param string $field The HTML-formatted output of the comment form field.
     2314                                                         */
     2315                                                        echo apply_filters( "comment_form_field_{$name}", $field ) . "\n";
     2316                                                }
     2317                                                /**
     2318                                                 * Fires after the comment fields in the comment form.
    23402319                                                 *
    2341                                                  * @param int $post_id The post ID.
     2320                                                 * @since 3.0.0
    23422321                                                 */
    2343                                                 do_action( 'comment_form', $post_id );
     2322                                                do_action( 'comment_form_after_fields' );
    23442323                                                ?>
    2345                                         </form>
    2346                                 <?php endif; ?>
    2347                         </div><!-- #respond -->
    2348                         <?php
    2349                         /**
    2350                          * Fires after the comment form.
    2351                          *
    2352                          * @since 3.0.0
    2353                          */
    2354                         do_action( 'comment_form_after' );
    2355                 else :
    2356                         /**
    2357                          * Fires after the comment form if comments are closed.
    2358                          *
    2359                          * @since 3.0.0
    2360                          */
    2361                         do_action( 'comment_form_comments_closed' );
    2362                 endif;
     2324                                        <?php endif; ?>
     2325                                        <?php
     2326                                        /**
     2327                                         * Filter the content of the comment textarea field for display.
     2328                                         *
     2329                                         * @since 3.0.0
     2330                                         *
     2331                                         * @param string $args_comment_field The content of the comment textarea field.
     2332                                         */
     2333                                        echo apply_filters( 'comment_form_field_comment', $args['comment_field'] );
     2334                                        ?>
     2335                                        <?php echo $args['comment_notes_after']; ?>
     2336                                        <p class="form-submit">
     2337                                                <input name="<?php echo esc_attr( $args['name_submit'] ); ?>" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" class="<?php echo esc_attr( $args['class_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
     2338                                                <?php comment_id_fields( $post_id ); ?>
     2339                                        </p>
     2340                                        <?php
     2341                                        /**
     2342                                         * Fires at the bottom of the comment form, inside the closing </form> tag.
     2343                                         *
     2344                                         * @since 1.5.0
     2345                                         *
     2346                                         * @param int $post_id The post ID.
     2347                                         */
     2348                                        do_action( 'comment_form', $post_id );
     2349                                        ?>
     2350                                </form>
     2351                        <?php endif; ?>
     2352                </div><!-- #respond -->
     2353                <?php
     2354                /**
     2355                 * Fires after the comment form.
     2356                 *
     2357                 * @since 3.0.0
     2358                 */
     2359                do_action( 'comment_form_after' );
     2360        else :
     2361                /**
     2362                 * Fires after the comment form if comments are closed.
     2363                 *
     2364                 * @since 3.0.0
     2365                 */
     2366                do_action( 'comment_form_comments_closed' );
     2367        endif;
    23632368}
     2369
     2370/**
     2371 * Returns the ID to use for the comment from container.
     2372 *
     2373 * Can be used in HTML, when $with_hash is false, or to target the container in JavaScript, when $with_hash is true.
     2374 *
     2375 * @since 4.2.0
     2376 *
     2377 * @param bool $with_hash Optional. Whether to return with a hash (#) or not. Default is true.
     2378 *
     2379 * @return string
     2380 */
     2381function get_comment_container_id( $with_hash = true ) {
     2382
     2383        /**
     2384         * Modify the ID used for the comment reply container
     2385         *
     2386         * @since 4.2.0
     2387         *
     2388         * @param string $reply_id The ID to use
     2389         */
     2390        $reply_id = apply_filters( 'comment_container_id', 'respond' );
     2391        $reply_id = sanitize_title( $reply_id, 'respond' );
     2392        if ( $with_hash ) {
     2393                if ( ! strpos( $reply_id, '#' ) ) {
     2394                        $reply_id = '#' . $reply_id;
     2395                }
     2396        } else {
     2397                if ( strpos( $reply_id, '#' ) ) {
     2398                        $reply_id = str_replace( '#', '', $reply_id );
     2399                }
     2400        }
     2401
     2402        return $reply_id;
     2403
     2404}