フォーラムへの返信

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: update_post_meta()のパラメータに配列が使えない
    トピック投稿者 TKO_W

    (@tko_w)

    KUCKLUさん、
    var_dump()exitのペアでチェックしながら進めたところ、
    おかげさまで通りました!

    関数外で配列を定義しておいて、関数内で配列をglobal宣言したところ、

    update_post_meta($post->ID, $Table[$m][$n], $_POST[$Table[$m][$n]]);

    の記述で見事に反映されました。

    初心者にお付き合い頂き、感謝致します m(_ _)m

    フォーラム: 使い方全般
    返信が含まれるトピック: update_post_meta()のパラメータに配列が使えない
    トピック投稿者 TKO_W

    (@tko_w)

    KUCKLUさん、ありがとうございます。

    update できていても、正しくgetできていない可能性もありますね。
    明日職場で確認してみます。

    と、ここで別の問題が気になってきました。
    参考にしたコードにならい、
    チェックボックスの値を保存する関数を定義して、
    その中で配列要素を呼び出そうとしているのですが、

    function my_box_save($post_id) {
      global $post;
      ...
      update_post_meta($post->ID, $Table[$m][$n], $_POST[$Table[$m][$n]]);
    }
    add_action('save_post', 'my_box_save');

    恥ずかしながらグローバル変数、変数のスコープという概念があることを今日知りました。
    配列$Tableは特にグローバル宣言しておりません。

    配列も関数のなかでグローバル宣言できるものなのでしょうか。
    もしくは関数のなかで再度、配列を定義しなおせば、
    認識してくれるのでしょうか。

    こちらも試してみたいと思います。

    フォーラム: 使い方全般
    返信が含まれるトピック: update_post_meta()のパラメータに配列が使えない
    トピック投稿者 TKO_W

    (@tko_w)

    KUCKLUさん、お返事ありがとうございます。

    第2引数に使っている配列要素$Table[$m][$n]はinputのname指定にも使っているカスタムフィールドの項目名ですので、バリューではないんですよね。

    <input> で入力したバリューは$_POST[‘カスタムフィールド名’]で取得できてるのですが、ここに配列要素に使おうとすると反映されないという症状です。

3件の返信を表示中 - 1 - 3件目 (全3件中)