wpcf7_form_action_url
Дозволяє змінити URL, який вказується в атрибуті action=""
форми Contact Form 7.
Використання
add_filter( 'wpcf7_form_action_url', 'wp_kama_wpcf7_form_action_url_filter'); /** * Function for `wpcf7_form_action_url` filter-hook. * * @param $url * * @return */ function wp_kama_wpcf7_form_action_url_filter( $url ){ // Filter... return $url; }
-
$url
(рядок) -
Згенерований URL для форми. Створюється функцією
wpcf7_get_request_uri() .
Приклади
#1 Виправимо URL форми при ajax запиті
Наприклад, ми використовуємо аякс запит, щоб отримати форму. Для цього в обробнику запиту аякс ми використовуємо шорткод.
do_shortcode( '[contact-form-7 id="15" title="Контактна форма 1"]' )
Для створеної форми функція wpcf7_get_request_uri() відшкодує поточний url запиту, а оскільки це якс запит, там буде URL цього аякс запиту, наприклад такий:
/wp-admin/admin-ajax.php?action=ajaxs_action&ajaxs_nonce=f7f4e21bdf&jxs_act=ajaxs_render_event#wpcf7-f90-o2
Але нам потрібно отримати відносний #wpcf7-f90-o2
. Для цього перед викликом шорткоду можна додати фільтр, який змінити одержуваний URL на потрібний нам. У фільтрі видалимо поточний URL запиту, залишивши тільки хеш
// функція створення форми function render_callback_form(){ $callback = ' <div id="callback_form" class="dialog" style="display: none"> <div class="menu__search-modal fancybox-content" id="callback" style="display: inline-block;"> <a href="#" class="link close">✕</a> <div class="callback">Замовлення зворотного дзвінка</div> '. do_shortcode('[contact-form-7 id="15" title="Контактна форма 1"]') . ' </div> </div>'; return $callback; } // Обробник аякс запиту function ajaxs_render_event(){ // Виправимо URL форми add_filter( 'wpcf7_form_action_url', function( $url ){ // видалимо з URL поточний запит $url = str_replace( wpcf7_get_request_uri(), '/', $url ); return $url; } ); echo render_callback_form(); }
Де викликається хук
wpcf7_form_action_url
Де використовується хук в Contact Form 7
Використання не знайдено.