Как перенаправить ссылку на новую вкладку в Contact Form 7?

Вопрос или проблема

Я пытался перенаправить свою контактную форму 7 на конкретную ссылку на PDF. Но я не уверен, как открыть ее в новой вкладке. Может кто-то помочь мне с этим?

Вот мой код…

add_action( 'wp_footer', 'mycustom_wp_footer' );
function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7submit', function( event ) {
if ( '876' == event.detail.contactFormId ) {
    location = 'https://spilledsunshine.com/wp-content/uploads/2020/10/10-Reminders-To-Myself-By-Ishita-Mehta.pdf';
    target="_blank";
}
}, false );
</script>
<?php
}

target=”_blank”; не работает, есть ли другой способ открыть в новой вкладке?

Вы правы,

<a target="_blank" href="https://google.com">Google</a>

Директива _blank открывает ссылку в новом окне/вкладке, в зависимости от настроек браузера. Это единственный способ осуществить перенаправление в новой вкладке, но это полностью зависит от настроек браузера пользователя, на которые вы не можете повлиять.

Тем не менее, не рекомендуется открывать PDF в новом окне/вкладке.

Ответ или решение

Для решения задачи перенаправления на ссылку в новой вкладке при отправке формы Contact Form 7, необходимо внести некоторые изменения в имеющийся код. А именно, вам следует обрабатывать событие отправки формы так, чтобы открывать PDF-документ в новой вкладке браузера.

Необходимые изменения в коде

Ваш текущий подход использует location =, который перенаправляет пользователя на новую страницу, не открывая её в новой вкладке. Вместо этого, для открытия документа в новой вкладке, мы можем использовать window.open(). Вот исправленный код:

add_action( 'wp_footer', 'mycustom_wp_footer' );
function mycustom_wp_footer() {
?>
<script type="text/javascript">
document.addEventListener( 'wpcf7submit', function( event ) {
    if ( '876' == event.detail.contactFormId ) {
        // Открываем PDF в новой вкладке
        window.open('https://spilledsunshine.com/wp-content/uploads/2020/10/10-Reminders-To-Myself-By-Ishita-Mehta.pdf', '_blank');
    }
}, false );
</script>
<?php
}

Объяснение кода

  1. Событие отправки формы: Мы добавляем слушатель события wpcf7submit, который срабатывает при успешной отправке формы.
  2. Проверка ID формы: Убедитесь, что условие проверяет правильный идентификатор вашей формы (в данном случае ‘876’).
  3. Использование window.open: Вместо location =, мы применяем window.open(), который открывает указанную ссылку в новой вкладке (_blank).
  4. Поведение браузера: Обратите внимание, что поведение при открытии новой вкладки зависит от настроек браузера пользователя. Некоторые пользователи могут блокировать всплывающие окна.

Рекомендации по открытию PDF-документов

Хотя открытие PDF в новой вкладке может быть удобным, рекомендуется учитывать, что это не всегда предпочтительно. Некоторые эксперты считают, что внезапное открытие нового окна может вызывать у пользователей раздражение. В таких случаях может быть целесообразнее оставить их на странице, предоставить вариант загрузки или использовать модальные окна для отображения контента.

Заключение

Обновлённый код позволит открывать PDF-документ в новой вкладке при отправке формы Contact Form 7. Сообщите пользователям о том, что при этом они могут быть перенаправлены для чтения/скачивания документа. Также учитывайте, что хороший пользовательский опыт улучшит взаимодействие с вашим сайтом и повысит его репутацию.

Оцените материал
Добавить комментарий

Капча загружается...