用户添加多个字段的Metabox和上传框

时间:2012-09-04 作者:smogg

我正在尝试构建一个系统,用户可以根据需要在帖子中添加任意多的字段。我使用的代码来自this 线一切正常,只是我无法上传。

下面是我在foreach循环中添加的代码dynamic_inner_custom_box() 功能:

<input class="upload_file" type="text" size="45" id="items[%1$s][picture]" name="items[%1$s][picture]" value="%6$s" />
<input class="upload_button button" type="button" value="Upload File" />
<input class="upload_file_id" type="hidden" id="items[%1$s][picture]_id" name="items[%1$s][picture]_id" value="%6$s" />
The%6$s 价值是item[\'picture\'] ofc。我不明白这是怎么回事。上载有两个字段-.upload_file.upload_file_id. 如果我是正确的,我需要添加_id 给我的.upload_file\'的名称,并将其另存为.upload_file_id\'s名称。问题是,当我从上传thickbox中选择一些图像时,它不会将链接放在我的输入字段中。我已经玩了一段时间了,我可以通过玩名字/id来获得这个链接,但我无法保存数据。我的代码中有什么错误?我是否需要以某种方式扩展save函数?

@编辑将代码更改为以下内容后:

<input class="upload_file" type="text" size="45" id="picture_%1$s" name="picture_%1$s" value="%6$s" />
<input class="upload_button button" type="button" value="Upload File" />
<input class="upload_file_id" type="hidden" id="picture_%1$s_id" name="items[%1$s][picture]" value="%6$s" />
我终于保存了一些东西,我能够暂时将附件链接放在正确的位置。当我保存图片时,会在应该的位置插入一个链接,但保存后,数据库中只存储了一些数字(可能是附件ID?)。

1 个回复
最合适的回答,由SO网友:smogg 整理而成

以下是我是如何做到这一点的。不需要更改保存功能。我一直试图同时保存这两个字段的数据,这就是为什么它不起作用。

<input class="upload_file" type="text" size="45" id="picture_%1$s" name="picture_%1$s" value="%6$s" />
<input class="upload_button button" type="button" value="Upload File" />
<input class="upload_file_id" type="hidden" id="picture_%1$s_id" name="items[%1$s][picture]" value="%7$s" />
存储在中的值.upload_file_id 是附件ID(%7$s == item[\'picture\']).中显示的值.upload_file (%6$s) 是wp_get_attachment_image_src 像这样:

$img = wp_get_attachment_image_src($item[\'picture\']);
$img = $img[0];
然后我们开始%6$s 未来$img. 所以在数据库中只存储了附件ID,我们使用WordPress函数显示链接。

结束

相关推荐

Images inside post title

有没有办法在帖子标题中插入图片?它还需要在<title> 标签、永久链接等。我之所以需要这样做,是因为我有一个客户希望在页面标题中使用他们的徽标,而不是纯文本。因此,图像可能位于标题中的任何位置,因此我不能只是附加/前置图像。我能想到的唯一解决方案是使用javascript进行查找和替换,但这似乎不是一个很好的解决方案。。。