Я работаю над метаполями загрузки WordPress. Когда пользователь загружает изображения, изображения имеют размер в двух измерениях: одно «большой палец», а другое «большое», и они очень точно изменяются. Я сохраняю оба пути измерения изображений в базе данных с разными мета-ключами. Например:
для большого изображения wpc_resize_thumb_images и для больших изображений wpc_resize_big_images.
Когда я сохраняю путь к изображениям в БД, он сохраняется отлично.
Вот мой код для сохранения их в БД:
Для больших изображений
$product_img_path[$count]['wpc_resize_big_img'] = $upload_dir['url'].'/'.$resize_img_name;
update_post_meta($post->ID, 'wpc_resize_big_images', $product_img_path);
В базе данных это сохраняется так:
мета_ключ
wpc_resize_big_images
мета_значение
a:2:{i:1;a:1:{s:18:"wpc_resize_big_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg";}i:2;a:1:{s:18:"wpc_resize_big_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg";}}
и для миниатюр
$product_img_path[$count]['wpc_resize_thumb_img'] = $upload_dir['url'].'/'.$resize_img_name;
update_post_meta($post->ID, 'wpc_resize_thumb_images', $product_img_path);
В базе данных это сохраняется так:
мета_ключ
wpc_resize_thumb_images
мета_значение
a:2:{i:1;a:1:{s:20:"wpc_resize_thumb_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg";}i:2;a:1:{s:20:"wpc_resize_thumb_img";s:79:"http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg";}}
И когда я печатаю их, они показывают мне такой результат:
Большие изображения
$wpc_resize_big_images = get_post_meta($post->ID, 'wpc_resize_big_images', true);
echo "<pre>";
print_r($wpc_resize_big_images);
echo "</pre>";
и результат
Array
(
[1] => Array
(
[wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg
)
[2] => Array
(
[wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg
)
)
Изображения для миниатюр
$wpc_resize_thumb_images = get_post_meta($post->ID, 'wpc_resize_thumb_images', true);
echo "<pre>";
print_r($wpc_resize_thumb_images);
echo "</pre>;
и результат
Array
(
[1] => Array
(
[wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg
)
[2] => Array
(
[wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg
)
)
Теперь мой вопрос: как я могу объединить и сохранить в базе данных оба измерения с одним мета-ключом, и когда я печатаю мета-ключ, он дает мне такой результат
Я хочу это
Array
(
[1] => Array
(
[wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-212x159.jpg
[wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_55-500x375.jpg
)
[2] => Array
(
[wpc_resize_thumb_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-212x141.jpg
[wpc_resize_big_img] => http://localhost/test/wp-content/uploads/2015/06/Wallpaper_51-500x333.jpg
)
)
save
, а затемmerge
, вместо этого .. сохраните его уже объединенным. 2) создайте новую строку таблицы и назначьте, например,id
... (то же самое, что и оба), тогда вы сможете использовать командуjoin
в своем запросе. - person gmo   schedule 18.06.2015