更改注册表表单操作URL

时间:2018-09-21 作者:guillaumepn

我有2张登记表,默认一张/wp-login.php?action=register 对于“招聘人员”用户,另一个/wp-login.php?action=register&type=candidat 对于“候选人”用户

我的问题是,在候选表单上,表单标签仍然有/wp-login.php?action=register 作为动作URL,我希望它是/wp-login.php?action=register&type=candidat

我尝试更新wp登录。php文件,但如果我将来更新Wordpress,我的代码将被覆盖

我尝试过其他主题,建议使用“register\\u url”挂钩,但似乎不起作用

2 个回复
最合适的回答,由SO网友:phatskat 整理而成

您可以这样做:

<?php

add_action( \'register_form\', function() {
    $get_type = filter_input( INPUT_GET, \'type\', FILTER_SANITIZE_STRING );

    if ( ! $get_type ) {
        return;
    }
?>
<input type="hidden" name="type" value="<?php echo esc_attr( $get_type ); ?>" />
<?php
});
这将添加type 参数作为窗体上的隐藏字段(如果在GET查询字符串中设置)。

SO网友:socki03

我采用了与另一个答案不同的方法,通过site\\u URL过滤器修改注册URL,我已经对其进行了测试,并且效果良好。

function my_verify_registration_type( $url, $path, $scheme, $blog_id ) {
    if ( $scheme == \'login_post\' ) {
        if ( strpos( $url, \'?action=register\' ) !== false && !empty( $_REQUEST[\'type\'] ) ) {
            $url = esc_url( add_query_arg( \'type\', sanitize_text_field( $_REQUEST[\'type\'] ), $url ) );
        }
    }
    return $url;
}
add_filter( \'site_url\', \'my_verify_registration_type\', 10, 4 );

结束

相关推荐

Gravity Forms: tracking form

我是这个论坛的新手,我有一个关于重力形式的问题。实际上,我使用的是像“客户订单”这样的条目,其中有一个字段,我在其中输入订单号,另一个字段插入订单状态(已完成、已支付…)。我想在前端建立一个“跟踪表”,客户可以在其中输入订单号,然后查看订单的状态。有人能帮我吗?