Programaticamente publica uma postagem (tipo de postagem personalizada) com campos personalizados

13

Eu tenho um tipo de postagem personalizado 'Participante' com muitos campos personalizados. Eu também tenho um formulário com campos de entrada correspondentes para o usuário preencher. Quando ele enviar o formulário, eu quero que um novo post seja gerado com cada campo personalizado contendo o valor escolhido pelo usuário.

É possível fazer e, em caso afirmativo, como?

    
por drake035 25.12.2012 / 08:43

2 respostas

23

Use wp_insert_post () e add_post_meta () , assim:

// 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);
}
    
por webaware 25.12.2012 / 09:32
2

Isso pode ser feito facilmente usando o plug-in Gravity Forms . Você pode criar um formulário que preencha um tipo de postagem personalizada no back-end. Esta postagem pode ser configurada para aparecer como rascunho ou como publicada. Não há problema em adicionar campos personalizados. No meu caso, usei para coletar depoimentos de clientes.

    
por markcbain 26.12.2012 / 19:08