在评论提交按钮旁边添加一条文本消息

时间:2013-03-28 作者:sharp12345

在屏幕截图中,在提交按钮旁边显示文本消息的最干净方式是什么:

example of what I am talking about

我目前正在编辑文件wp-includes/comment-template 线1577 (wordpress 3.5)

之前:

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

<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)
我知道这不是最好的方法,但什么是最好的方法。

我更喜欢作为插件,但编辑一个主题就可以了。

3 个回复
最合适的回答,由SO网友:birgire 整理而成

你应该not 编辑Wordpress核心文件!

如果你有comment_id_fields() 在评论模板中,如下所示:

<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>
您可以使用:

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>";
}
并将其放入functions.php 在当前主题目录中。

SO网友:Dave Romsey

是的,你说得对,编辑核心不好。这里有一种方法:

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\' ) );
}
您可以将其添加到主题的功能中。php或将其放入插件(如果需要)。

SO网友:seravifer9

您可以从文件注释中添加文本。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 ?>

结束

相关推荐

Display All Non-Used Plugins

我的公司目前拥有大约20个多站点,并且每天都在增长。我们正在尝试通过插件并制定标准。IE,表单使用插件X。然而,我们还没有找到一种单一的方法来检查和系统地显示哪些插件甚至没有被使用。是否有一个功能可以向我们显示已使用或未使用的插件?我试着寻找我能想到的一切,但我一生都找不到答案。