如何使WordPress注释域成为必填项?

时间:2010-12-13 作者:danixd

这是我的表格:

<form action="<?php echo get_option(\'siteurl\'); ?>/wp-comments-post.php" method="post" id="commentform" class="validate">  
   <?php if($user_ID) : ?>  
   <?php else : ?>
   <div class="label_container">
      <div class="left">
         <label for="author" class="label label_name">Name*</label>                 
      </div>
      <div class="right">
         <label for="email" class="label label_email">Email*</label>              
      </div>
      </div>
   <div class="input_container">
      <input id="name" name="author" class="required input_text input_name" type="text" value="" /> 
      <input id="email" name="email" class="required input_text email input_email" type="text" value="" />
   </div>         
   <?php endif; ?>
      <div class="label_container"> 
         <label for="comment" class="label label_comment">Comment</label>                 
      </div>
   <textarea id="comment_box" class="required input_comment" name="comment" cols="40" rows="6"></textarea>   
   <p><input name="submit" class="input_submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />  
   <input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></p>  
   <input type="hidden" id="redirect_to" name="redirect_to" value="<?php echo get_bloginfo(\'wpurl\');?>/comment">
   <?php do_action(\'comment_form\', $post->ID); ?>  
</form>
我在所有输入上都有必填字段,但它只在注释文本字段上起作用。

有什么想法吗?

2 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

首先,我强烈建议使用comment_form() 作用以上所有代码都放在一行中(如果需要调整部分代码,则更多)。您可以根据需要在管理区域的设置部分指定姓名和电子邮件:

Discussion settings

SO网友:Peter Rowell

(注意:我是一名经验丰富的开发人员,但我对WP代码库还不熟悉,所以在这种情况下,请看下面的内容。)

这个.required CSS类似乎用于样式化,但不用于逻辑。还有另外两类可能的兴趣--form-requiredaria-required. form-required 在wp includes/js/wp ajax响应中特别检查。dev.js(缩小版是页面上引用的版本),用于验证。但是,在wp comments post中明确检查注释中的必填字段(其设置由John Bloch指出)。php(第76行附近),似乎没有一种通用的机制来扩展它。一、 e.没有这样的循环foreach ($fields as $field) {if ($field.is_required() ...}.

要求字段是更大的表单验证问题的一部分(即不仅需要非空白,而且其内容需要满足某些标准),WP核心代码中似乎没有以一般方式解决这一问题。

结束

相关推荐

在IE7中将HTML添加到标题中会出错

为客户在网站上工作:http://esteyprinting.jasinternetmarketing.com/我在标题中添加了一个HTML表。php包含“致电我们…”以及社交媒体图标。它在大多数浏览器中呈现良好,但IE7将该表搞砸了。我通过W3C验证器运行了它,这部分代码很好。您可以通过将上述URL放入以下位置来了解我的意思:http://ipinfo.info/netrenderer/有什么办法解决这个问题吗?谢谢吉姆