我试图找出如何在多维数组中存储图像和字符串。在admin中,有一个添加由jQuery生成的图像(+文本)的选项,如下所示:
foreach($images as $image){
echo \'<li><input type="hidden" id="imageURL" name="imageURL[]" value="\'. $imageURL .\'" /><textarea name="imageTXT[]" class="imagelist">\'. $imageTXT .\'</textarea> <input type="button" value="\'. __("Remove", "sitnso") .\'" class="remove" /></span></li>\';
}
所有这些都很好。在Wordpress admin中,我得到一个列表,每个列表项有两个字段,一个用于图像URL,另一个用于文本。问题更多的是储蓄。我如何将所有这些信息存储到一个数组中,该数组的外观如下所示,并使用get\\u post\\u meta在正确的字段中获取meta?
Array(
[0] => array(
\'imageURL\' => \'image1.jpg\',
\'imageTXT\' => \'This is text written in imageTXT\'
),
[1] => array(
\'imageURL\' => \'image2.jpg\',
\'imageTXT\' => \'This is text written in imageTXT\'
),
[2] => array(
\'imageURL\' => \'image3.jpg\',
\'imageTXT\' => \'This is text written in imageTXT\'
),
[3] => array(
\'imageURL\' => \'image4.jpg\',
\'imageTXT\' => \'This is text written in imageTXT\'
)
);
谢谢你的帮助。
最合适的回答,由SO网友:Benoti 整理而成
如果要在一个meta\\u键中存储数组,需要在输入名称中添加不同的键。对于我的示例,这是一种检索方式,您需要处于foreach循环中,其中$i是增量,其中包含$i++。要保存值,您需要使用[\'imageUrl\'][]和[\'imagetxt\'][]修改名称输入。
$imageset = get_post_meta($post_id, \'imageset\', true);
$i=0;
foreach($imageset as image){
echo \'<input type="hidden" name="imageset[\'.$i.\'][imageUrl]" value="\'.$imageset[$i][\'imageUrl\'].\'"/>\';
echo \'<textarea name="imageset[\'.$i.\'][imageTxt]">\'.$imageset[$i][\'imageTxt\'].\'</textarea>\';
$i++;
}
我测试它不是为了适应你的口哨声,但我相信你会得到它的!