导出自定义字段图像时,我将得到这个输出,
s:267:"a:9:{s:10:"sm-field-0";s:4:"1228";s:10:"sm-field-1";s:4:"1229";s:10:"sm-field-2";s:4:"1230";s:10:"sm-field-3";s:4:"1231";s:10:"sm-field-4";s:4:"1232";s:10:"sm-field-5";s:4:"1233";s:10:"sm-field-6";s:4:"1234";s:10:"sm-field-7";s:4:"1235";s:10:"sm-field-8";s:4:"1236";}";我可以添加一个函数或php来将其隐藏到URLS中吗?但我不知道。有人能帮忙吗?
发布于 2019-02-18 13:36:38
这是一个序列化字符串,实际上它是一个序列化字符串的序列化字符串,这非常奇怪。您需要将其转换为数组,然后从它返回的is中获取图像URL。
假设$str是包含该字符串的变量,下面是从这些附件is获取图像URL的方法。我把第二个unserialize调用放在if语句中,这样如果值变成一个序列化字符串,它就不会中断
function parseUrlsFromSerializedIds($str) {
$arr = unserialize($str);
if (is_serialized($arr)) {
$arr = unserialize($arr);
}
$results = [];
foreach ($arr as $imageID) {
$url = wp_get_attachment_url($imageID);
$results[] = $url;
}
return implode(',', $results);
}在这个foreach中,您会想要对这个URL做一些事情。我不知道你想把它们全部返回到哪种格式,所以我就不提了。
https://wordpress.stackexchange.com/questions/329095
复制相似问题