Está a utilizar o addon Post Submission e está interessado em incorporar o URL do post na sua mensagem de confirmação? Conseguir isso é simples com um snippet PHP e WPForms Smart Tags, e nós o guiaremos pelo processo passo a passo.
As Smart Tags servem como links de referência rápida utilizáveis em mensagens de confirmação. O WPForms fornece uma infinidade de tags pré-construídas para sua conveniência. Para 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, vamos demonstrar como criar três novas Smart Tags personalizadas:
- Título da mensagem enviada
- Tipo de correio enviado Número de identificação
- URL da mensagem enviada
Estas etiquetas serão muito úteis na nossa mensagem de confirmação, permitindo-nos fornecer aos utilizadores que acabaram de submeter o formulário uma ligação direta para a publicação.
Criar o seu formulário
Se precisar de ajuda para criar um formulário utilizando o complemento Publicar envio, consulte este tutorial.
Para efeitos deste tutorial, já criámos o nosso formulário com os campos predefinidos que vêm com o modelo de formulário de envio de publicação de blogue.
Ativar o envio de mensagens
Em seguida, precisamos de ativar os envios de mensagens. Para isso, a partir do construtor de formulários, clique no separador Definições, selecione Envios de publicação e alterne o interrutor para Ativar envios de publicação.
Lembre-se de que, se os utilizadores que submetem as mensagens não tiverem sessão iniciada no seu sítio WordPress e se o estado das mensagens (após a submissão) estiver definido como Rascunho ou Revisão pendente, quando tentarem visualizar o URL da mensagem de confirmação, obterão uma página 404, uma vez que só é possível visualizar mensagens de rascunho com sessão iniciada no WordPress.
Adicionar o URL do post à mensagem de confirmação
Quando as definições do formulário estiverem concluídas, clique no separador Confirmações.
Uma vez que não queremos apenas mostrar o URL da publicação, mas sim torná-lo um link clicável, clique no separador Texto na janela do Editor e pode adicionar a sua mensagem.
Vamos colocar o nosso texto e HTML para a nossa mensagem e URL de publicação escrevendo 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 a adicionar uma mensagem que informa o visitante que submete o formulário do número de ID do tipo de publicação, do título da publicação e do URL da publicação, que seria uma ligação clicável dentro da mensagem de confirmação.
Depois de ter adicionado a sua mensagem, clique em Guardar no formulário e está pronto para o passo seguinte!
Criar a Smart Tag do URL de envio de publicações
Agora é hora de adicionar o nosso snippet de código ao seu site, que vai juntar 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 a configurar as Smart Tags com nomes e definições das informações que irão conter, como o título, o URL e o número de ID da publicação.
A segunda função processa estas etiquetas inteligentes e atribui-lhes o título, o permalink (URL) e o número de identificação do tipo de publicação, o que nos permitirá utilizar estas etiquetas inteligentes nas nossas mensagens de confirmação.
Agora, sempre que utilizarmos {Submitted Post Type URL}, {Submitted Post Type Title} ou {Submitted Post Type ID} Smart Tag, ser-lhes-ão atribuídos automaticamente esses valores após uma submissão de formulário bem sucedida e os seus visitantes poderão facilmente clicar no link clique aqui que adicionámos à nossa mensagem de confirmação e ser levados para o rascunho (ou publicação completa) da sua submissão, bem como ver as outras informações, como o ID da publicação e o título da publicação.
E é tudo o que precisa! Gostaria de criar mais etiquetas inteligentes personalizadas? Veja o nosso tutorial sobre Como criar uma Smart Tag personalizada.
Filtros de referência
FAQ
P: Posso fazer com que o URL da publicação abra numa nova janela/aba?
R: Sem dúvida! Se quiser que a ligação seja aberta num novo separador, basta criar a ligação 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 utilizar isto nas notificações por correio eletrónico?
R: Atualmente, esta opção não está disponível para utilização nas notificações por correio eletrónico.
P: Posso utilizar estas etiquetas inteligentes no interior do formulário?
R: Não, uma vez que a ID do post e o URL não são efetivamente atribuídos até que o formulário seja enviado, não seria possível utilizá-los antes do envio do formulário.