web-dev-qa-db-ja.com

コメントフォームの送信ボタンをdivで囲む方法

ワードプレス関数comment_form関数を使用しながら、HTML要素で送信ボタンをラップする方法はありますか。

$comments_args = array(
            'id_form'               => 'main-contact-form',
            'class_form'            => 'contact-form',
            'class_submit'          => 'btn btn-primary btn-lg',
            'label_submit'          => 'Add Comment',
            'fields'                =>  $fields,
            'title_reply_before'    => '<div class="message_heading"><h4>',
            'title_reply_after'    => '</h4><p>Make sure you enter the(*)required information where indicate.HTML code is not allowed</p></div>',
            'comment_field' => '
                <div class="row"><div class="col-sm-7">                        
                    <div class="form-group">
                        <label>Message *</label>
                        <textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
                    </div> 
                </div>'

        );

        comment_form($comments_args);

送信ボタンの出力コードは次のようにします。

 <div class="form-group">
     <input type="submit" class="btn btn-primary btn-lg>
 </div>
6
Ashish

comment_form function'ssubmit_buttonパラメータを使って送信ボタンのHTMLを変更することができます。

submit_buttonのデフォルトのHTMLは

<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />

このようにコードを変更することができます。

$comments_args = array(
   ....

   'submit_button' => '<div class="form-group">
            <input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />
        </div>'

   ....
);

更新:

%1$s%2$sなどについて.

comment_form() sourceを見ると、 submit_button がこのようにsprintfを通過していることがわかります。

$submit_button = sprintf(
  $args['submit_button'],
    esc_attr( $args['name_submit'] ),
    esc_attr( $args['id_submit'] ),
    esc_attr( $args['class_submit'] ),
    esc_attr( $args['label_submit'] )
);
9
bravokeyl

テーマのfunctions.phpファイルのコードの下に配置すると、divの中に送信ボタンが折り返されます。

// define the comment_form_submit_button callback
function filter_comment_form_submit_button( $submit_button, $args ) {
    // make filter magic happen here...
    $submit_before = '<div class="form-group">';
    $submit_after = '</div>';
    return $submit_before . $submit_button . $submit_after;
};

// add the filter
add_filter( 'comment_form_submit_button', 'filter_comment_form_submit_button', 10, 2 );
5
Prasad Nevase

さらに更新された答え:

'submit_field' => '<p class="form-submit">%1$s %2$s</p>',
0