Помоги решить задачу по WordPress. Есть обычная рубрика с записями. У анонса каждой записи, помимо ссылки "Подробнее" есть ссылка "Отправить письмо", которая открывает форму (CF7) во всплывающем окне. Реально ли передавать в Contact Form 7 заголовок записи с этой страницы? Я попробовал конечно с помощью [_post_title] (хотя понимаю, что он для страницы самой записи, и, вряд ли сработает на странице рубрики), но передается только заголовок первой записи. Форма, естественно, для всех одна.
Nov 22, 5:37pm

Да, передача заголовка записи в форму Contact Form 7 на странице рубрики возможна, но для этого потребуется немного JavaScript и PHP. Вот пошаговое руководство, как это можно сделать:

  1. Создайте скрытое поле в форме CF7: В форме Contact Form 7 добавьте скрытое поле, которое будет принимать заголовок записи. Например:

    html
    [hidden post-title]
  2. Добавьте JavaScript для передачи заголовка записи: Вам нужно будет добавить JavaScript, который будет передавать заголовок записи в скрытое поле формы при клике на ссылку "Отправить письмо". Это можно сделать, добавив следующий код в ваш файл functions.php или в файл JavaScript, который подключен к вашему сайту:

    php
    function 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) и добавьте следующий код:

    javascript
    jQuery(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();
        });
    });
  3. Измените ссылку "Отправить письмо": В вашем шаблоне рубрики (например, 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>
  4. Добавьте форму CF7 на страницу рубрики: Убедитесь, что форма CF7 добавлена на страницу рубрики. Вы можете сделать это, добавив шорткод формы в шаблон рубрики:

    php
    echo do_shortcode('[contact-form-7 id="your-form-id" title="Your Form Title"]');

Теперь, когда пользователь нажимает на ссылку "Отправить письмо", JavaScript будет передавать заголовок записи в скрытое поле формы CF7, и форма будет отправлена с этим заголовком.

Если у вас возникнут дополнительные вопросы или проблемы, пожалуйста, дайте знать!

2/2
Nov 22, 5:37pm

This is a shared conversation and may include unverified content that doesn't reflect Mistral AI's views. Login to resume chatting.

Vibe can make mistakes. Check answers. Learn more