删除表单中的字段:只适用于“url”,不适用于“电子邮件”?

时间:2012-05-29 作者:Paul

我想删除评论表单中的电子邮件字段。它适用于url 但不是为了email : 电子邮件字段仍然存在。你知道为什么吗?

<?php
function url_filtered($fields)
{
  if(isset($fields[\'url\'])) {
    unset($fields[\'url\']);
  }
  if(isset($fields[\'email\'])){
     unset($fields[\'email\']);
  }
  return $fields;
}
add_filter(\'comment_form_default_fields\', \'url_filtered\');
?>
谢谢

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

这对我来说很好:

<?php
add_filter(\'comment_form_default_fields\', \'wpse53687_filter_fields\');
/**
 * Unsets the email field from the comment form.
 */
function wpse53687_filter_fields($fields)
{
    if(isset($fields[\'email\']))
        unset($fields[\'email\']);
    return $fields;
}
它在主题上失败的一个原因是args被传递到comment_form. 具体来说,主题作者在fields 钥匙插入$args.

作为筛选器名称(comment_form_default_fields) 意味着,这些字段只是默认值。

幸运的是,还有另一个过滤器!comment_form_field_{$name}. 只需挂接并返回false,就可以去掉email字段。

<?php
add_filter(\'comment_form_field_email\', \'__return_false\');

SO网友:Tara

try this:

add_filter(\'comment_form_default_fields\', \'remove_email\');
function remove_email($val) {
    $val[\'email\'] = \'\';
    return $val;    
}
结束

相关推荐

Grasion Forms ExactTarget附加插件:创建新提要时,第2步后不会发生任何操作

这看起来是一个很棒的插件。创建新提要时,我在步骤1中检查适当的ExactTarget列表。第2步提示我选择重力表单,但当我选择表单时,不会发生其他任何事情。我的浏览器检查器将AJAX请求显示给/wp管理/管理ajax。php状态为200,但其响应内容如下:<br /> <b>Fatal error</b>: Uncaught exception \'Exception\' with message \'Serialization of \'SimpleXMLE