Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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

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.

share|improve this question

3 Answers 3

up vote 1 down vote accepted

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.

share|improve this answer

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.

share|improve this answer

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 ?>
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.