我需要知道是否有一个插件可以根据相关的帖子/页面的状态限制对上传文件的访问。
换句话说,当我将图像上传到帖子中但帖子未发布时,我需要 WordPress 不允许访问该图像,直到我将帖子切换到已发布。
我可以自己编写代码,所以请让我知道是否已经有插件,这样我可以节省时间。
我需要知道是否有一个插件可以根据相关的帖子/页面的状态限制对上传文件的访问。
换句话说,当我将图像上传到帖子中但帖子未发布时,我需要 WordPress 不允许访问该图像,直到我将帖子切换到已发布。
我可以自己编写代码,所以请让我知道是否已经有插件,这样我可以节省时间。
好吧,我不知道有什么特定的插件可以做到这一点,但是您实际上需要做的是更改.htaccess
直接访问文件的权限以实现 URL 限制。
Stephan Harris 写了一篇非常好的文章,用几种方法在 wordpress 中处理了这个问题。
http://www.stephenharris.info/2012/restricting-direct-access-to-files-in-wordpress/
Stephan Harris 在他的文章中提到了那些防止直接访问的方法。我仍然很难想象在已发布/未发布的基础上需要这样做的情况。
但仍然 - 您可以轻松检查后期状态(使用get_post_status())并将其应用到他的脚本/方法中以实现您想要的。特别看一下他重定向所有(图像)请求以通过 index.php 的方法-在那里您可以轻松地插入权限检查。
您可以应用的第二种方法是更改上传文件夹,从而使人们更难以“猜测”,正如您所说的那样,URL。这可以在逐个帖子的基础上(每个帖子不同的文件夹)或通过随机字符串来完成。
您可以通过多种方式做到这一点,这里描述了其中一种方式:
http://codex.wordpress.org/Function_Reference/wp_upload_dir
或者简单地使用一个像THIS ONE这样的插件,它会根据帖子标题给出一个文件夹名称。在发布之前,未经授权的用户是不知道的。)