php - Wordpress - 将 wp_redirect url 更改为动态链接
问题描述
我有以下代码检查用户是否已登录,然后将他们重定向到特定的静态页面 -
add_action('wp', 'add_login_check');
function add_login_check()
{
if ( is_user_logged_in() && is_page( [153] ) ) {
wp_redirect('https://my.thinkingmachine.co/vallis');
exit;
}
}
我想更改它,而不是转到“ https://my.thinkingmachine.co/vallis ”,而是将它们定向到包含其用户名的动态 url,如下所示 -
$username = $user->user_login;
return ( '//my.thinkingmachine.co/' . $username . '/' );
如何更改代码以使其重定向到此动态 url?
我试过这个,但它不起作用 -
add_action('wp', 'add_login_check');
function add_login_check()
{
if ( is_user_logged_in() && is_page( [153] ) ) {
$username = $user->user_login;
return ( '//my.thinkingmachine.co/' . $username . '/' );
exit;
}
}
谢谢
整个代码是 -
add_action('wp', 'add_login_check');
function add_login_check()
{
if ( is_user_logged_in() && is_page( [153] ) ) {
$username = $user->user_login;
wp_redirect("https://my.thinkingmachine.co/{$username}");
exit;
}
}
add_action('wp', 'add_not_login_check');
function add_not_login_check()
{
if ( !is_user_logged_in() && !is_page( [153] ) ) {
wp_redirect('https://my.thinkingmachine.co/');
exit;
}
}
解决方案
假设使用这行代码正确获取了用户名:
$username = $user->user_login;
您可以使用以下代码:
function add_login_check()
{
if ( is_user_logged_in() && is_page( [153] ) ) {
$username = $user->user_login;
wp_redirect("https://my.thinkingmachine.co/{$username}");
exit;
}
}
如果要在字符串中使用 PHP 变量,则必须对字符串使用双引号并在变量周围使用单括号。
推荐阅读
- microservices - Batch operation over thousands of aggregates in CQRS system, do people do that?
- python - 如何在python中创建产品订单的共现矩阵?
- c - How to initialize a data structure (eg. linked list) with functions in C?
- ios - 有没有像@ObservedObject 这样不涉及创建新类的东西?
- python - 在 Python 中转换为日期时间类型的问题
- javascript - 一旦用户输入输入,从函数中获取图形并将其设置为状态
- c# - 如何创建一个既是任务的类
和一个 IObservable ? - c++ - 继承的 std::array 和聚合初始化
- python - 您可以继续运行运行时错误后的代码吗?
- javascript - 像动画分页点一样反应原生液体