私はネイティブのWordPress関数comment_form
とwp_list_comments
を使って素晴らしいコメントフォームとスレッドコメントのセットアップをしました。
ただし、特定の投稿用にカスタムのコンテストコメントテンプレートも作成しようとしています。特定のカスタムフィールドが存在するかどうかに基づいて条件付きでcomments_template('/contest-comments.php', true);
を呼び出します。それは素晴らしい仕事です。
私はそれを http://2010.sf.wordcamp.org/attendees/ の線に沿って見させるようにしています。
リンクに囲まれた人の名前とそのアバターのみを表示します。したがって、私のコメントフォームには、名前、電子メール、およびURLの各フィールドのみを表示するようにします。テキスト領域は非表示にする必要があります。
コメントフォームでは、comment_field
に渡している$args
配列のcomment_form
キーに空の値を渡しています。
これはコメントフォームを大丈夫に見せます、しかし誰かがコメントを提出するとき、彼らは彼らのメッセージが空白だったことを言っているWordPressから警告を受けます。
これを解決する方法について何か解決策はありますか?ありがとうございます。
短い答え:そうではありませんが、これを回避することができます。
add_filter('comment_form_field_comment', 'my_comment_form_field_comment');
function my_comment_form_field_comment($default){
return false;
}
add_action('pre_comment_on_post', 'my_pre_comment_on_post');
function my_pre_comment_on_post($post_id){
$some_random_value = Rand(0, 384534);
$_POST['comment'] = "Default comment. Some random value to avoid duplicate comment warning: {$some_random_value}";
}
あなたがこれを特定のページだけにしたいのなら、例えば "boo.php"のように カスタムページテンプレート を作成してください。上記では、現在のページテンプレートがブーである場合にのみこれらのフィルタを追加します(チェックを行うときに現在のページテンプレートを取得するには$post->page_template
を使用します)。
関連する質問