• Resolved yumeko

    (@yumeko)


    投稿フォームを作成して
    <input type=”checkbox” value=”aaa” name=”カスタムフィールド名” id=”カスタムフィールド名”> aaa
    <input type=”checkbox” value=”bbb” name=”カスタムフィールド名” id=”カスタムフィールド名”> bbb
    <input type=”checkbox” value=”ccc” name=”カスタムフィールド名” id=”カスタムフィールド名”> ccc
    として、チェックボックスを作成して、カスタムフィールドに渡しています。
    Smart Custom Fieldsで複数選択した際の値を全て取得したいのですが、うまくいきません。

    <?php
    $temp_data = null;
    $temp_data = get_post_custom($post->ID);
    echo implode(‘,’, $temp_data[‘カスタムフィールド名’]);?>

    では、全てチェックをしても最後の値しか表示されませんでした。

    繰り返しは使用していません。

    よろしくお願いします。

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Takashi Kitajima

    (@inc2734)

    Smart Custom Fields のデータ取得メソッドを使用するとどうでしょうか?

    <?php
    var_dump( SCF::get( ‘カスタムフィールド名’, $post->ID ) );
    ?>

    もしくは、WordPress の標準関数を使用したいのであれば get_post_meta の場合はどうでしょう?

    <?php
    var_dump( get_post_meta( $post->ID, ‘カスタムフィールド名’ ) );
    ?>

    Thread Starter yumeko

    (@yumeko)

    ありがうございます。

    遅くなりましたが、やってみたのですが・・・
    <?php
    var_dump( SCF::get( ‘カスタムフィールド名’, $post->ID ) );
    ?>
    こちらはNULL

    <?php
    var_dump( get_post_meta( $post->ID, ‘カスタムフィールド名’ ) );
    ?>
    こちらは array(0) { }

    と、なりました。
    何か他に必要なコードがあるということでしょうか?

    もう一点、ラジオボタンも
    <?php echo get_post_meta($post->ID , ‘カスタムフィールド名’ ,true); ?>
    で値が表示されるはずですね?

    ラジオボタンも表示されないんです。

    テキストは問題なく表示できています。

    ラジオボタンとチェックボックスの複数の値が全て、空欄になってしまいます。

    初心者であまり、詳しいことがわかっておらず申し訳ありません。
    よろしくお願いします。

    Plugin Author Takashi Kitajima

    (@inc2734)

    うーん、となると何か基本的な部分で何らかの設定ミスがあるのかもしれません。
    Smart Custom Fields でチェックボックスやラジオボタンを定義して、投稿の編集ページでチェックボックスやラジオボタンが表示され、それを選択して保存する、というところまではできていますか? そのとき、投稿の編集画面ではきちんと選択したチェックボックスやラジオボタンの値は保存されていますか?

    Thread Starter yumeko

    (@yumeko)

    お世話になります。

    チェックボックスは、以前のフォーラムを拝見して以下のコードを入れてみましたが
    やはり最後の値しか表示されません。
    <?php
    $market = SCF::get(‘market’);
    if(is_array($market)){
    $data = implode(‘ ‘, $market);
    echo $data;
    }
    ?>

    カスタムフィールド側は、テキストにして、
    投稿フォームからカスタムフィールドに渡しておりますが、
    その時点で最後の値しかわたりません。
    カスタムフィールド側をチェックボックスにしても最後の値しかチェックが入っていませんでした。

    もちろん、直接投稿の画面から入力すると表示されるのですが、
    投稿フォームからカスタムフィールドに渡したいです。

    <input type=”checkbox” value=”aaa” name=”カスタムフィールド名[]” id=”カスタムフィールド名”> aaa
    <input type=”checkbox” value=”bbb” name=”カスタムフィールド名[]” id=”カスタムフィールド名”> bbb
    と、nameに[]を入れると配列になるということでしたので、入れてみましたが、Arrayとでました。

    ラジオボタンは
    <?php echo get_post_meta($post->ID , ‘カスタムフィールド名’ ,true); ?>
    でカスタムフィールド側をテキストにしたら表示されました。

    Plugin Author Takashi Kitajima

    (@inc2734)

    もちろん、直接投稿の画面から入力すると表示されるのですが、
    投稿フォームからカスタムフィールドに渡したいです。

    すみません、ちょっとよくわからなかったのですが、通常とは違う使い方をしようとしているということでしょうか?
    自作のフォームから送信してカスタムフィールドにその情報を保存したいということですかね?そうだとすると保存時の処理に間違いがあるではないでしょうか?

    Thread Starter yumeko

    (@yumeko)

    お世話になります。
    インフルでダウンしてて遅くなりました。

    そうですね、プラグインの問題ではないですね。

    申し訳ありませんでした。
    フォームのチェックをやり直します。

    お騒がせいたしました<(_ _)>

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Smart Custom Fieldsでチェックボックスの値を全て取得したい’ is closed to new replies.