• Здравствуйте, на данной странице можно увидеть кнопку «Заказать». Каким-то образом она выводит произвольный заголовок. Есть ли возможность сделать подобный попап формы с произвольным заголовком, не используя плагин WP Backery?
    Код из CF7
    [text* product_name default:shortcode_attr]
    Именно он отвечает за вывод заголовка. Но как работает в данном случае, понять не могу. По крайней мере официальная документация плагина не помогла.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • насколько я понимаю, в вашем случае это:

    
    [text* product_name default:shortcode_attr]
    

    вызов формы как:

    
    [contact-form-7 id="123" title="Contact Form" product_name="название"]
    

    и код в теме:

    
    add_filter( 'shortcode_atts_wpcf7', 'custom_shortcode_atts_wpcf7_filter', 10, 3 );
     
    function custom_shortcode_atts_wpcf7_filter( $out, $pairs, $atts ) {
        $my_attr = 'product_name';
     
        if ( isset( $atts[$my_attr] ) ) {
            $out[$my_attr] = $atts[$my_attr];
        }
     
        return $out;
    }
    

    все тут — https://contactform7.com/getting-default-values-from-shortcode-attributes/

    Автор ren334

    (@ren334)

    Flector, спасибо за ответ. Впрочем, эту информацию нашел, только данные для атрибута взять неоткуда, потому, решил пойти по пути наименьшего сопротивления. Может это выглядит не так изящно, как правильное использование функций плагинов и WP, но все-таки сработало. Итак:
    1. Открываем файл script.js, находящийся в папке темы в assest/js.
    2. Вносим туда код.

    jQuery(document).ready(function($) { //добавляем только если нет данной строки
    $(".button__name").on('click', function() { // .button__name  - класс кнопки которая 
    //вызывает поп-ап с формой.
        	var value = $('.class1 > .class2 .class3 > ul > li.active').text();
    //таким образом мы указали путь до дочерней активной вкладки 
    //и получили значение текстового поля.
    		$(".class_cf7").val(value); //указываем класс нужного поля и 
    //добавляем в него полученный текст.
    	});

    На всякий случай, вдруг кому пригодится.

    Открываем файл script.js, находящийся в папке темы в assest/js.

    работать будет до первого обновления темы

    Автор ren334

    (@ren334)

    работать будет до первого обновления темы

    В дочерней теме разве нельзя это сделать? По-моему, это понятно.

    По-моему, это понятно.

    отнюдь.
    Подавляющее большинство даже не знает ничего про «дочерние темы»

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Contact Form 7: произвольный заголовок» закрыта для новых ответов.