zoukankan      html  css  js  c++  java
  • 关于WordPress登录后跳转到指定页面

    前面在写模版的时候,有朋友要求网站登录后要跳转的到指定的页面。这个从前还真没遇到过。于是就用万能的搜索(很少百度)找了下,方法基本上就是一个,代码如下:

    <?php
        // Fields for redirect function custom_login_fields() {
    ?>
    <p><label><strong>Choose your location: </strong>
    <select name="login_location">
    <option value="">Select &hellip;</option>
    <option value="<?php bloginfo('url'); ?>#banking">Banking</option>
    <option value="<?php  bloginfo('url'); ?>#insurance">Insurance</option>
    <option value="<?php echo get_permalink(2); ?>">Securities</option>
    </select> </label>
    </p><br/>
    <?php
        } // Redirect function
    function location_redirect() {
    $location = $_POST['login_location'];
    wp_safe_redirect($location);
    exit(); } // Add fields to the login form
    add_action('login_form','custom_login_fields'); // Make sure the redirect happens only if your fields are submitted
    if ( (isset($_GET['action']) && $_GET['action'] != 'logout') || (isset($_POST['login_location']) && !empty($_POST['login_location'])) )
    add_filter('login_redirect', 'location_redirect', 10, 3);
    ?>

    但我试了没成功,不知道原因出在何处。于是又找了下登录后返回登录前的页面,有如下方法:

    方法一:

    wordpress的安装文件中有一个名为“wp_login_url()”的函数,这个函数用来实现登录后页面跳转到用户指定的页面,它能够接收一个参数,这个输入参数的值是可以被访问到的url地址。

    通过使用“get_permalink()”作为输入参数(get_permalink()函数用来获取当前页面地址),便可实现登录后页面自动跳转到登录前页面。

    代码如下:

    <a title="Login" href="<?php echo wp_login_url(get_permalink()); ?>">Login to view</a>

    只要把上面的代码复制,放在用户登录后需要返回的页面(即登录前的页面),这样就可以了。

    方法二:

    function back_curPageURL() {
        $pageURL = 'http';
        if ( isset( $_SERVER["HTTPS"] ) AND $_SERVER["HTTPS"] == "on" )
            $pageURL .= "s";
        $pageURL .= "://";
        if ( isset( $_SERVER["SERVER_PORT"] ) AND $_SERVER["SERVER_PORT"] != "80" )
            $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
        else
            $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
        return $pageURL;
    }
    add_filter('login_redirect', ' back_curPageURL ');

    把上述代码加到function.php文件中。

    我看这个方法和前面一个差不多。

    于是我改了下,便成了登录后跳转到指定页面的方法,这也是一朋友在论坛中回复我的内容,代码如下:

    add_filter('login_redirect', 'new_login_redirect');
    function new_login_redirect()
    {
    return '登录成功后要跳转的URL地址';
    }

    你们还有更好的方法嘛?介绍来分享下吧。


    WordPress登录后实现跳转到首页

    大家都知道wordpress在正确登录的时候都会跳转至后台管理页面,跳转离开了当前页面是多么的痛苦。

    那如何让wordpress在用户登录的时候直接跳转到某个页面或者是跳转到网站首页?用下面的方法可以实现让您的用户登录后即跳转到了网站的首页。
    找到您的function.php文件,在文件里面copy下面的代码:
    function my_login_redirect($redirect_to, $request){
    if( empty( $redirect_to ) || $redirect_to == ‘wp-admin/’ || $redirect_to == admin_url() )
    return home_url(“”);
    else
    return $redirect_to;
    }
    add_filter(“login_redirect”, “my_login_redirect”, 10, 3);
    然后保存并上传覆盖您的原来function.php文件,试着去登录下看看。
    这里需要说明的是:代码虽然给出来了,不过建议大家最好还是能够读懂代码,更要能够去修改代码。
    关于如何让用户登录后跳转到之前的查看页面的方法,我后续给大家放出,这里先在此停笔哦。

  • 相关阅读:
    js中如何在不影响既有事件监听的前提下新增监听器
    史上最走心webpack4.0中级教程——配置之外你应该知道的事
    webpack4.0各个击破(10)—— Integration篇
    webpack4.0各个击破(9)—— karma篇
    webpack4.0各个击破(8)—— tapable篇
    webpack4.0各个击破(7)—— plugin篇
    MYSQL的安装
    数据库的分类
    python接口调用把执行结果追加到测试用例中
    python分布式接口,参数化实战二
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/7445472.html
Copyright © 2011-2022 走看看