如何在WordPress中重定向用户

如何在WordPress中重定向用户


重定向是网站,插件和主题的标准部分。有些发生在眼前,而您甚至可能不知道后面发生了什么.

尽管重定向通常留给开发人员,但我们将向您展示一些技巧,这些技巧将使您:

  • 成功登录后重定向用户
  • 使用Peter的登录重定向插件登录后重定向用户
  • 注销后重定向用户
  • 发表评论后重定向用户
  • 搜索后重定向用户(如果仅找到一个结果)
  • 重定向用户如果在类别中仅找到一条帖子
  • 将用户重定向到WordPress中的随机页面

成功登录后如何重定向特定用户角色

在本文的这一部分,我们将向您展示一个代码,您可以轻松地对其进行修改和 控制成功登录后特定用户的登录位置 到您的WordPress网站.

默认情况下,WordPress将把每个用户带到仪表板,这对您中的某些人可能是个问题。也许您想在后台保留管理员和作者, 带领您的其他用户直接进入您的主页 或在您专门为其创建的另一个前端页面上.

要根据用户的角色重定向,请执行以下步骤:

  1. 打开functions.php文件
  2. 复制并粘贴以下代码:
  3. 函数my_login_redirect($ url,$ request,$ user){
    if($ user && is_object($ user)&& is_a($ user,'WP_User')){
    if($ user-> has_cap('administrator')或$ user-> has_cap('author')){
    $ url = admin_url();
    }其他{
    $ url = home_url('/ custom-page /');
    }
    }
    返回$ url;
    }
    add_filter('login_redirect','my_login_redirect',10,3);
  4. 保存更改

上面显示的代码将使管理员直接留在需要的地方-管理面板,而所有其他用户将被带到自定义页面.

您可以通过更改4上的$ url变量轻松地更改URL。 和6 线 因此,将您的用户引导至您为他们创建的任何帖子/页面.

如果要控制用户角色,则可以在代码的第三行轻松地做到这一点。在上述示例中,我们在管理面板上保留了管理员和作者。如果您只希望在那里有管理员,只需从图片中删除作者即可:

if($ user-> has_cap('administrator')){

除了删除作者以外,您还可以添加其他角色。由您决定谁将最终显示在哪个页面上.

而已。使用此代码,您无需任何插件即可在用户登录后控制重定向。如果您仍然不想更改代码,请参阅使用插件登录后如何重定向用户.

使用Peter的登录重定向插件登录后重定向用户

虽然您可以在登录后通过放置一些我们之前向您介绍的代码来快速重定向用户,但对于那些不喜欢编码的人来说,这不是最佳选择。另外,如果您想更好地控制重定向,则必须知道如何修改代码.

而不是修改代码, 我们将向您展示一个插件,它将为您完成肮脏的工作. 您所要做的就是确定哪个用户去哪里,单击几个复选框,然后粘贴URL,而插件将负责其余的工作.

彼得的登录重定向

尽管有无数的WordPress插件可以做到这一点,但本文的这一部分我们选择了Peter的登录重定向.

该插件可让您根据用户的名称,用户角色甚至用户功能选择用户 然后只需粘贴用户登录后将重定向到的URL。如果您要在用户注销后重定向该用户或用户组,甚至可以选择其他页面。此外,您可以选择一个单独的URL,该URL将在任何用户注册后用作目标页面.

如果这还不足以满足您的需求,并且您想进一步改善重定向,那么Peter的Login Redirect可以满足您的要求。例如,如果您为每个用户创建了一个特定页面,则可以直接从插件生成URL。在这种情况下,插件中描述的简单短代码就足以 输入用户的用户名,从而将该特定用户引导到他/她的特定页面.

最后,很少有插件选项可以帮助您进一步控制插件的行为。您可以将插件设置为仅使用一种类型的URL,例如,仅允许使用内部链接,控制POST和GET重定向,在需要时使用外部重定向文件,以及通过选择权限级别来选择可以控制此插件的人.

如果您需要管理登录,注销和注册重定向, 彼得的登录重定向 几乎可以为您提供所需的一切。哦,是的,我们提到插件是免费的吗?您可以从WordPress插件存储库中获取它,并在几秒钟内安装完毕,然后只需导航至 设置->登录/注销重定向.

注销后如何重定向WordPress用户

默认情况下,当用户从WordPress网站注销时,他或她将被带回到登录页面。将显示一条消息,通知用户有关成功注销的信息,其余导航留给用户.

但是,如果您希望用户成为 自动重定向到您的主页,您希望他们查看的讨论页面或其他感兴趣的页面? 也许您想创建一个不同的注销页面,其中包含特殊的小部件或将您的用户引导到其他地方?如果是这样,您将需要此小代码来完成所有操作.

在接下来的几行中,我们将向您展示如何轻松地将用户重定向到您想要的任何URL。如果您不想使用代码进行重定向,我们将向您展示一个简单的插件,它将为您完成所有工作。但是在此之前,让我们将用户重定向到首页:

  1. 打开functions.php文件
  2. 复制并粘贴以下代码:
  3. add_action('wp_logout','auto_redirect_after_logout');
    函数auto_redirect_after_logout(){
    wp_redirect(home_url());
    出口();
    }
  4. 保存更改
  5. 注销并享受您美丽的主页

就这么简单。您可以从代码中猜到, 您可以通过更改第三行将用户重定向到任何其他URL. 因此,如果您想将用户引导到您自己站点的另一个页面或任何外部页面,您的代码应类似于以下内容:

add_action('wp_logout','auto_redirect_after_logout');
函数auto_redirect_after_logout(){
wp_redirect('http://www.firstsiteguide.com');
出口();
}

如果您想使用wp_redirect函数做更多的事情,可以在 WordPress Codex页面.

登录和注销重定向

价格:免费

登录和注销重定向
这个免费的插件相对简单,可以完美地完成其工作。登录和注销重定向将不处理代码,而是在设置页面上创建一个附加段。安装并激活它之后,您必须 导航 设置->常规 并一直滚动到页面末尾. 在这里,您将找到用于登录和注销重定向的单独输入框。输入所需的URL,保存更改即可完成!

如果您需要WordPress网站更多的重定向选项,建议您 检查5秒重定向插件 这可以帮助您重定向任何帖子,页面,类别,标签或自定义URL。它将使您能够 隐藏您的网址 对于隐藏会员链接或访问者的任何URL而言,这是一件好事。该插件还会向您显示有关每个重定向链接的统计信息,以便您了解网站上发生的情况.

发表评论后重定向用户

当然,当您开始发布文章时,您会希望人们对此发表评论。在本指南的这一部分中,我们将向您展示提交评论后如何重定向用户.

在特定情况下,此功能可能对您有用. 例如,您可能要为自定义的赠品创建一个自定义的“谢谢”页面. 因此,当访问者通过发表评论参与赠品活动时,您可以轻松地将他们重定向到该“谢谢”页面,您可以在其中提供有关奖品的其他信息。.

实际上,您在发表评论后重定向用户可能有很多不同的原因,因此,不费吹灰之力,您需要执行以下操作来使流程自动化.

提交评论后重定向用户:

  1. 打开functions.php文件
  2. 将此代码复制并粘贴到文件中:
  3. 函数redirect_after_comment(){
    wp_redirect('/ thank-you /');
    出口();
    }
    add_filter('comment_post_redirect','redirect_after_comment');
  4. 更改页面名称2nd 线
  5. 保存更改

而已。现在,您可以继续测试该功能。打开您的任何帖子并发表评论. 如果您正确完成了所有操作,则应进入http://www.yoursite.com/thank-you页面或代码第二行中指定的页面.

谢谢页面

不要忘了感谢人们的评论,也不要忘了希望您的访问者留在网站上并继续浏览。一个好主意可能是添加您最近或最受欢迎的帖子的列表,或者甚至最好列出所有评论者可能感兴趣的相关帖子。. 如果您有邮件列表,这是一个订阅它的好地方.

尽管此功能提供了在用户发表评论后重定向用户的简便快捷方式,但您可能会对 插入 这将为您提供一些其他功能.

搜索后重定向用户(如果仅找到一个结果)

如果要处理大量文章,则必须具有搜索功能。如果您每天都在写作,请想象一下散布在不同类别中的文章数量。如果您每天只发表三篇短篇文章,那么第一年后,数据库中将有上千种不同的标题。现在,想象一下自己在寻找特定内容时第一次来到该网站–您将要搜索它.

默认情况下,WordPress将搜索帖子标题,标签以及内容。因此,如果搜索单词或特定短语,则可能会发现数十个包含查询的帖子和页面。但是,如果只有一个搜索结果怎么办?

如果某人正在搜索一个非常特定的短语或整个句子,则可能只有少数几个结果,或者只有一个结果。一世如果仅找到一个结果,则无需将用户重定向到搜索结果页面. 相反,您为什么不直接将该用户带到结果中找到的帖子/页面?

让我们看看如何做到这一点:

  1. 打开functions.php
  2. 复制此代码并将其粘贴到文件末尾:
  3. add_action('template_redirect','redirect_search_result);
    函数redirect_search_result(){
    如果(is_search()){
    全局$ wp_query;
    如果($ wp_query-> post_count == 1 && $ wp_query-> max_num_pages == 1){
    wp_redirect(get_permalink($ wp_query-> posts ['0']-> ID));
    出口;
    }
    }
    }
  4. 保存更改

您已经为新功能准备了WordPress。保存更改后, 每次用户搜索仅返回一个结果的内容时,该用户将被直接重定向到帖子/页面.

即使看起来没什么,我们也可以肯定您的访客会喜欢您,因为他们为他们节省了单击按钮的费用。保存单击此处和单击此处将获得更好的用户体验,这可能是您想要在网站上看到的东西,不是吗??

在一个类别中仅找到一篇帖子时重定向用户

您可以打开该用户直接重定向到帖子/页面,而不必打开仅包含一个结果的类别或标签页面。与大多数代码段一样,仅复制和粘贴代码就足够了:

如果类别或标签中只有一个帖子,请重定向用户:

  1. 打开functions.php文件
  2. 复制并粘贴以下代码:
  3. 函数redirect_to_post(){
    全局$ wp_query;
    if(is_archive()&& $ wp_query-> post_count == 1){
    the_post();
    $ post_url = get_permalink();
    wp_redirect($ post_url);
    }
    } add_action('template_redirect','redirect_to_post');
    
  4. 保存更改

完成代码并保存更改后,您可以通过打开类别或标签页面(其中仅包含一个帖子/页面)来测试功能. 无需打开仅显示一个帖子/页面的页面,而是将您直接重定向到该帖子. 太好了,不是吗?

由于某些用户可能对此感到困惑,因此最好包含一条自定义消息,该消息将告诉用户仅发现一个结果并且发生了重定向。如果要这样做,可以通过插入简单的“ echo”语句将消息保留在重定向到用户的帖子/页面的顶部。在这种情况下,您的代码将如下所示:

函数redirect_to_post(){
全局$ wp_query;
if(is_archive()&& $ wp_query-> post_count == 1){
the_post();
$ post_url = get_permalink();
wp_redirect($ post_url);
}
echo“由于只找到一个结果,因此您已被重定向到该帖子/页面!”;
}
add_action('template_redirect','redirect_to_post');

现在,即使已执行一条消息,您也已完成,您将不必照顾仅包含一个帖子/页面的那些类别和标签。但是不要让此功能成为不撰写该类别新文章的借口.

将用户重定向到WordPress中的随机页面

这可能不是每个WordPress网站的标准功能,但是肯定可以在您网站的某个位置成为一个有趣的工具. 如果您写很多书或者画廊很多,那么最终您将拥有成千上万个普通用户看不到的页面. 那么,为什么不通过将用户重定向到随机信息来使事情变得更有趣?

好的,您当然不会在用户不知情的情况下将用户重定向到随机信息,或者在首页上将其重定向。但是您可以创建一个简单的按钮或链接,用户可以单击该按钮或链接,然后将其带到您网站的另一页面。也许是画廊。也许你几年前写的很酷的社论。谁知道。可能很有趣.

让我们开始吧:

  1. 首先,您需要准备重定向链接。打开您的functions.php文件
  2. 复制并粘贴以下代码:
  3. add_action('init','random_add_rewrite');
    函数random_add_rewrite(){
    全球$ wp;
    $ wp-> add_query_var('random');
    add_rewrite_rule('random /?$','index.php?random = 1','top');
    }
    
    add_action('template_redirect','random_template');
    
    函数random_template(){
    如果(get_query_var('random')== 1){
    $ posts = get_posts('post_type = post&orderby = rand&numberposts = 1');
    foreach($ posts as $ post){
    $ link = get_permalink($ post);
    }
    wp_redirect($ link,307);
    出口;
    }
    }
  4. 保存更改
  5. 转到www.yourdomain.com/?random=1

此后,您就可以创建链接/按钮了。所有您需要做的就是链接到 http://www.yourdomain.com/?random=1 用户每次打开页面时,都会将其重定向到随机页面。享受您的新功能.

将您引向结论

迟早,您将需要在特定情况下重定向特定用户。无论是出于充分的理由,还是试图让访问者购买商品,或者只是想让登录过程变得更舒适,本教程将帮助您管理重定向.

如果您足够熟悉编码,则可以进行改进,并在不同情况下重定向用户。如果没有,我们希望这些例子足以满足您的需求.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map