0

WordPressメタボックスにラジオグループオプションを実装しました。それぞれのラベルが付いたメタボックスに希望のラジオグループを取得しましたが、ラジオを選択したり、使用している投稿を保存したりするときに、チェック済みのステータスを更新できませんでした。入れないといけないことがあると思います。

<div class="my radio group">
<h2>my radio group </h2>

 <?php

  $cars = array('BMW', 'FERRARI', 'PORSCHE', 'BENTALI', 'MRX', 'CHEVROLET');


 foreach ($cars as $car) {
    echo  '<input name="my-best-car" type="radio"  onchange="javascript:document.post.submit()"';
    $option = 'id=" ' .$car . '"';
    $option = '<value="' . $car . '"';

    if ($car == $my_favorite_car) $option .= "checked";
    $option .= '>';
    $option .= '<label for=" '.$car .' ">' . $car .'  ';

    $option .=  '</label>';
    echo $option;
  }
 ?>
</div>

WordPressメタボックス保存機能も追加されました。テキストのような私の他のオプションタイプは、適切に更新する&チェックボックスを選択します。以下を使用してRADIO-GROUPメタ値を更新しようとしています。

update_post_meta($post_id, 'my-best-car', $_POST['my-best-car'], true); 
4

1 に答える 1

1

わかりました。値の前に1<余分にあるforeachループで間違いを見つけたので、行は次のようになります。

$option = 'value="' . $car . '"';

また、jsはフォームを送信していないので、たとえば次のようにjs関数をheadに追加します。

<script>
   function submitOnClick(formName){
       document.forms[formName].submit();
   }
</script>

そして、代わりに次の形式で:

onchange="javascript:document.post.submit()"

置く

onclick="submitOnClick(\'myForm\')"

私はそれを試しました、そしてそれはあなたがそれに応じてあなたのフォーム名の名前を変える必要があるだけでうまくいきます

于 2012-12-22T18:25:09.947 に答える