0

カスタム コメント フォームの次のコードがあります。

<?php $fields =  array(

  'fields' => apply_filters( 'comment_form_default_fields', array(

    'author' =>
      '<p class="comment-form-author"><input id="author" name="author" type="text" value="" placeholder="*Please enter your name..." aria-required="true" /></p>',

    'email' =>
      '<p class="comment-form-email"><input id="email" name="email" type="text" value="" placeholder="*Please enter your email..."  aria-required="true" /></p>',

    'comment_field' => 
      '<p class="comment-form-comment"><textarea id="comment" placeholder="*Please type your message here..." name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',

    )),

    'comment_notes_after' => '',

); ?>   
<div class="comments-form"><?php comment_form($fields); ?></div>

ただし、テキストエリアは 2 回表示されます。ラベル付きのデフォルトとラベルなしのカスタム エリアです (こちらのスクリーンショットを参照してください: http://i.imgur.com/SHM0jzi.png )。デフォルトのものを取り除くにはどうすればよいですか?

4

2 に答える 2

3

これは解決されました。comment_field は、comment_form() 関数の個別のパラメーターであるため、「fields」配列にあることは想定されていません。したがって、次のようになります。

<?php $fields =  array(

  'fields' => apply_filters( 'comment_form_default_fields', array(

    'author' =>
      '<p class="comment-form-author"><input id="author" name="author" type="text" value="" placeholder="*Please enter your name..." aria-required="true" /></p>',

    'email' =>
      '<p class="comment-form-email"><input id="email" name="email" type="text" value="" placeholder="*Please enter your email..."  aria-required="true" /></p>',

    )),

    'comment_field' => 
      '<p class="comment-form-comment"><textarea id="comment" placeholder="*Please type your message here..." name="comment" cols="45" rows="8" aria-required="true"></textarea></p>',

    'comment_notes_after' => '',

); ?>   
于 2013-10-03T14:28:42.577 に答える