在Drupal 7评论中,如何隐藏/禁用匿名评论者的主页字段?
答案 0 :(得分:4)
虽然这里有很多答案,但没有一个能在一个易于复制和粘贴的块中提供所有代码:
/**
* Implements hook_form_FORM_ID_alter().
*
* Remove homepage field from comments form.
*/
function THEMENAME_form_comment_form_alter(&$form, &$form_state) {
$form['author']['homepage']['#access'] = FALSE;
}
将此代码放入主题template.php中,将THEMENAME替换为主题名称。
答案 1 :(得分:2)
在drupal安装文件夹中打开文件themes/<your_theme>/templates/comment-wrapper.tpl.php
,并在HTML代码前添加此行:
<?php $content['comment_form']['author']['homepage'] = null; ?>
或至少在
之前<?php print render($content['comment_form']); ?>
这样就可以在显示给用户的表单中停用主页字段。
你也可以做@Robert所说的并选择“匿名海报可能不会留下他们的联系信息”,但你也可以在没有电子邮件信息的情况下发表评论。如果您只想隐藏表单中的主页字段并保留电子邮件(例如,使用Gravatar),那么这一点黑客应该可以解决问题。如果您的网站有多个主题,请确保在显示评论表单的每个主题中都这样做。
答案 2 :(得分:2)
在合适的form_alter()
挂钩中,执行以下操作:
$form['author']['homepage']['#access'] = FALSE;
这比使用unset()
或将$form['author']['homepage']
设置为null
更好,如其他答案中所述,因为comment_form_validate()
函数会抛出难看的错误。
归功于Art Williams
答案 3 :(得分:1)
管理»结构»内容类型»(您的内容类型)»评论设置»匿名评论»匿名海报可能不会/可能/必须留下他们的联系信息。
答案 4 :(得分:0)
这是三线定制模块解决方案。我通常会为每个站点保留一个custom_site_tweaks模块。
function CUSTOM_form_comment_node_blog_post_form_alter(&$form, &$form_state, $form_id) {
unset($form['author']['homepage']);
}
BTW:这是一种去激励垃圾邮件的好方法。