非插件下代码实现WordPress登录可见(登陆才可阅读)功能
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
一直以来想搞一个登陆才可以看到的内容,本站有的教程啥的还是挺多的,都是辛辛苦苦做的,有些人转载很随意,直接就可以处理,偶尔也想过很多1分钟购买之类的,可是还是没有去操作,今天就干脆整个登陆可见,这样也不会被采集了;
实现登录可见功能其实很简单,就是一个判断是否登录的逻辑从而显示不一样的内容。通过模板函数即可实现,网上类似于这种的插件五花八门,生产环境最不想用的就是插件,比较不是自己的东西总觉着不安全,不知道各位是不是也有此症状;
非插件下代码实现WordPress登录可见
// 添加只允许登录后查看 add_shortcode( 'members_only', 'members_only_shortcode' ); function members_only_shortcode( $atts, $content = null ) { if ( is_user_logged_in() && !empty( $content ) && !is_feed() ) { return $content; } $a= ' 要查看更多文章内容,请您先点击右上角登录或注册 '; return $a; }
正确的食用方法
把上述的代码示例放在主题模板的functions.php下面即可,登录网站后台,写文章 - 切换到文本模式 ,输入:
【members_only]】 这里写需要隐藏的内容 【/members_only]】 说明:// 把上面的【】;修改为[]即可使用(因为这里使用了就直接被隐藏啦)
演示效果如下:
加入代码应该显示的效果如下:
登陆后可以显示的内容如下:
因为我的是ajax的登陆,只能用绿色字体来显示-如下图:
2023-08-12更新
一、创建短代码 hide,将下面代码添加到主题的 functions.php 文件中。
add_shortcode('hide','loginvisible'); function loginvisible($atts,$content=null){ if(is_user_logged_in() && !is_null($content) && !is_feed()){ return $content; } else{ $url = get_permalink().'?'.time(); return '<p>该文章内容需要登录浏览。请点击 [ <a style="color:red" href="'.wp_login_url($url).'">此处登录</a> ] 后查看。</p>'; } }
二、编辑文章内容,将要隐藏的内容用[hide][/hide]包裹起来
[hide]这段文字将被隐藏,登录后可见。[/hide]
扩展,在后台文本编辑器中增加快速按钮(注意是编辑器的文本编辑状态)
将下面的代码加入到主题的 functions.php 文件中即可。
// 后台文本编辑框中添加隐藏简码按钮 function add_hide_quicktags() { if (wp_script_is('quicktags')){ ?> <script type="text/javascript"> QTags.addButton( 'hide', '隐藏内容', '[hide]隐藏内容[/hide]',"" ); </script> <?php } } add_action( 'admin_print_footer_scripts', 'add_hide_quicktags' );
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
赏
支付宝赞助
微信赞助
免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。
您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源 LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。
敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » 非插件下代码实现WordPress登录可见(登陆才可阅读)功能