adding a text message beside the comment submit button

What is the cleanest way to display a text message beside the submit button like this in screen shot:

example of what I am talking about

Read More

I am currently doing it by editing the file wp-includes/comment-template line 1577 (wordpress 3.5)

before:

<input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" 
value="<?php echo esc_attr( $args['label_submit'] ); ?>" /> 

after:

<input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" 
value="<?php echo esc_attr( $args['label_submit'] ); ?>" /> 
(your message will only be visible after moderation)

I understand this is not the optimal way to do it, but what is the way to do it.

I prefer as a plugin, but editing a theme would be fine.

Related posts

Leave a Reply

3 comments

  1. You should not edit the WordPress core files!

    If you have comment_id_fields() in your comments template, like this:

    <p class="form-submit">                                                            
        <input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>"
        value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
        <?php comment_id_fields( $post_id ); ?>
    </p>
    

    you might use:

    add_filter("comment_id_fields","my_submit_comment_message");
    function my_submit_comment_message($result){
        return $result." <span>(your message will only be visible after moderation)</span>";
    }
    

    and place it in functions.php in your current theme directory.

  2. Yes, you’re right, editing the core is not good. Here’s one way to do it:

    add_action( 'comment_form', 'wpse_93795_comment_form' );
    function wpse_93795_comment_form( $post_id ) {
        printf( '<span class="submit-comment-note">%s</span>',
          __( 'your message will only be visible after moderation', 'your_text_domain' ) );
    }
    

    You can add this to your theme’s functions.php or put it in a plugin if you want.

  3. You can add the text from the file comments.php

        <?php
        // Do not delete these lines
            if (!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
                die ('Please do not load this page directly. Thanks!');
    
            if ( post_password_required() ) { ?>
                <p class="nocomments"><?php _e('This post is password protected. Enter the password to view comments.'); ?></p>
            <?php
                return;
            }
        ?>
    
        <!-- You can start editing here. -->
    
        <?php if ( have_comments() ) : ?>
            <h3 id="comments"><?php comments_number('0 Comentarios', '1 Comentario', '% Comentarios' );?></h3>
    
            <div class="navigation">
                <div class="alignleft"><?php previous_comments_link() ?></div>
                <div class="alignright"><?php next_comments_link() ?></div>
            </div>
    
            <ol class="commentlist">
            <?php wp_list_comments('type=comment&callback=mytheme_comment');?>
            </ol>
    
            <div class="navigation">
                <div class="alignleft"><?php previous_comments_link() ?></div>
                <div class="alignright"><?php next_comments_link() ?></div>
            </div>
         <?php else : // this is displayed if there are no comments so far ?>
    
            <?php if ( comments_open() ) : ?>
                <!-- If comments are open, but there are no comments. -->
    
             <?php else : // comments are closed ?>
    
            <?php endif; ?>
        <?php endif; ?>
    
        <?php if ( comments_open() ) : ?>
    
        <div id="respond">
    
        <h3><?php comment_form_title( __('Leave a Reply'), __('Leave a Reply to %s' ) ); ?></h3>
    
        <div id="cancel-comment-reply">
            <small><?php cancel_comment_reply_link() ?></small>
        </div>
    
        <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>
        <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>
        <?php else : ?>
    
        <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
    
        <?php if ( is_user_logged_in() ) : ?>
    
        <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php esc_attr_e('Log out of this account'); ?>"><?php _e('Log out &raquo;'); ?></a></p>
    
        <?php else : ?>
    
        <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'"; ?> />
        <label for="author"><small><?php _e('Name'); ?></small></label></p>
    
        <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'"; ?> />
        <label for="email"><small><?php _e('Mail (will not be published)'); ?></small></label></p>
    
        <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
        <label for="url"><small>Web</small></label></p>
    
        <?php endif; ?>
    
        <!--<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>'), allowed_tags()); ?></small></p>-->
    
        <p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
    
        <p><<input name="submit" type="submit" id="<?php echo esc_attr( $args['id_submit'] );>" 
    value="<?php echo esc_attr( $args['label_submit'] ); ?>"/>(your message will only be visible after moderation)
        <?php comment_id_fields(); ?>
        </p>
        <?php do_action('comment_form', $post->ID); ?>
    
        </form>
    
        <?php endif; // If registration required and not logged in ?>
        </div>
    
        <?php endif; // if you delete this the sky will fall on your head ?>