Woocommerce Register Error

时间:2016-01-02 作者:kpmrpar

在发布此问题之前,我已尝试在此处发布解决方案https://support.woothemes.com/hc/en-us/articles/202828575-Redirect-to-a-custom-page-after-logging-in

注册后,我需要在特定的产品页面重定向用户。

登录重定向显示在上面的网站已经为我工作。

但寄存器重定向不起作用。

我正在使用woocommerce的216th主题。

有什么帮助吗???

下面的代码很有魅力。建议人。。。。

add_filter(\'woocommerce_login_redirect\', \'wcs_login_redirect\');
function wcs_login_redirect( $redirect ) {    
 $redirect = \'/product/pay-to-book\';
 return $redirect;
}

add_action( \'register_form\', \'hiddern_redirect_url\' );
function hiddern_redirect_url() {
?>
<input type="hidden" name="redir_post_register" value="<?php echo \'/product/pay-to-book\'; ?>" />
<?php   
}
add_filter ( \'woocommerce_registration_redirect\', \'redirect_post_registration\');
function redirect_post_registration( $redirect ) {

if ( $_POST[\'redir_post_register\'] ) {
    $redirect = $_POST[\'redir_post_register\'];
}
return $redirect;
}

1 个回复
最合适的回答,由SO网友:Prasad Nevase 整理而成

首先,您需要在注册表中添加一个隐藏字段,该字段可以保存您希望在注册后重定向用户的URL。以下代码将帮助您做到这一点:

<?php
add_action( \'register_form\', \'hiddern_redirect_url\' );
function hiddern_redirect_url() {
    ?>
    <input type="hidden" name="redir_post_register" value="<?php echo get_site_url(); ?>" />
<?php   
}
?>
然后,使用woocommerce_registration_redirect 钩子您可以将默认重定向URL更改为刚才设置的URL。请参见下面的代码:

add_filter ( \'woocommerce_registration_redirect\', \'redirect_post_registration\');
function redirect_post_registration( $redirect ) {

    if ( $_POST[\'redir_post_register\'] ) {
        $redirect = $_POST[\'redir_post_register\'];
    }

    return $redirect;
}
您需要将上述两个代码段添加到主题的函数中。php文件。你也需要改变<?php echo get_site_url(); ?> 在您想要的产品URL的第一个代码段中。

相关推荐