Warning: Undefined array key -1 in /home/yuzumaru/yuzumaru.co.jp/public_html/wppart.yuzumaru.co.jp/wp-includes/post-template.php on line 330

Warning: Undefined variable $script in /home/yuzumaru/yuzumaru.co.jp/public_html/wppart.yuzumaru.co.jp/wp-content/plugins/HeaderFooter_insert/HeaderFooer_insert.php on line 168

mw wp form

MW WP FORM のラジオボタンなどのタグに ID がつかないバグ

MW WP FORM のラジオボタンなどのタグに ID がつかないというバグがあります。

通常は id は必要ありませんが、MW WP FORM の表示内容を動的に動かしたい場合必要になります。

JavaScript でコントロールしようとする場合 id は必須です。

ラジオボタンなどのショートカットを処理するモジュールの場所

ラジオボタンなどのショートカットを処理するモジュールは、
mw-wp-form/templates/form-fields にある、XXXX.php で処理されています。

XXXX は、フィールド名になっていますので読むとたぶんわかると思います。

例えば、ラジオボタンならば、radio.php です。

ラジオボタンに ID を付ける場合は、radio.php のソースを開き、テンプレートを修正します。
if ( ‘true’ === $vertically ) {
 $vertically_class = ‘vertical-item’;
} else {
 $vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
 <span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
  <label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
   <input type=”radio”
    name=”<?php echo esc_attr( $field[‘name’] ); ?>”
    value=”<?php echo esc_attr( $field_value ); ?>”
    <?php checked( $field_value, $value, true ); ?>
    <?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
    <?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
   />
   <span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
  </label>
 </span>

input の type radio を作っているところに id= がないので id = を追加します。

if ( ‘true’ === $vertically ) {
 $vertically_class = ‘vertical-item’;
} else {
 $vertically_class = ‘horizontal-item’;
}
?>
<?php foreach ( $fields as $field_value => $field ) : ?>
 <span class=”mwform-radio-field <?php echo esc_attr( $vertically_class ); ?>”>
  <label <?php echo MWF_Functions::generate_input_attribute( ‘for’, $field[‘id’] ); ?>>
   <input type=”radio”
    name=”<?php echo esc_attr( $field[‘name’] ); ?>”
    id=”<?php echo esc_attr( $field[‘id’] ); ?>”    value=”<?php echo esc_attr( $field_value ); ?>”
    <?php checked( $field_value, $value, true ); ?>
    <?php echo MWF_Functions::generate_input_attribute( ‘id’, $field[‘id’] ); ?>
    <?php echo MWF_Functions::generate_input_attribute( ‘class’, $field[‘class’] ); ?>
   />
   <span class=”mwform-radio-field-text”><?php echo esc_attr( $field[‘label’] ); ?></span>
  </label>
 </span>
スポンサードリンク

関連記事一覧