而不是在DOM中赋予自己的JS函数,希望将其与CF7结合起来on_sent_ok
以一种非正统的方式,让我们后退一步,过滤CF7将通过的结果JSeval()
表示为字符串。
例如:
function cf7_custom_redirect_uri($items, $result) {
if ( $some_condition_is_true ) {
//build the url in which you wish to redirect to...
$redirect_to = home_url(\'?p=123\');
$items[\'onSentOk\'] = "location.replace(\'{$redirect_to}\')";
}
}
add_filter(\'wpcf7_ajax_json_echo\', \'cf7_custom_redirect_uri\', 10, 2);
在上面的(OP)示例中,您正在钩住
wpcf7_mail_sent
发布重定向,在所有情况下,这都是我发布重定向的方式,而不是担心
eval()
CF7所做的胡说八道。如果在重定向DOM之前不需要在DOM中渲染任何其他内容,我认为后者更好。
示例:
function wpcf7_pg_redirect(){
if ( $some_condition_is_true ) {
//build the url in which you wish to redirect to...
$redirect_to = home_url(\'?p=123\');
wp_redirect(home_url($redirect_to));
exit();
}
}
add_action(\'wpcf7_mail_sent\', \'wpcf7_pg_redirect\');
注:在我的示例中
$redirect_to = home_url(\'?p=123\');
可以根据需要以编程方式构建,无需硬编码
?p=123
.
因此,如果您知道基于某种方案或可用变量或条件想要访问的URL,那么您将根据该规范构建URL。
如果您在构建目标URL时遇到问题,请准确告诉我们您想如何确定应该重定向到哪个URL。。。
是否重定向到同一页面(如刷新)或者您是否正在重定向到另一个页面?如果是,需要满足哪些条件才能确定您也重定向了哪个页面