Я добавил мета-окно на страницу new-post
, которое позволяет пользователям добавлять фотографии и писать описание. См. прикрепленное изображение.
Итак, теперь я хочу сохранить эти данные. Как видите, у самой фотографии тоже есть свои метаданные (название, URL и описание). Таким образом, хранение этих значений в многомерном массиве, я думаю, будет иметь больше смысла.
$photo_meta_data = array(
'photo1' => array('title'=>'aaa', 'url'=>'http://..', 'desc'=>'ffff'),
'photo2' => array('title'=>'aaa', 'url'=>'http://..', 'desc'=>'ffff'),
'photo3' => array('title'=>'aaa', 'url'=>'http://..', 'desc'=>'ffff'),
)
Но как это сделать? Это код, который я застрял в своем метабоксе.
if( isset( $_POST[ 'photo-title1' ] ) ) {
update_post_meta( $post_id, 'photo-title1', sanitize_text_field( $_POST[ 'photo-title1' ] ) );
}
Я просто сохраняю данные поля как одно значение.
И в настоящее время я храню значения в таблице wp_postmeta
вот так...
PostId MetaKey Value
175 photo-title1 .....
175 photo-URL1 .....
175 photo-desc1 .....
175 photo-title2 .....
175 photo-URL2 .....
175 photo-desc2 .....
176 photo-title1 .....
176 photo-URL1 .....
176 photo-desc1 .....
Итак, это много данных для таблицы wp_postmeta
, не так ли?
Есть ли более организованный способ сделать это? Должен ли я использовать отдельную таблицу для этих пользовательских метаданных? Или просто сделать, как я сделал?
Спасибо!