Wordpress - изменить ссылку wp_redirect на динамическую c ссылку - PullRequest
3 голосов
/ 10 января 2020

У меня есть следующий код, который проверяет, вошел ли пользователь в систему, а затем перенаправляет его на определенную страницу c -

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 "они направлены на динамический c URL-адрес, содержащий их имя пользователя, например:

  $username = $user->user_login;
  return ( '//my.thinkingmachine.co/' . $username . '/' );

Как изменить код, чтобы он перенаправлялся на эту динамику? c 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;
    }
}

Ответы [ 2 ]

1 голос
/ 10 января 2020

Предполагая, что имя пользователя правильно получено с этой строкой кода:

$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 внутри строки вы должны использовать двойные кавычки для строки и одиночные скобки вокруг переменной.

0 голосов
/ 10 января 2020

Попробуйте код ниже:

function add_login_check() {
    if ( is_user_logged_in() && is_page( [153] ) ) {
        $username = wp_get_current_user()->user_login;
        $url = 'https://my.thinkingmachine.co/'. $username . '/';
        wp_redirect($url);
        exit;
    }
}
add_action('wp', 'add_login_check');

Надеюсь, вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...