Я использую пользовательскую форму 7
Я хочу, чтобы, если кто-то нажмет кнопку «Почта» под отдельным сообщением в WordPress, он автоматически перенаправит его на страницу «Свяжитесь с нами», и тогда тема письма будет заголовком сообщения.
Как я могу это сделать?
Не использовал его раньше, но этот плагин утверждает, что работает для ваших целей: https://wordpress.org/plugins/contact-form-7-dynamic-text-extension/
Затем вы создадите свою почтовую ссылку, которая будет содержать заголовок сообщения с помощью параметра запроса с помощью (возможно, с помощью http_build_str ()), так что ваш URL становится таким:
http://example.com/contact-us/?title=my+post+title
После чего вам нужно создать новый тег CF7 как таковой, чтобы автоматически заполнить переменную $ _GET.
[dynamictext post_subject "CF7_GET key='title'"]
Решено с этим кодом:
<?php
if( $_SERVER['HTTP_REFERER'] !== '' ) {
$referer = $_SERVER['HTTP_REFERER'];
$id = url_to_postid($referer);
$subject = get_the_title($id);
} else {
$subject = '';
}
?>
поле ввода:<input id="post-referer" value="<?php echo esc_attr($subject); ?>" type="hidden">
затем использовал jQuery, чтобы заполнить поле темы из значения поля ‘post-referer’.
Вам необходимо установить Контактная форма 7 Динамическое расширение текста и используйте поля в вашей форме таким образом.
CF7:
[dynamictext post_subject "CF7_GET key='title'"]
key
это имя параметра вашего URL.