1. <div id="11111"></div>

    1. <div id="11111"></div>

      1. <div id="11111"></div>

        WordPress技巧: 对游客隐藏部分文章

        日期: 标签:WordPress教程 54 条留言
        如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我

             应haoran网友的请求,研究了一下如何对未登录的用户(即游客)隐藏指定文章,也就是隐藏文章不呈现给游客。跟之前我开发的插件WordPress插件发布:隐藏内容登陆后可见不太一样,该插件是隐藏文章的部分内容,游客可以看到该文章其他不隐藏的内容。现在的问题是,如何让游客连隐藏文章的影子都看不到,跟该文章没有发布过一样,更别说点击文章进去看了。

             言归正传,说说实现的方法。打开你主题目录下的 index.php 或者 category.php 等文章列表模板,查找类似代码:

        while (have_posts()) : the_post();

             将其改成:

        while (have_posts()) : the_post(); 
        if (get_post_meta($post->ID, "hide", true) == 1 && !$user_ID) {
           continue;
        }

             该更改只针对首页,如果你想让所有归档页(分类页、标签页和日期页等)也对游客隐藏文章,可以照以上方法对主题目录下的archive.php进行更改,如果主题文件夹里还有category.php、tag.php、author.php、date.php和search.php,也对其更改!

             主题修改完毕,核心功能已经实现!以后你要做的就是,如果你想让某篇文章对游客隐藏,可以在编写文章的时候,建立一个自定义域 hide,其值设为1,这样该文章就对游客隐藏了!hide自定义域第一次创建后,以后可以在自定义域下拉框选择。如果hide自定义域没有添加,或者是其他值,文章将正常显示。

        隐藏内容登陆后可见

        -- 完 --

        本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
        原文出处:露兜博客 http://www.szeverich.net.cn/wordpress-hide-post-for-not-login-in-user.html
        露兜
        kaapass@outlook.com  QQ 825533758

        业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe

        54 条留言

        点此留言
        1 2 90
        1. 十三

          你好 请教下 如果用该方法将整个分类下的文章都隐藏后 打开该分类 提示登陆后才可阅览… 要怎么设置呢

        2. 十三

          或者是 将整个目录设置权限 像论坛一样 没登陆 打开某些类目时 提示登陆

        1 2

        发表留言

        可以挣钱的游戏 352| 885| 832| 347| 87| 471| 178| 884| 401| 791| 393| 193| 289| 549| 481| 32| 300| 436| 244| 184| 867| 51| 957| 23| 226| 344| 973| 434| 270| 402| 199| 712| 254| 821| 547| 89|