以编程方式发布带有自定义字段的帖子(自定义帖子类型

时间:2012-12-25 作者:drake035

我有一个带有许多自定义字段的自定义帖子类型“参与者”。我还有一个表单,其中有相应的输入字段供用户填写。当他提交表单时,我希望生成一个新帖子,每个自定义字段包含用户选择的值。

有可能吗?如果有,怎么做?

3 个回复
最合适的回答,由SO网友:webaware 整理而成

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

SO网友:Andreas

除了great answer of @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 :)
}

SO网友:markcbain

使用Gravity Forms plugin. 您可以构建一个表单,用于在后端填充自定义帖子类型。此帖子可以设置为显示为草稿或已发布。添加自定义字段没有问题。就我而言,我用它来收集客户的推荐信。

结束

相关推荐