• vialist2011

    (@vialist2011)


    どなたかお助けください。
    ネットで調べても出てこないのでここで教えてください!
    投稿画面に「Advance Custom Feild」を使用して、チェックボックスを追加しています。
    このチェックボックスを利用して、条件で振り分けたいです。
    チェックボックスの内容が5つあり、これをチェックがあるものは文字の前に緑色の四角のリスト、チェックがないものは文字の前に白色の四角のリストになるようにしたいです。
    この四角のリストについてはCSSで背景や、リストで設置でもOKです。
    わかるかたいらっしゃいましたらぜひお教えください。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • jdbb

    (@jdbb)

    Advance Custom Feildのチェックボックスの返り値はカンマ区切りの文字列だった気がするので(うろ覚えですが)

    $checkbox_values = (get_field(‘your_field’))?explode(‘,’,get_field(‘your_field’)):array();
    で値を入れてから
    in_array()で判断させるのがよろしいかと思います。

    トピック投稿者 vialist2011

    (@vialist2011)

    回答有難うございます!
    in_array()で判断させた後CSSに指示出すことは可能でしょうか??
    現在のベストとしては背景(画像)をあるorなしで分けれることがベストです。
    初心者で申し訳ありませんが指導していただけると幸いです。
    よろしくお願いします!

    jdbb

    (@jdbb)

    どのような実装をしているか、どのようなCSSを当てるのかに依って変わります。
    in_arrayを判定材料にしてif文を軸にecho文を組み合わせるだけですので
    検索エンジンなどで探しつつ実際にやってみたほうが理解が進むと思います。

    php echo if

    トピック投稿者 vialist2011

    (@vialist2011)

    ありがとうございます。
    ネットで探してみましたがなかなか思うようなものに行き着きません。
    解決した際には方法を掲載いたします、

    トピック投稿者 vialist2011

    (@vialist2011)

    僕がやりたいのは、
    チェックボックスの内容が
    A, B , C , D , Eとあって
    チェックされた項目が A , Eの場合
    A , E → 緑色の正方形の画像を表示
    B , C , D → 白の正方形の画像を表示
    としたいのですが上記方法でも出来そうにありませんでした。
    別のデザインを考えたいと思います。
    ありがとうございました。

    Tsuyoshi.

    (@andante0727)

    vialist2011さん、今晩は。

    横から失礼致します。

    Advanced Custom Fields v3.5.3.1
    WordPress 3.4.2

    で試してみました。ざっくりこんな感じでどうでしょうか。
    赤、青、黄という順にカスタムフィールドを定義しています。

    <?php
    //チェックボックスフィールドの値取得(チェックがあれば、配列で返ってくる)
    $fields = get_field( 'color' );
    
    if( is_array( $fields ) ) {
    
    	//in_arrayで一括検索するため配列を入れ子にする
    	$fields = array( $fields );
    
    	//赤と青が選択されている時(赤、青の順で定義されている前提)
    	if( in_array( array( '赤','青' ), $fields ) ) {
    		echo "赤と青が選択されました。";
    	}
    
    	//赤と黄が選択されている時(赤、黄の順で定義されている前提)
    	if( in_array( array( '赤','黄' ), $fields ) ) {
    		echo "赤と黄が選択されました。";
    	}
    }
    ?>

    例の場合、赤と青にチェックが入ってると配列変数$fieldsの中身は以下のようになっています。

    array
      0 =>
        array
          0 => string '赤' (length=3)
          1 => string '青' (length=3)
    トピック投稿者 vialist2011

    (@vialist2011)

    返信ありがとうございます。
    上記のものだと、画像の取得ができなくないですか??
    初心者で申し訳ないですが、その部分のアドバイスをいただければ幸いです。
    よろしくお願いします!

    Tsuyoshi.

    (@andante0727)

    vialist2011さん、返信遅れました。

    echo “赤と青が選択されました。”;

    echo “赤と黄が選択されました。”;

    上記の部分を

    echo ‘<img src=”画像のパス” />’;

    みたいに、変えてやればいいだけです。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「チェックボックスの条件」には新たに返信することはできません。