检查用户在单击某些页面上的某些链接时是否已登录

时间:2016-05-05 作者:figureout25

在我的网站上,我有许多帖子分类归档页面。我想做的是将其设置为,当在这些页面上单击指向特定帖子的链接时,仅当用户登录时,才会将其发送到帖子。否则,它们将被发送到登录/注册页面。

我不希望文章本身受到限制,这意味着如果有人在我的网站外找到了该帖子的链接,他们就可以在不登录的情况下查看它。我只希望当用户直接来自内部归档页面时,访问受到限制。

谢谢你的帮助。

2 个回复
SO网友:LPH

您可以先看看is_user_logged_in() 可插拔功能。

https://developer.wordpress.org/reference/functions/is_user_logged_in/

这基本上是两条线:

$user = wp_get_current_user();
return $user->exists();
在您的情况下,将链接包装在条件的大括号内。

if ( is_user_logged_in() ) {

    // link
}

SO网友:figureout25

感谢LPH为我指明了正确的方向,我已经解决了这个问题。

我将此添加到函数中。php:

function login_page_url() {
    global $loginurl;
    $loginurl = "login page url";
    echo $loginurl;
}
这是分类。php,链接到帖子的地方:

<a href="<?php if ( is_user_logged_in() ) { echo get_permalink(); } else { echo login_page_url(); } ?>">

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果