admin管理员组文章数量:1192337
I want to insert post with wp_insert_post and add meta_input in it.
I have to send my data with array but I have problem to send more than one
Here is my code :
wp_insert_post( array(
'post_title' => $post['title'],
'post_type' => 'werknemers',
'meta_input' => array(
foreach($movies as $movie) {
$i++;
array(
'key' => 'title' . $i,
'value' => $movie['title']
),
array(
'key' => 'qty' . $i,
'value' => $movie['qty']
),
array(
'key' => 'desc' . $i,
'value' => $movie['desc']
)
}
)
) );
I change it to this but now it doesn't send values of array to database correctly
foreach($movies as $movie) {
$i++;
$post_args = array(
array(
'key' => 'title' . $i,
'value' => $movie['title']
),
array(
'key' => 'qty' . $i,
'value' => $movie['qty']
),
array(
'key' => 'desc' . $i,
'value' => $movie['desc']
)
);
}
wp_insert_post( array(
'post_title' => '1',
'post_type' => 'departure',
'meta_input' => $post_args
) );
I want to insert post with wp_insert_post and add meta_input in it.
I have to send my data with array but I have problem to send more than one
Here is my code :
wp_insert_post( array(
'post_title' => $post['title'],
'post_type' => 'werknemers',
'meta_input' => array(
foreach($movies as $movie) {
$i++;
array(
'key' => 'title' . $i,
'value' => $movie['title']
),
array(
'key' => 'qty' . $i,
'value' => $movie['qty']
),
array(
'key' => 'desc' . $i,
'value' => $movie['desc']
)
}
)
) );
I change it to this but now it doesn't send values of array to database correctly
foreach($movies as $movie) {
$i++;
$post_args = array(
array(
'key' => 'title' . $i,
'value' => $movie['title']
),
array(
'key' => 'qty' . $i,
'value' => $movie['qty']
),
array(
'key' => 'desc' . $i,
'value' => $movie['desc']
)
);
}
wp_insert_post( array(
'post_title' => '1',
'post_type' => 'departure',
'meta_input' => $post_args
) );
Share
Improve this question
edited Sep 8, 2022 at 12:44
Mehran Pourjenabi
asked Sep 8, 2022 at 11:19
Mehran PourjenabiMehran Pourjenabi
111 silver badge5 bronze badges
3
|
1 Answer
Reset to default 0In your 2nd code snippet, you're redefining $post_args
for each $movie
. Try this instead:
$post_args = array();
foreach($movies as $movie) {
$i++;
$post_args[] = array(
array(
'key' => 'title' . $i,
'value' => $movie['title']
),
array(
'key' => 'qty' . $i,
'value' => $movie['qty']
),
array(
'key' => 'desc' . $i,
'value' => $movie['desc']
)
);
}
wp_insert_post( array(
'post_title' => '1',
'post_type' => 'departure',
'meta_input' => $post_args
) );
本文标签: wp insert postMultipe array in metainput
版权声明:本文标题:wp insert post - Multipe array in meta_input 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1738432660a2086499.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
$post_args
for every$movie
in$movies
. Set$post_args = array();
before theforeach()
begins, and then you can add items to it. – Pat J Commented Sep 8, 2022 at 14:43