WordPress 是一个开源的内容管理系统,它允许用户创建和管理自己的网站,在 WordPress 中,有时我们可能希望只允许已登录的用户查看文章内容,这样可以保护我们的内容不被未授权的用户访问,如何在 WordPress 中实现这个功能呢?下面我将详细介绍如何通过简码来实现这个功能。
我们需要在 WordPress 的主题文件中添加一段代码,这段代码的作用是检查当前用户是否已经登录,如果已经登录,那么就显示文章内容,否则就显示一个提示信息。
1、打开你的主题文件,找到 single.php
文件,如果没有这个文件,你可以创建一个。
2、在 single.php
文件中,添加以下代码:
<?php if (is_user_logged_in()) { ?> <!-这里是显示文章内容的代码 --> <?php the_content(); ?> <?php } else { ?> <!-这里是显示提示信息的代码 --> <p>请先登录再查看文章内容</p> <?php } ?>
这段代码的意思是,如果当前用户已经登录(is_user_logged_in()
函数返回 true
),那么就显示文章内容(the_content()
函数);否则,就显示一个提示信息。
3、保存 single.php
文件,然后在浏览器中刷新你的文章页面,你会发现只有登录的用户才能看到文章内容。
以上就是通过简码实现 WordPress 只允许已登录的用户查看文章内容的方法,这种方法简单易行,只需要在主题文件中添加一段代码就可以实现,如果你的网站有很多文章,那么你需要为每一篇文章都添加这段代码,这可能会比较繁琐。
接下来,我将继续介绍另一种方法,这种方法不需要为每一篇文章都添加代码,只需要在主题文件中添加一段代码就可以实现。
1、打开你的主题文件,找到 functions.php
文件,如果没有这个文件,你可以创建一个。
2、在 functions.php
文件中,添加以下代码:
add_filter('the_content', 'hide_content_for_non_logged_in_users'); function hide_content_for_non_logged_in_users($content) { if (!is_user_logged_in()) { $content = '<p>请先登录再查看文章内容</p>'; } return $content; }
这段代码的意思是,使用 add_filter()
函数将 the_content()
函数过滤掉,然后定义一个新的函数 hide_content_for_non_logged_in_users()
,这个新的函数会检查当前用户是否已经登录,如果已经登录,那么就返回原来的文章内容;否则,就返回一个提示信息。
3、保存 functions.php
文件,然后在浏览器中刷新你的文章页面,你会发现只有登录的用户才能看到文章内容。
以上就是通过添加过滤器实现 WordPress 只允许已登录的用户查看文章内容的方法,这种方法只需要在主题文件中添加一段代码就可以实现,比第一种方法更加简洁。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/252461.html