Password Protecting Media

时间:2017-05-31 作者:Sharon Drake

是否可以对我们网站的访问者(非用户)的PDF进行密码保护?我们已将PDF上传到媒体,并在页面上创建了指向该PDF的链接,但我们只想对该PDF进行密码保护,而不是对包含指向该PDF的链接的整个页面进行密码保护。

2 个回复
最合适的回答,由SO网友:Matt Morgan 整理而成

另一种可能有效且无需编码的解决方案是将PDF插入到帖子中,并对帖子进行保护。然后将帖子插入页面

SO网友:Sam

您可以通过将以下代码添加到主题函数文件或创建插件来实现这一点。除非用户登录,否则不会显示链接。

这并不是最好的方法,因为热链接仍然可以通过使用文件的直接路径来完成。您需要将代码添加到。htaccess文件以停止热链接。

下面的部分制作了一个短代码,您需要将其添加到主题功能文件中,但在主题更新时会被删除,因此如果使用此方法,创建插件会更智能。

function foobar_func(){
// Checks if the user is logged in  
if ( is_user_logged_in() ) {
    // Add the files link here

    // ID of an attachment found in the media section googling will show you how to find the PDF id if you don\'t know.
    $id = 9;
    // Display a link of the media file
    echo wp_get_attachment_link( $id, \'\' , false, false, \'My link text\' );  
} else {
    // You can add a message if you wish to tell people to login to view or delete the line below to remove the text.
    echo \'Login to view file\';
}
}
add_shortcode( \'foobar\', \'foobar_func\' );
然后将此代码添加到页面文本编辑器中,您希望在其中显示文件。请注意,这不会停止直接链接到文件,但不会显示指向未登录用户的链接。

[foobar]

结束