如何在提交表单时包含登录页面?

时间:2016-08-09 作者:churryramirez

我指的是一个Wordpress网站,其URL与各种登录页相对应。我需要提交一份申请表,包括访问者使用的登录页url。如何使用Cookie实现这一点?我对其他选择持开放态度。

1 个回复
SO网友:churryramirez

设置cookie可能是最好的选择。如果访问者禁用了js,我认为最好使用php在http头中设置cookie。然而,似乎init Wordpress将允许一个cookie设置函数挂接到的最后一个可能的操作,但它触发得太早,条件标记无法工作,所以我求助于js。

我在中使用了条件标记functions.php 因此,只有当特定的登录页模板(即。page-5.php) 脚本将加载并执行。与使用原始JavaScript不同,我使用了js库cookie.js.

add_action(\'wp_enqueue_scripts\', \'this_enqueue_scripts\');

function this_enqueue_scripts() {
    if ( is_page(5) || is_page(7) ) : 

    wp_enqueue_script(\'cookie-script\', plugins_url( \'js/cookie.min.js\', __FILE__ ), null, true); 

    endif;
}

add_action(\'wp_footer\', \'set_cookie_func\');

function set_cookie_func() {
    $post = get_post($post_id);

    if ( is_page(5) || is_page(7) ) : ?>
    <script type="text/javascript">   
        var referral = <?php echo \'"\' . $post->post_name . \'"\'; ?>;
        cookie.set( \'landing_page\', referral, {expires: 7} );
    </script>

    <?php endif;
}
在我的网站上,提供的推荐URL是应用程序表单URL-无论用户是立即完成表单还是单击一点左右,cookie都已设置,可以通过隐藏字段提供给管理员*请注意,此解决方案的最后一部分特定于重力表单插件。在GF中add a hidden input field and pass a cookie through it. 在表单编辑器中,选中“允许动态填充字段”框,并将以下代码段添加到functions.php. (替换筛选器名称中的“landing\\u page”,以匹配字段参数和cookie名称。)

add_filter( \'gform_field_value_landing_page\', \'populate_landing_page_field\' );

function populate_landing_page_field( $value ) {
   return $_COOKIE[\'landing_page\'];
}

相关推荐

使用WPForms提交表单时触发操作

我的一位客户使用WPForms插件创建前端表单。提交表单时,条目进入de数据库(在单独的表wp\\u wpform\\u entries或类似的表中,全部由插件处理)。但他们也希望以JSON格式将所有数据发布到另一个网站。是否有办法知道表单已提交,或者使用add_filter(\'wp_insert_post)?