1

ユーザーがフロントエンドから投稿/編集/投稿を管理できるようにする機能に取り組んでおり、配列の更新で立ち往生しています。

update_post_meta($post_id, 'lapp_appmenu',$_POST['appmenu']);

このメソッドは単一の値に対して機能しますが、配列を処理するときに失敗します (送信すると、以前に設定された値が削除されるだけです)。

前もって感謝します、

ニコラ

編集:

配列はアイテムの無制限のリストです。

<?php
                    $i = 0;
                    if ($appmenu) {
                        foreach($appmenu as $row) { ?>
                            <li><span class="sort hndle">|||</span>
                                <input type="text" name="lapp_appmenu[<?php echo $i; ?>]" id="lapp_appmenu" value="<?php echo $row; ?>" size="30" />
                                <a class="repeatable-remove button" href="#">-</a></li>
                        <?php

                        $i++;
                        }
                    } else { ?>

                        <li><span class="sort hndle">|||</span>
                                    <input type="text" name="lapp_appmenu[<?php echo $i; ?>]" id="lapp_appmenu" value="" size="30" />
                                    <a class="repeatable-remove button" href="#">-</a></li>

                    <?php   }?>
4

1 に答える 1

2

Wordpress は、メタ値を文字列として保存します。配列を渡すupdate_post_metaと、自動的に文字列に変換されます。あなたがする必要があるのはunserialize、データを読み取ろうとするときです。

http://codex.wordpress.org/Function_Reference/update_post_meta (値が文字列に変換されることを説明)

http://php.net/manual/en/function.unserialize.php

于 2013-02-15T07:15:36.380 に答える