【问题标题】:how to redirect in WP, BP to a custom page如何在 WP、BP 中重定向到自定义页面
【发布时间】:2011-01-30 04:07:49
【问题描述】:

我正在尝试将用户重定向到我在他们登录时创建的自定义页面,但我不确定我是否正确。我不确切知道要使用哪些函数或变量。我想使用 index.php 作为重定向用户的一种方式。我正在使用最新的 wordpress,以及最新的 buddypress。

好吧,这就是我所拥有的:

function my_redirect() {
    global $bp;

    if ( $bp->current_component == $bp->root_domain ) {
        bp_core_redirect($bp->root_component == MY_CUSTOM_SLUG  );
    }
}

我创建的 slug 在根目录中,所以它看起来像这样: www.mysite.com/mypage

有什么想法吗?

【问题讨论】:

    标签: php wordpress function redirect wordpress-theming


    【解决方案1】:

    这可以在您的登录链接中使用redirect_to 来实现。这将需要编辑您的模板。

    $redirect_url = "www.mysite.com/mypage"
    // if $redirect_url exists, it will add it, otherwise print the regular login link
    <a href="<?php bloginfo('url'); ?>/wp-login.php<?php
    if($redirect_url) {echo "?redirect_to=".urlencode($redirect_url)."\"";}?>  >
    log in
    </a>
    

    这可能会让您在某个时候想要剪掉自己的脸,因为每次您想要更改重定向页面时都必须编辑模板。

    【讨论】:

    • 我明白了...这就是我想要实现的目标:当一个人登录时,我希望他们在这里 www.mysite.com/bar 而不是根 ex/ww.mysite.com .我希望它成为我的索引,这样我就可以在其中构建与该组件相关的所有内容,依此类推。所以当他们点击主页链接时,他们总是会去那里
    • 要仅为登录用户更改主页链接,您可能需要查看codex.wordpress.org/Function_Reference/is_user_logged_in,了解如何仅向登录用户显示内容。
    【解决方案2】:

    我不确定你到底需要这个做什么,所以这里有两种方法。

    1) 您可以将 wordpress 中的任何页面设置为默认主页。在仪表板中转到“设置”>“阅读”,在“首页显示”设置下,您可以选择“静态页面(在下方选择)”

    2) 可以使用使用的php头定位函数:

    header( 'Location: http://www.yoursite.com/new_page.html' ) ;
    

    您可以将它放在您的内容之前,它适用于您喜欢的任何条件。

    欲了解更多信息 - http://php.net/manual/en/function.header.php

    【讨论】:

    • 所以我把它放在那个页面的最顶部,它会看这个,而不是加载 index.php?我不是最擅长 php 的大声笑...
    • 我会把它放在文档类型上方的模板标题中,并添加条件if (is_front_page()) { header( 'Location: http://www.yoursite.com/new_page.html' ) ; }
    【解决方案3】:

    你可以试试Login Redirect 插件。您可以选择登录后将用户重定向到哪里。它是基于角色的。

    【讨论】:

    • 嘿,谢谢,我希望用户被重定向到那里,但是当他们点击主页链接时它会重定向到那里吗?我希望该组件成为我的主目录
    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多