前段时间有朋友问,wordpress网站如何实现像论坛一样仅特定会员浏览网站内容的效果,当时建议他使用插件wordpress hidepost plugin实现,但是鉴于很多朋友对插件过敏(觉得装插件不好!),这里介绍下非插件实现这一功能的方法。
实现过程使用的方法是wordpress自定义字段的概念,具体实现过程:
1、在主题文件functions.php文件中(如没有就创建一个)添加以下代码:
- <?php
- add_filter('the_content', 'post_user_only');
- function post_user_only($text){
- global $post;
- $user_only = get_post_meta($post->ID, 'user_only', true);
- if($user_only){
- global $user_ID;
- if(!$user_ID){
- $redirect = get_permalink($post->ID);
- $text = '该内容仅限于会员浏览,请<a href="'.wp_login_url($redirect).'">登录</a>!';
- }
- }
- return $text;
- }
- ?>
2、保存并替换文件;
使用方法很简单,和一般的自定义字段使用方法一样,在编辑文章的时候在自定义窗口中,输入key(键)为“user_only”,value(值)为常量“true”即可。显示效果如下图:
需要注意:发布文章后需要以游客身份访问方可看到效果。
老师,你的这些代码都是从哪里弄的?将来要是想要实现某些功能,也不想遍地找呀,况且百度上的代码有些不安全。