2010-08-30 28 views
0

嗨我无法添加我的自定义字段到默认的二十评论窗体。这就是我在我的孩子主题的functions.php文件中做的事 - 我忘记了什么?无法使用comment_form_default_fields钩子更改注释表格

// 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; 
+0

你的代码对我来说很好看 - 我的猜测是''is_page('my-page')'的条件检查应该移到你的过滤器函数中。 – Pat 2010-08-30 11:58:19

+0

我只是完全删除了条件is_page()检查,所以我们可以指出这是一个问题:/ – htmlr 2010-08-30 12:04:30

+0

仍然没有爱吗?恕我直言,我认为定制在WP 3中的意见形式是相当糟糕的记录 – htmlr 2010-09-01 01:20:13

回答

2

我也有类似的问题,即过滤器“comment_form_default_fields”是评论表单上显示的内容,当你还没有登录。

的“comment_form_field_comment”过滤器包含当您登录的代码。

希望这是有道理的,并有助于

+0

感谢您的答复理查德,我发布了这一个前一段时间,并没有在最近做了很多与WordPress的工作,所以当我有机会我会检查出来&如果有效,请接受你的回答;) – htmlr 2011-05-16 00:23:11

0

你可能已经超过10个这样的

指向优先

它可以是父代主题中的此挂钩上的其他过滤器或在您的代码后调用的插件。