我有一个我认为是一个简单的问题,但是,我被难住了。我正在为插件的 Wordpress 中的自定义类型处理自定义字段列表。我希望根据链接的另一个帖子拥有动态数量的自定义字段(这可能是说明问题的一种复杂方式)。
它似乎适用于我在页面上的输入类型,但是对于输入文件类型,它是只读的,每次我单击以更新以前存储的值时都会丢失。我理解为什么会发生这种情况,当页面在保存值后加载时,没有值。我在标签中显示图像。当我将不同的图像添加到不同的自定义字段时,原始图像现在不会向 php 脚本发送任何数据。因此,原始值将丢失。
以下是相关的 php:
// Attribute Images...
$save_img_values = array();
foreach ($_FILES['paired_att_img']['name'] as $key => $att_img) {
$file_name = $_FILES['paired_att_img']['name'][$key];
$file_tmp = $_FILES['paired_att_img']['tmp_name'][$key];
$upload = wp_upload_bits($file_name, null, file_get_contents($file_tmp));
if (isset($upload['error']) && $upload['error'] != false) {
continue;
} else {
$save_img_values[$key] = $upload['url'];
}
}
update_post_meta($post->ID, 'paired_atts_img', $save_img_values);
请不要对可怕的代码发表评论,它需要重构,但我想先让它工作。
所以实际上我找到了答案!请随时让我知道为什么如果不是这样,这不是一个好主意,但本质上我只是添加了这个:
$custom_imgs = get_post_meta($post->ID, 'paired_atts_img', false);
if (count($custom_imgs) > 0)
$custom_img = $custom_imgs[0];
else
$custom_img = array();
$save_img_values = $custom_img;
然后其余的像以前一样。因此,从本质上讲,我们在保存而不是加载时检索值。也许 asp.net 的时间太长了,阻止了我看到如此明显的东西。