【问题标题】:wc_logout_url without confirmation AND redirect to current page in Wordpress WooCommercewc_logout_url 没有确认并重定向到 Wordpress WooCommerce 中的当前页面
【发布时间】:2018-11-08 11:45:29
【问题描述】:

我想将退出的用户重定向到同一页面。

例如:用户在类别页面上并且正在注销。注销后,我希望用户仍在该特定类别页面(或用户所在的任何页面)上。现在它将用户重定向到主页。

这是我正在使用的代码:

function iconic_bypass_logout_confirmation() {
    global $wp;

    if ( isset( $wp->query_vars['customer-logout'] ) ) {
        wp_redirect( str_replace( '&', '&', wp_logout_url( wc_get_page_permalink( 'home' ) ) ) );
        exit;
        }
    }
    add_action( 'template_redirect', 'iconic_bypass_logout_confirmation' );

我尝试用下面的代码更改第 5 行,但没有结果。

wp_redirect( str_replace( '&', '&', wp_logout_url( get_permalink() ) ) );

【问题讨论】:

    标签: wordpress redirect woocommerce logout


    【解决方案1】:

    你可以试试这个并设置你自己的重定向网址

     <?php
    //wordpress logout
    add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
    function logout_without_confirm($action, $result)
    {
    /**
     * Allow logout without confirmation
     */
     if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
        $redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : 
       "https://example.com";
        $location = str_replace('&amp;', '&', wp_logout_url($redirect_to));
        header("Location: $location");
        die;
      }
     }
    

    【讨论】:

      【解决方案2】:

      根据wp_logout_url()上的docs,可以指定重定向url。在这种情况下,您应该更新注销链接本身。因此,如果您在 header.php 文件中有一个注销链接作为示例,您可以更新 wp_logout_url() 引用以包含当前页面 url。因此,无论何时用户单击注销链接,它也会将当前页面作为重定向链接。

      您只需要当前页面的 url。参考this post,您可以看到一种获取当前页面 url 的方法。这与wp_logout_url() 函数相结合,您的 HTML 可能看起来像这样,

      <?php global $wp; ?>
      <a href="<?php echo wp_logout_url( home_url( $wp->request ) ) ?>">Logout</a>
      

      现在,用户将始终从上一页重定向。如果您无法控制注销链接本身,您唯一的选择是通过 AJAX 处理注销,或者通过查询变量、会话、cookie 等自己跟踪以前的 url。

      【讨论】:

        猜你喜欢
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 1970-01-01
        相关资源
        最近更新 更多