问题描述

我有一个自定义的帖子类型’Participant’ 与许多自定义字段。我还有一个表单与相应的输入字段供用户填写。当他提交表单时,我想要生成一个新的帖子,每个自定义字段包含用户选择的值。

如果有可能,怎么办?

最佳解决方案

使用 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);
}

次佳解决方案

这可以很容易地使用 Gravity Forms plugin 实现。您可以构建一个在后端填充自定义帖子类型的表单。该帖子可以设置为草稿或已发布。添加自定义字段时没有问题。在我的情况下,我用它来收集客户的推荐。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。