Php Wordpress-类别中忽略获取\发布\状态筛选器
我想覆盖Php Wordpress-类别中忽略获取\发布\状态筛选器,php,wordpress,wordpress-hook,Php,Wordpress,Wordpress Hook,我想覆盖get_post_status功能,根据用户代理信息和post数据标记postpublic或private(基本上,对某些特定的未授权用户隐藏一些特定的post)。以下是MCVE演示我的问题: add_filter( 'get_post_status', function( $post_status, $post ) { return 'private'; }, 10, 2 ); 我希望这段代码能使所有的帖子私有化。这是可行的,然后我直接打开帖子页面,但在“分类”页面上,这篇帖
get_post_status
功能,根据用户代理信息和post数据标记postpublic
或private
(基本上,对某些特定的未授权用户隐藏一些特定的post)。以下是MCVE演示我的问题:
add_filter( 'get_post_status', function( $post_status, $post ) {
return 'private';
}, 10, 2 );
我希望这段代码能使所有的帖子私有化
。这是可行的,然后我直接打开帖子页面,但在“分类”页面上,这篇帖子仍然可见
我还应该覆盖哪些内容才能使此示例正常工作?您应该使用其他方法来完成此操作-例如,检查用户是否已登录和/或是否具有特定权限(并基于此对不想向用户显示的帖子进行排序) 正如您所指出的,您的代码片段在一个post页面上工作(因为$ID设置为全局变量,但这将对所有用户隐藏所有post…始终:)
看一看。我在上面提到,这只是一个例子。实际上,它应该对所有未经授权的用户隐藏所有帖子。但有些地方出了问题,它只会在帖子页面上隐藏帖子,而不会隐藏类别等。