Resumo de IA
Gostaria de atribuir automaticamente tags e categorias às postagens enviadas? Com o addon Post Submissions, você pode permitir que seus visitantes escolham as categorias para cada postagem enviada. Mas e se você quisesse atribuir essas categorias e até adicionar tags a essas postagens de dentro do formulário, assim que ele for enviado? Usando PHP, você pode facilmente atribuir uma categoria ou tag a essas postagens assim que elas forem enviadas.
Criando o formulário
Primeiro, você precisará criar um formulário de Envio de Postagem. Se precisar de ajuda com isso, consulte esta documentação.
Ao criar seu formulário, não se esqueça de remover o campo de formulário Categorias que é adicionado automaticamente como padrão quando você escolhe criar o modelo de formulário Envio de Postagem de Blog. Como definiremos isso manualmente com trechos de PHP, não queremos oferecer essa opção em nosso formulário.


Atribuindo automaticamente tags e categorias
Para atribuir automaticamente tags e categorias às postagens enviadas, precisaremos adicionar um trecho ao nosso site.
Se precisar de ajuda para adicionar trechos ao seu site, consulte este tutorial.
/**
* Assign tags and categories to post submissions
*
* @link https://wpforms.com/developers/how-to-automatically-assign-tags-and-categories-to-post-submissions/
*/
function wpf_dev_post_submissions_process( $post_id, $fields, $form_data ) {
// If form ID is 649, run code below
if ( 649 !== absint( $form_data[ 'id' ] ) ) {
return;
}
// Craft Category ID is 22 - assign the ID 22 as the category
wp_set_object_terms( $post_id, 22, 'category', true );
// Set tag on post to crafts
wp_set_object_terms( $post_id, 'crafts', 'post_tag' );
}
add_action( 'wpforms_post_submissions_process', 'wpf_dev_post_submissions_process', 10, 3 );
Para encontrar o número ID da sua categoria, consulte este artigo de nossos amigos do WPBeginner.
Como sabemos que este formulário coletará especificamente envios apenas de artesanato, estamos visando o ID do formulário 649. Em seguida, atribuiremos o ID da categoria 22 porque este é o número ID da nossa categoria Artesanato, além de adicionar a tag artesanato à postagem.
Se precisar de ajuda para encontrar o número ID do seu formulário, consulte este tutorial.


Gostaria de adicionar o URL da postagem na mensagem de confirmação quando o formulário for enviado? Confira nosso tutorial sobre Como Incluir o URL da Postagem Enviada na Mensagem de Confirmação.
Ação de Referência
wpforms_post_submissions_process
Perguntas Frequentes
P: Como removo a categoria Não Atribuída?
R: Se você quiser remover automaticamente a categoria que o WordPress atribui automaticamente a todas as novas postagens, você pode usar este trecho.
O ID da categoria Não Atribuída é tipicamente 1. Mas você ainda deve confirmar isso encontrando o número ID da categoria da mesma forma que fez nas etapas acima.
/**
* Assign tags and categories to post submissions
*
* @link https://wpforms.com/developers/how-to-automatically-assign-tags-and-categories-to-post-submissions/
*/
function wpf_dev_post_submissions_process( $post_id, $fields, $form_data ) {
// If form ID is 649, run code below
if ( 649 !== absint( $form_data[ 'id' ] ) ) {
return;
}
// Craft Category ID is 22 - assign the ID 22 as the category
wp_set_object_terms( $post_id, 22, 'category', true );
// Remove the Unassigned category name from all new posts
wp_remove_object_terms( $post_id, 1, 'category', true );
// Set tag on post to crafts
wp_set_object_terms( $post_id, 'crafts', 'post_tag' );
}
add_action( 'wpforms_post_submissions_process', 'wpf_dev_post_submissions_process', 10, 3 );