TransWikia.com

adding a text message beside the comment submit button

WordPress Development Asked by sharp12345 on January 20, 2021

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.

3 Answers

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.

Correct answer by birgire on January 20, 2021

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.

Answered by Dave Romsey on January 20, 2021

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 ?>

Answered by seravifer9 on January 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP