Como incluir o URL da postagem de envios de posts na mensagem de confirmação

Você está utilizando o complemento Post Submission e tem interesse em incorporar o URL do post na sua mensagem de confirmação? Conseguir isso é simples com um snippet PHP e as Smart Tags do WPForms, e nós o guiaremos passo a passo pelo processo.

As Smart Tags servem como links de referência rápida que podem ser usados em mensagens de confirmação. O WPForms oferece uma infinidade de tags pré-construídas para sua conveniência. Para obter mais detalhes sobre as opções disponíveis, consulte esta documentação.

Mas você sabia que também pode criar suas próprias Smart Tags para usar no WPForms? Neste tutorial, demonstraremos como criar três novas Smart Tags personalizadas:

  • Título da postagem enviada
  • Número de identificação do tipo de postagem enviada
  • URL da postagem enviada

Essas tags serão de grande valia em nossa mensagem de confirmação, permitindo que forneçamos aos usuários que acabaram de enviar o formulário um link direto para a postagem.

Criando seu formulário

Se precisar de ajuda para criar um formulário usando o complemento Post Submission, consulte este tutorial.

Para fins deste tutorial, já criamos nosso formulário com os campos padrão que vêm com o modelo Blog Post Submission Form.

crie seu formulário para aceitar o envio de sua postagem

Ativação do envio de postagens

Em seguida, precisaremos ativar os envios de posts. Para isso, no construtor de formulários, clique na guia Settings (Configurações ), selecione Post Submissions (Envios de publicações ) e alterne o botão para Enable Post Submissions (Ativar envios de publicações).

ative os envios de postagem na guia Envio de postagem encontrada nas Configurações do construtor de formulários e, em seguida, defina o Status da postagem como Revisão pendente

Lembre-se de que, se os usuários que enviarem as postagens não estiverem conectados ao seu site do WordPress e o status das postagens (após o envio) estiver definido como Rascunho ou Revisão pendente, quando eles tentarem visualizar o URL da postagem na mensagem de confirmação, receberão uma página 404, pois só é possível visualizar postagens de rascunho quando se está conectado ao WordPress.

Adição do URL da postagem à mensagem de confirmação

Quando as configurações do formulário estiverem concluídas, clique na guia Confirmations (Confirmações ).

Como não queremos apenas exibir o URL da postagem, mas torná-lo um link clicável, clique na guia Text (Texto) na janela Editor e adicione sua mensagem.

Adicione sua mensagem de envio de postagem com as Smart Tags já incluídas dentro da mensagem de confirmação na guia Texto da mensagem

Colocaremos nosso texto e HTML para nossa mensagem e URL de postagem digitando o seguinte:

<p>Thanks for the submission! 
If you'd like to see a preview of your post titled 
<strong>{submitted_cpt_title}</strong> for the post type ID of 
<strong>{submitted_cpt_id}</strong>, just 
<a href="{submitted_cpt_url}">click here</a>.</p>

<p>It will be reviewed shortly.</p>

Estamos adicionando uma mensagem que informa ao visitante que está enviando o formulário o número de ID do tipo de postagem, o título da postagem e o URL da postagem, que seria um link clicável dentro da mensagem de confirmação.

Depois de adicionar sua mensagem, clique em Salvar no formulário e você estará pronto para a próxima etapa!

Criação da Smart Tag de URL de envio de postagem

Agora é hora de adicionar nosso snippet de código ao seu site, que reunirá tudo isso. Se precisar de ajuda sobre como adicionar trechos de código ao seu site, consulte este tutorial.

/**
 * Add Smart Tags to the Post Submission confirmation messages
 *
 * @link   https://wpforms.com/developers/how-to-include-post-submissions-post-url-in-the-confirmation-message
 *
 */

// This function sets up the names of the Smart Tags we will be using.
function wpf_dev_register_smarttag( $tags ) {

	// Key is the tag, value is the tag name.
	$tags[ 'submitted_cpt_id' ]    = 'Submitted Post Type ID';
	$tags[ 'submitted_cpt_url' ]   = 'Submitted Post Type URL';
	$tags[ 'submitted_cpt_title' ] = 'Submitted Post Type Title';

	return $tags;
}

add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag', 10, 1 );

//This function will process the Smart Tags so that we can 
//use them inside the confirmation message and email notifications
function wpf_dev_process_smarttag( $content, $tag ) {

	if ( empty( $_POST[ 'wpforms' ][ 'entry_id' ] ) ) {
		return $content;
	}

	/** @var WPForms_Entry_Handler $entry */
	static $entry;

	if ( empty( $entry ) ) {
		$entry = wpforms()->entry->get( (int) $_POST[ 'wpforms' ][ 'entry_id' ], [ 'cap' => false ] );
	}

	if ( empty( $entry->post_id ) ) {
		return $content;
	}

	switch ( $tag ) {

		case 'submitted_cpt_id':
			$content = str_replace( '{submitted_cpt_id}', (int) $entry->post_id, $content );
			break;

		case 'submitted_cpt_url':
			$content = str_replace( '{submitted_cpt_url}', esc_url( get_permalink( (int) $entry->post_id ) ), $content );
			break;

		case 'submitted_cpt_title':
			$title   = get_post_field( 'post_title', $entry->post_id );
			$content = str_replace( '{submitted_cpt_title}', esc_html( $title ), $content );
			break;
	}

	return $content;
}

add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );

Na primeira função, estamos configurando as Smart Tags com nomes e definições das informações que elas conterão, como o título, o URL e o número de ID da postagem.

A segunda função processa essas Smart Tags e atribui a elas o título, o permalink (URL) e o número de ID do tipo de postagem, o que nos permitirá usar essas Smart Tags em nossas mensagens de confirmação.

Agora, sempre que usarmos {Submitted Post Type URL}, {Submitted Post Type Title} ou {Submitted Post Type ID} Smart Tag, esses valores serão automaticamente atribuídos a eles após o envio bem-sucedido de um formulário, e seus visitantes poderão clicar facilmente no link click here que adicionamos à nossa mensagem de confirmação e ser levados ao rascunho (ou à postagem completa publicada) do envio, além de ver outras informações, como o ID da postagem e o título da postagem.

E agora os usuários podem clicar no link do URL da postagem dentro da mensagem de confirmação para ver o envio.

E isso é tudo o que você precisa! Gostaria de criar mais Smart Tags personalizadas? Dê uma olhada em nosso tutorial sobre Como criar uma Smart Tag personalizada.

Filtros de referência

PERGUNTAS FREQUENTES

P: Posso fazer com que o URL da postagem seja aberto em uma nova janela/aba?

R: Sem dúvida! Se quiser que o link seja aberto em uma nova guia, basta criar o link HTML da seguinte forma:

<p>Thanks for the submission! 
If you'd like to see a preview of your post titled 
<strong>{submitted_cpt_title}</strong> for the post type ID of 
<strong>{submitted_cpt_id}</strong>, 
just <a href="{submitted_cpt_url}" target="_blank">click here</a>.</p>

<p>It will be reviewed shortly.</p>

P: Posso usar isso nas notificações por e-mail?

R: No momento, isso não está disponível para uso dentro das notificações por e-mail.

P: Eu poderia usar essas Smart Tags dentro do formulário?

R: Não, como o ID e o URL do post não são realmente atribuídos até que o formulário seja enviado, você não poderá usá-los antes do envio do formulário.