• ###前提・実現したいこと

    WordPressで診断コンテンツを実装したいのですが、うまくできず質問させていただきます。
    イメージとしては下記のようなサイトです。

    ・診断フォーム(該当する項目にチェックをつけてもらう形)
    http://panasonic.jp/beauty/feature/shindan/hair/

    ・診断結果(結果によって異なるテキストと関連記事を表示)
    http://www.skincare-univ.com/selfcheck/000011/result/35/

    — 仕様 —
    該当する項目にチェックをつけて
    チェックした項目の数によって、異なる結果のテキスト + 関連する記事一覧を表示

    ■例)「乾燥肌、オイリー肌」診断コンテンツ

    結果:乾燥肌(項目数0~3個)
    ⇒「乾燥肌」のテキスト + 「乾燥肌」の記事一覧

    結果:オイリー肌(項目数3~6個)
    ⇒「オイリー肌」のテキスト + 「オイリー肌」の記事一覧

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは。
    現状どのような方法で試されていますか?

    おそらくjavascript系でも可能でしょうし、php系でも行けると思います。
    htmlのフォームから値を取って集計→条件分岐→ページを返すみたいな流れになると思います。

    ざっくりで恐縮です。
    プラグイン探してみたらこんなんもありました。
    https://junichi-manga.com/plugin-shindan/

    参考になりましたら幸いです。

    トピック投稿者 okyan

    (@okyan)

    hokutonojikei様

    ご返信ありがとうございます。

    上記のプラグインを試した結果、診断結果によって異なる結果のテキスト表示はできたのですが
    関連記事を吐き出す処理と管理画面上でhtmlコードが使えず細かいデザインができない2点で断念いたしました。

    >htmlのフォームから値を取って集計→条件分岐→ページを返すみたいな流れになると思います。
    ⇒はい、流れとしてはこのイメージです。

    関連記事を出したいのですね。見逃していました。

    それであればphpで処理したほうがよさそうな気がします。
    (診断ボタンのクリックイベントはjavascriptかな)
    WP_queryあたりの関数でタグやカテゴリで投稿を抽出できると思いますので
    そのあたりを絡めるといいかもしれません。

    トピック投稿者 okyan

    (@okyan)

    Javascriptで下記のようなコードでチェック項目の計算はできました。

    ————————————————

    <script>
    function calc(f){
    var sum=0;
    for(var i=0;i<f.length;i++){
    if(f[i].type==”radio” && f[i].checked) sum+=parseInt(f[i].value);
    }
    f.judge.value=sum;
    }
    </script>
    <form action=”#” method=”post”>
    Q1.<br>
    <input type=”radio” name=”Q1″ id=”Q1_1″ value=”1″><label for=”Q1_1″>1点</label><br>
    <input type=”radio” name=”Q1″ id=”Q1_2″ value=”5″><label for=”Q1_2″>5点</label><br>
    <input type=”radio” name=”Q1″ id=”Q1_3″ value=”10″><label for=”Q1_3″>10点</label><br>
    Q2.<br>
    <input type=”radio” name=”Q2″ id=”Q2_1″ value=”1″><label for=”Q2_1″>1点</label><br>
    <input type=”radio” name=”Q2″ id=”Q2_2″ value=”5″><label for=”Q2_2″>5点</label><br>
    <input type=”radio” name=”Q2″ id=”Q2_3″ value=”10″><label for=”Q2_3″>10点</label><br>

    <input type=”text” name=”judge” value=”0″ >
    <input type=”button” value=”判定” onClick=”calc(this.form)”>
    </form>

    ————————————————

    送信ボタンを押すと、別ページに遷移し、合計点によって下記の用に処理を変えたいのですが、Javascriptの場合どのような書き方をすればよろしいでしょうか?

    if ( 合計点が5点未満の場合 )
    {
    合計点が5点未満の処理
    }
    elseif( 合計点が10点未満の場合 )
    {
    合計点が10点未満の処理
    }
    else
    {
    それ以外の処理
    }

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「診断コンテンツを実装したい」には新たに返信することはできません。