web-dev-qa-db-ja.com

WordPressはWordPressで空欄または空欄のコメント投稿を許可していますか?

私はネイティブのWordPress関数comment_formwp_list_commentsを使って素晴らしいコメントフォームとスレッドコメントのセットアップをしました。

ただし、特定の投稿用にカスタムのコンテストコメントテンプレートも作成しようとしています。特定のカスタムフィールドが存在するかどうかに基づいて条件付きでcomments_template('/contest-comments.php', true);を呼び出します。それは素晴らしい仕事です。

私はそれを http://2010.sf.wordcamp.org/attendees/ の線に沿って見させるようにしています。

リンクに囲まれた人の名前とそのアバターのみを表示します。したがって、私のコメントフォームには、名前、電子メール、およびURLの各フィールドのみを表示するようにします。テキスト領域は非表示にする必要があります。

コメントフォームでは、comment_fieldに渡している$args配列のcomment_formキーに空の値を渡しています。

これはコメントフォームを大丈夫に見せます、しかし誰かがコメントを提出するとき、彼らは彼らのメッセージが空白だったことを言っているWordPressから警告を受けます。

これを解決する方法について何か解決策はありますか?ありがとうございます。

2
Sahas Katta

短い答え:そうではありませんが、これを回避することができます。

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を使用します)。

関連する質問

7
onetrickpony