Да, передача заголовка записи в форму Contact Form 7 на странице рубрики возможна, но для этого потребуется немного JavaScript и PHP. Вот пошаговое руководство, как это можно сделать:
Создайте скрытое поле в форме CF7: В форме Contact Form 7 добавьте скрытое поле, которое будет принимать заголовок записи. Например:
html[hidden post-title]
Добавьте JavaScript для передачи заголовка записи:
Вам нужно будет добавить JavaScript, который будет передавать заголовок записи в скрытое поле формы при клике на ссылку "Отправить письмо". Это можно сделать, добавив следующий код в ваш файл functions.php или в файл JavaScript, который подключен к вашему сайту:
phpfunction enqueue_custom_scripts() { wp_enqueue_script('custom-script', get_template_directory_uri() . '/js/custom-script.js', array('jquery'), null, true); } add_action('wp_enqueue_scripts', 'enqueue_custom_scripts');
Создайте файл custom-script.js в папке вашей темы (например, /wp-content/themes/your-theme/js/custom-script.js) и добавьте следующий код:
javascriptjQuery(document).ready(function($) { $('.send-email-link').on('click', function(e) { e.preventDefault(); var postTitle = $(this).data('post-title'); var cf7Form = $('#cf7-form'); cf7Form.find('input[name="post-title"]').val(postTitle); cf7Form.submit(); }); });
Измените ссылку "Отправить письмо":
В вашем шаблоне рубрики (например, category.php или archive.php) измените ссылку "Отправить письмо", чтобы она включала атрибут data-post-title с заголовком записи. Например:
php<a href="#" class="send-email-link" data-post-title="<?php echo esc_attr(get_the_title()); ?>">Отправить письмо</a>
Добавьте форму CF7 на страницу рубрики: Убедитесь, что форма CF7 добавлена на страницу рубрики. Вы можете сделать это, добавив шорткод формы в шаблон рубрики:
phpecho do_shortcode('[contact-form-7 id="your-form-id" title="Your Form Title"]');
Теперь, когда пользователь нажимает на ссылку "Отправить письмо", JavaScript будет передавать заголовок записи в скрытое поле формы CF7, и форма будет отправлена с этим заголовком.
Если у вас возникнут дополнительные вопросы или проблемы, пожалуйста, дайте знать!
Vibe can make mistakes. Check answers. Learn more