web-dev-qa-db-ja.com

カスタムHTMLコードのcomments.php形式を作成する

comments.phpの一例はavailable here です。

テーマフォルダにcomments.phpファイルを作成しました。私のcontent.phpでは、コメントフォームを表示するための私のHTMLは次のようになっています:

<textarea name="name" rows="8" cols="80"></textarea>
    <div class="t-comment-section">
        <p>Full Name:</p>  <input type="text" name="Full Name">
        <p>Email:</p>  <input type="text" name="Email address">
        <p>Website:</p>  <input type="text" name="Website url">
        <a href=""><i class="fa fa-comment" aria-hidden="true"></i><span> Submit Comment </span></a>
    </div>

どのように私は私のsingle.phpでコメントフォームを表示するのに使用されるであろうHTMLに私のcomments.phpを接続するべきですか?要するにすべての投稿ページ

1
The WP Novice

comment_form() 関数はかなりカスタマイズ可能で、さまざまな引数を受け入れます。これらのサンプル引数を見てください、あなたはあなたのニーズに合うようにそれらを修正することができます:

$fields =  array(
    'author' =>
        '<input name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) .'" size="30" placeholder="'.__('Your name','text-domain').( $req ? ' (Required)' : '' ).'"/>',
    'email' =>
        '<input name="email" type="text" value="' . esc_attr(  $commenter['comment_author_email'] ) .'" size="30" placeholder="'.__('Your email','text-domain').( $req ? ' (Required)' : '' ).'"/>',
);
$args = array(
    'id_form'           => 'commentform',
    'class_form'        => 'comment-form',
    'id_submit'         => 'submit',
    'class_submit'      => 'submit',
    'name_submit'       => 'submit',
    'submit_button'     => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />',
    'title_reply'       => '',
    'title_reply_to'    => __( 'Reply to %s','text-domain' ),
    'cancel_reply_link' => __( 'Cancel comment','text-domain' ),
    'label_submit'      => __( 'Post comment','text-domain' ),
    'format'            => 'xhtml',
    'comment_field'     =>  '<textarea id="comment" name="comment" placeholder="'.__('Comment text','text-domain').'" cols="45" rows="8" aria-required="true">' .'</textarea>',
    'logged_in_as'      => '<p class="logged-in-as">' .
                          sprintf(
                              __( 'Logged in as %1$s. <a href="%2$s" title="%3$s">%4$s</a>', 'text-domain'),
                              $user_identity,
                              wp_logout_url( apply_filters( 'the_permalink', get_permalink( ) ) ),
                              __('Log out?','text-domain'),
                              __('Click to log out.','text-domain')
                          ) . '</p>',
    'comment_notes_before' => '<p class="comment-notes">' . __( 'Your email address will not be published.','text-domain' ) .'</p>',
    'fields'            => apply_filters( 'comment_form_default_fields', $fields ),
);

comment_form( $args );

要素に任意のクラスを追加することも、<div>または<p>でそれらをラップすることもできます。

テキスト領域を他のフィールドの下に移動したい場合は、comment_form_fieldsフィルタを使用できます。

function move_comment_field_to_bottom( $fields ) {
    $comment_field = $fields['comment'];
    unset( $fields['comment'] );
    $fields['comment'] = $comment_field;
    return $fields;
}

add_filter( 'comment_form_fields', 'move_comment_field_to_bottom' );

更新

content.phpファイルにコメントフォームを含めるには、comment.phpの最初のコードを保存してから、次のようにループ内でフォームを呼び出します。

if ( comments_open() || '0' != get_comments_number() ) {
    comments_template();
}

これはあなたのコンテンツにcomment.phpを追加します。

1
Jack Johansson