当前位置: 首页 > news >正文

长春移动端网站设计WordPress文章角标

长春移动端网站设计,WordPress文章角标,周村网站制作价格低,html静态网页素材这篇文章也可以在我的博客中查看 本文内容 在WordPress中存在层级文章的设定#xff0c;常见于#xff1a;Page、Custom Post Type 有时候我们需要让子文章的访问权“继承”于父文章#xff0c;即#xff1a; 当父文章为私有、草稿时#xff0c;子文章也无法被公开访问…这篇文章也可以在我的博客中查看 本文内容 在WordPress中存在层级文章的设定常见于Page、Custom Post Type 有时候我们需要让子文章的访问权“继承”于父文章即 当父文章为私有、草稿时子文章也无法被公开访问当父文章为公开时子文章的访问性应由自己决定 具体做法 做法1 将子文章的状态设置为inherit 一般情况下inherit主要用于attachment等附属于主文章的内容但事实上任何文章都可以设置为inherit 你可以通过以下代码实现 if ($post_id) {$post_data array(ID $post_id,post_status inherit,);wp_update_post($post_data); }但并不推荐这么做因为 这个状态本身只预留给附属物当文章是这个状态时它不会出现在你的文章列表在多层次结构时不知道会发生什么事情我没试过 做法2 在某个hook中检测当前文章的父文章/祖先文章的状态再检测当前用户的访问权限最后根据结果决定是否驳回。 检测父文章状态 我们可以使用get_post_ancestors()获取文章的各级祖宗返回是个list $ancestors get_post_ancestors($post-ID);检测当前用户权限 Role Capabilities 是什么权限 是使用current_user_can()检测用户是否有私有读权限吗 并不是如果只检测角色权限(Role Capabilities)那作者本人或者其它有编辑权限的人也可能会被拦截。 那难道我们就不能用current_user_can()了 也不是 虽然这个函数在官方文档中非常隐晦而且看起来它只能按类别处理权限 但其实不是它可以按实体处理权限 换言之它可以实现用户对“某文章”是否有访问权限 Meta Capabilities 这个东西称为元权限Meta Capabilities 它并不实际存储于任何位置而是在使用时实时计算并最终转换为角色权限处理 事实上current_user_can()可以接受role或者meta作为参数 我不知道为什么这么重要的东西在官网找不到 但你可以在这里找到对这个函数更详细的使用介绍 比如我们的目标检测用户对某私有文章是否有访问权限 current_user_can(read_post, $private_post_id)它会检测当前用户是否为作者等有编辑能力的人随后检测是否有私有读权限 一次满足三个愿望爽到 最终做法 我将以继承根文章的访问权限作为例子 如果你需要继承其它层级你需要做一些小改动 首先找一个最快能获取当前文章ID的hook 使用pre_handle_404可以最快地在主查询后访问结果 找到根文章检测当前用户是否有访问根文章的权限 若有完事若没有返回404 关于如何返回404你可以看我的这篇文章 所以我们可以写出这样的代码 add_filter(pre_handle_404, function ($_, $wp_query) {if (empty($wp_query-post))return false;$ancestors get_post_ancestors($wp_query-post-ID);$ancestor_id end($ancestors);// 是子文章且无权访问爷/爹if ($ancestor_id !current_user_can(read_post, $ancestor_id)) {//清空文章$wp_query-posts [];unset($wp_query-post);$wp_query-post_count 0;//设置404$wp_query-set_404();status_header(404);nocache_headers();}return false; }, 10, 2);参数$wp_query中存储了当前的文章 如果压根没有文章我们提前返回 否则就检测用户对根文章的访问权限 使用get_post_ancestors()获得各级祖先再用end()得到最后一个元素即根文章 若根文章是私有/草稿且用户无访问权限我们就返回404
http://www.zqtcl.cn/news/244605/

相关文章:

  • 网站被做站公司贩卖怎样将qq空间建设为个人网站
  • 网站开发有哪几类淮安app开发公司
  • 营销网站建设公司哪家好兵团第二师建设环保局网站
  • 做推广最好的网站是哪个深圳办公室装修招标
  • 郑州高端网站制作wordpress那个版本好
  • wordpress屏蔽右键f12奉化首页的关键词优化
  • cn域名做犯法网站做电影网站需要哪些证
  • 官方网站有哪些韶关做网站的公司
  • 商城网站设计公司怎么样网站制作预算
  • 在济南什么人想做网站网站建设后怎么做主页
  • 联合年检怎么做网站上国家备案查询
  • 社交网站wap模板wordpress网址导航插件
  • 沈阳快速建站公司有哪些国外做二手服装网站
  • 手机如何建立网站平台seo比较好的优化
  • 电商网站建设外包禅城南庄网站制作
  • 哈尔滨企业网站开发报价免费php网站源码
  • 东莞市公司网站建设淄博网站制作营销
  • 企业网站无线端怎么做手机网站做成app
  • 让他人建设网站需要提供的材料可在哪些网站做链接
  • 外贸公司做网站3d建模好学吗
  • dedecms新网站 上传到万网的空间上海新媒体运营公司排名
  • 包装东莞网站建设0769三层网络架构
  • 淘客网站自己做固安建站公司
  • 咸阳学校网站建设联系电话网络app开发网站建设价格
  • 没网站怎么做淘宝客网站建设耂首先金手指
  • 网站带做收录排名淘外网站怎么做
  • 网站建设分金手指排名五申请邮箱账号注册
  • 餐饮加盟网站建设字体怎么安装wordpress
  • 网站建设与维护培训凡科和有赞哪个好用
  • 景区网站的作用长春新冠最新情况