WordPress.org

Make WordPress Core

Ticket #10910: test-on-default-theme.002.diff

File test-on-default-theme.002.diff, 4.9 KB (added by beaulebens, 8 years ago)
  • wp-content/themes/default/comments.php

     
    4545        <?php endif; ?>
    4646<?php endif; ?>
    4747
     48<?php
    4849
    49 <?php if ( comments_open() ) : ?>
     50function hookable_comments_log_in() {
     51        if ( !is_user_logged_in() ) { // This is not pretty, it's just here for demonstration purposes!
     52                echo "<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'></script>";
     53                echo '<p><a href="#" onclick="javascript:jQuery(\'#log-in-form\').slideToggle(); return false;">Log in now</a> to save some time</p>';
     54                echo '<div id="log-in-form">' . wp_login_form( array( 'echo' => false, 'redirect' => get_permalink() . '#respond' ) ) . '</div>';
     55                echo '<script type="text/javascript">jQuery(\'#log-in-form\').slideUp();</script>';
     56        }
     57}
    5058
    51 <div id="respond">
     59function hookable_comments_logged_in( $str, $commenter, $identity ) {
     60        if ( !empty( $commenter['comment_author_email'] ) ) {
     61                $str = '<div style="border: dashed 1px #808080; padding: 3px 3px 3px 10px; background: #ebebeb; margin-right: -5px;">
     62                                        <div style="float: right;">' . get_avatar( $commenter['comment_author_email'], 24 ) . '</div>
     63                                        <p>Howdy, <a href="' . admin_url( 'profile.php' ) . '">' . $identity . '</a>! You can comment below, or <a href="' . wp_logout_url( get_permalink() ) . '">logout</a> if you like.</p>
     64                                </div>';
     65        }
     66        return $str;
     67}
    5268
    53 <h3><?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?></h3>
     69function hookable_comments_setup( $defaults ) {
     70        // Adjust the message displayed if users need to log in, but aren't currently.
     71        $str = '<p>' . __( 'You must be logged in to comment.' ) . '</p>' . wp_login_form( array( 'echo' => false, 'redirect' => get_permalink() . '#respond' ) );
     72        if ( get_option( 'users_can_register' ) )
     73                $str .= '<p>' . sprintf( __( 'Not a member yet? <a href="%1$s">Register now</a>.' ), site_url( 'wp-register.php' ) ) . '</p>';
     74        $defaults['must_log_in'] = $str;
     75       
     76        // Add a field to the comment form. This could also be done through the
     77        // comment_form_default_fields filter.
     78        $defaults['fields']['twitter'] = '<p><input type="text" name="twitter" id="twitter" value="@" size="22" tabindex="4" /> <label for="twitter"><small>' . __( 'Twitter username (optional)' ) . '</small></label></p>';
     79       
     80        return $defaults;
     81}
    5482
    55 <div class="cancel-comment-reply">
    56         <small><?php cancel_comment_reply_link(); ?></small>
    57 </div>
     83function hookable_comments_closed() {
     84        echo '<div style="border: dashed 1px #808080; padding: 3px 3px 3px 10px; background: #ebebeb; margin-right: -5px;">' . __( 'Comments are closed, better luck next time cowboy!' ) . '</div>';
     85}
    5886
    59 <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
    60 <p>You must be <a href="<?php echo wp_login_url( get_permalink() ); ?>">logged in</a> to post a comment.</p>
    61 <?php else : ?>
     87add_action( 'comment_form_before', 'hookable_comments_log_in' );
     88add_action( 'comment_form_comments_closed', 'hookable_comments_closed' );
    6289
    63 <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
     90add_filter( 'comment_form_defaults', 'hookable_comments_setup' );
     91add_filter( 'comment_form_logged_in', 'hookable_comments_logged_in', 10, 3 );
    6492
    65 <?php if ( is_user_logged_in() ) : ?>
     93?>
    6694
    67 <p>Logged in as <a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="Log out of this account">Log out &raquo;</a></p>
    68 
    69 <?php else : ?>
    70 
    71 <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
    72 <label for="author"><small>Name <?php if ($req) echo "(required)"; ?></small></label></p>
    73 
    74 <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
    75 <label for="email"><small>Mail (will not be published) <?php if ($req) echo "(required)"; ?></small></label></p>
    76 
    77 <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
    78 <label for="url"><small>Website</small></label></p>
    79 
    80 <?php endif; ?>
    81 
    82 <!--<p><small><strong>XHTML:</strong> You can use these tags: <code><?php echo allowed_tags(); ?></code></small></p>-->
    83 
    84 <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
    85 
    86 <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
    87 <?php comment_id_fields(); ?>
    88 </p>
    89 <?php do_action('comment_form', $post->ID); ?>
    90 
    91 </form>
    92 
    93 <?php endif; // If registration required and not logged in ?>
    94 </div>
    95 
    96 <?php endif; // if you delete this the sky will fall on your head ?>
     95<?php comment_form(); ?>