是否可以这样做,如果可以,怎么做?
#1 楼
使用wp_insert_post()和add_post_meta(),如下所示:// insert the post and set the category
$post_id = wp_insert_post(array (
'post_type' => 'your_post_type',
'post_title' => $your_title,
'post_content' => $your_content,
'post_status' => 'publish',
'comment_status' => 'closed', // if you prefer
'ping_status' => 'closed', // if you prefer
));
if ($post_id) {
// insert post meta
add_post_meta($post_id, '_your_custom_1', $custom1);
add_post_meta($post_id, '_your_custom_2', $custom2);
add_post_meta($post_id, '_your_custom_3', $custom3);
}
#2 楼
除了上述@webaware的好答案之外,自wordpress 4.4.0起,所有这些都可以通过wp_insert_post调用来处理: $post_id = wp_insert_post(array (
'post_content' => $content,
'post_title' => $title,
'post_type' => 'your_custom_post_type',
'post_status' => 'publish',
// some simple key / value array
'meta_input' => array(
'your_custom_key1' => 'your_custom_value1',
'your_custom_key2' => 'your_custom_value2'
// and so on ;)
)
));
if ($post_id) {
// it worked :)
}
#3 楼
使用Gravity Forms插件可以很容易地做到这一点。您可以构建一个在后端填充“自定义帖子类型”的表单。该帖子可以设置为草稿或已发布。添加自定义字段没有问题。就我而言,我用它来收集客户推荐。评论
我喜欢这种解决方案,尤其是当您将其交付给想要自己管理表单的客户时。
– Webaware
2012-12-26 23:42
评论
即使在WordPress 4.4.2上也可作为魅力使用:)!
–jave.web
16年4月11日在6:12
如今,您只需通过wp_insert_post中的meta_input键添加元文件:'meta_input'=> ['_your_custom_1'=> $ custom1,'_your_custom_2'=> custom2]
–安德烈亚斯(Andreas)
19年5月21日在11:08
@Andreas好点,我建议您将其添加为新答案,并让它开始获得投票。现在应该是答案。
– Webaware
19年5月21日在22:48
Thx @webaware :)
–安德烈亚斯(Andreas)
19年5月22日在23:58
即使在WordPress 5.1上也能发挥作用:)!
–我是最愚蠢的人
19年6月6日在4:43