ワードプレスのプラグイン、カスタマイズの制作過程とソースを公開。PHP,CSS,HTML,Javascript を無料で覚える。数十年の実務経験のプログラマのサイト。

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>
スポンサードリンク

関連記事

関連サイト