Como salvar dados do metabox com foreach
-
Olá,
Tem duas imagens que coloquei no banco de dados na tabela wp_postmeta manualmente, com o valor do meta key:my-image-for-post
, indicando claro o id do post:consigo imprimir no metabox essas imagens que já estao no db ao editar o post. Assim:
$url =get_post_meta($post->ID,'my-image-for-post', false); foreach ($url as $field) { ?> <img src="<?php echo $field;?>" style="width:200px;" /> <?php };
Mas estou tentando salvar as mutiplas imagens que seleciono no metabox ao editar o post.
Consigo selecionar imagens com gerenciador de imagens do wordpress e com jquery preencher a urls e inserir name=’my_image_URL’ no input de cada imagem selecionada:
$("#show").after("<input class='upload_image' type='text' size='36' name='my_image_URL' value= " +attachment.url+ " /></br><img src=" +attachment.url+" class='my_image' src='' width='80px'></br>");
Dentro da
<div id="show">
exibe as imagens selecionadas e os inputs são preenchidos com a url de cada imagem a ser salva.O meta box esta funcionando OK, mas quando vou salvar o post as alterações do conteudo continua ok, mas não salva as imagens do metabox no db, tentei das duas formas abaixo:
1
add_action( 'save_post', function ($post_id) { if (isset($_POST['my_image_URL'])){ $urls = $_POST['my_image_URL']; Foreach ($urls as $url){ $key1_values = get_post_custom_values( 'my-image-for-post', $post_id ); Foreach($key1_values as $value){ update_post_meta($post_id, 'my-image-for-post', $url, $value); } } } });
2 forma que tentei
add_action( 'save_post', function ($post_id) { if (isset($_POST['my_image_URL'])){ $urls = $_POST['my_image_URL']; Foreach ($urls as $url){ update_post_meta($post_id, 'my-image-for-post',$url); } } });
Mas não salva as urls na tabela wp_postmeta, o que posso estar fazendo errado?
Agradeço ajuda
-
Resolvido substituindo
('body')
por(document)
Muitissimo obrigada Felipe
- Esta resposta foi modificada 7 anos, 10 meses atrás por Gisele.
- O tópico ‘Como salvar dados do metabox com foreach’ está fechado para novas respostas.