无法使用comment_form_default_fields挂钩更改注释表单

时间:2010-08-30 11:42:11

标签: wordpress

您好我无法将自定义字段添加到默认的二十条评论表单中。这就是我在我的孩子主题的functions.php文件中做的事情 - 我忘了什么?

// Customise comment form for garage-sales page
if ( is_page('my-page') ):

add_filter('comment_form_default_fields','my_comment');
function my_comment($fields) {

    // New fields
    $fields['date'] = '<label>Date:</label><input type="text" name="date" value="'.(!empty($_POST['date']) ? $_POST['date'] : '').'" />';
    $fields['start_time'] = '<label>Start time:</label><input type="text" name="start_time" value="'.(!empty($_POST['start_date']) ? $_POST['start_date'] : '').'" />';
    $fields['end_time'] = '<label>End time:</label><input type="text" name="end_time" value="'.(!empty($_POST['start_date']) ? $_POST['start_date'] : '').'" />';
    $fields['early_birds'] = '<label>No early birds?:</label><input type="checkbox" name="early_birds" '.(isset($_POST['early_birds']) ? 'checked' : '').'  />';
    $fields['bad_weather'] = '<label>Bad weather?:</label><input type="checkbox" name="bad_weather" '.(isset($_POST['bad_weather']) ? 'checked' : '').' />';

    // Remove unwanted default fields
    unset($fields['url']);

    return $fields;
}
endif;

2 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,当您未登录时,过滤器“comment_form_default_fields”会显示在评论表单上。

'comment_form_field_comment'过滤器包含您登录时的代码。

希望有意义并且有所帮助

答案 1 :(得分:0)

你必须像这样指出优先级超过10

(?:              # parenthesis for alternation (|), not memory
[^\s,"]          # any 1 character except white space, comma or quote
|                # or
"(?:\\.|[^"])*"  # a quoted string containing 0 or more characters
                 # other than quotes (unless escaped)
)+               # one or more of the above

它可以是父主题中此钩子上的其他过滤器,也可以是代码后调用的插件。