2010-08-30 86 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個這樣的

指向優先

它可以是父代主題中的此掛鉤上的其他過濾器或在您的代碼後調用的插件。