Groups File Access

File downloads for authorized users

Groups File Access is a WordPress plugin that allows to provide file download links for authorized users. Access to files is restricted to users by their group membership.

  • Provide file downloads for Premium Members.
  • Allow registered users to download files from your site.


  • Restrict access to downloads to authorized user groups
  • Full multisite support (WordPress network installations)
  • File management area
  • Upload files via FTP and bulk import
  • File access notifications (customizable)
  • Flexible shortcodes: [groups_can_access_file], [groups_can_not_access_file], [groups_file_info], [groups_file_url], [groups_file_link], [groups_file_visibility], [groups_file_access_service_key]
  • Limited or unlimited number of downloads per user
  • Key authentication file access

Access to files is restricted by group membership. To be able to download a file, a user must be a member of a group that is assigned to the file. If an access limit has been set for the file, the user must also have accessed (downloaded) the file fewer times than the file鈥檚 access limit.

If you want to restrict access to a file to users that belong to a certain group, create the group, add the desired users to the group and assign the group to the files that the group should be able to access. More than one group can be assigned to a file.

Shortcodes are used on posts or pages to render links to files, provide information about files and conditionally show content to users depending on whether they are allowed to access a file.

For example, the [groups_file_link group="Premium"] shortcode renders links to files that members of the Premium group can click to download the files.


See the Groups File Access product page.

The GFA PDF Viewer is a free integration with PDF Viewer.


See the Group File Access documentation pages.


Please visit the Demo site.

490 Responses to Groups File Access

  1. Nathan February 2, 2016 at 12:44 pm #


    On the CodeCanyon-website, where I have bought this plugin, I’ve just read a very interesting sentence that might solve my problem. You are saying there: Files access can also be granted through key authentication so that users do not need to log in to download a file while access restrictions based on Groups still apply.

    This might override the problem that users are first sent to the backend before they can download. How does this work?



  2. Kira February 2, 2016 at 7:22 pm #

    …OMG, thank you a lot! For some reason the changes in WP-CONFIG did not apply. Now I fixed the issue, setting memory to 256 megs and it works like a charm!

    Best regards,

    • antonio February 3, 2016 at 7:46 am #

      Perfect 馃槈

  3. Abigail February 23, 2016 at 5:35 am #

    I am seeing an error on Chrome for some but not all PDF files:

    Failed to load PDF document

    This is not a problem with other browsers. I don’t know if it is simply a bug in Chrome or if it is related anyway to the Groups File program. It seems to happen with large files — and I am NOT seeing this problem for any other PDF files on other sites -so it seems to be tied to something related to the way the Group files or their links are coded. This problem just started within the past week or two.

    • Kento March 1, 2016 at 7:46 pm #

      Hi Abigail,

      Can you provide the URL to the site and create a test account for support at itthinx dot com that has access to one of those files please? Please make sure to include a link to this conversation when you provide the credentials so we know what it’s about.


  4. Luminaire P February 25, 2016 at 6:33 pm #

    Hi guys,

    I need some help.

    Our site’s CRON functionality is behaving weird.

    WordPress cron events are not being executed, or maybe they are but not in a timely manner.

    Also, if you try and delete a cron event, it doesn’t go away.

    We’ve already set up an actual cron job as not to rely on traffic to fire off cron events, but it didn’t seem to help.

    Aside from that, we can see hundreds of “groups_file_access_session_delete_transients” cron events via a plugin called WP Crontrol.
    See screenshot

    Is this a normal behaviour of the Groups FIle Access plugin or is there something wrong?

    • Kento March 1, 2016 at 7:26 pm #


      You will need to get cron working on your site, the tasks that are listed are needed to clean up sessions periodically.


  5. Mike March 24, 2016 at 12:57 am #

    I’m seeing what is apparently the same problem that Rose mentioned a couple of years ago, though I haven’t dug into the HTTP headers as she had done.

    Mobile users (probably all iOS) are having the audio reset on them when they try to stream it. Was there ever a solution to that problem?

  6. Maxident April 1, 2016 at 11:31 am #

    Hi Community,

    I just started using the groups wordpress plugin and seem to have trouble to make the [groups_can] shortcode work.

    I am trying to exclude a page section for some user groups, while they keep being visible for others.

    When trying to exclude one single page section within a page that is viewable to all groups, this works perfectly find using the shortcode for groups

    [groups_member group="Registered"]
    Only registered members can see this.
    I am placing the shortcode opening and closing before and after the page section like this:

    [groups_member group="test"][mk_page_section full_width=”true”][vc_column][mk_fancy_title style=”avantgarde” size=”25″ font_weight=”bolder” text_transform=”capitalize” font_family=”none” align=”center”]

    Test Text within the page section

    [/mk_fancy_text][/vc_column_inner][vc_column_inner width=”1/12″][/vc_column_inner][/vc_row_inner][/vc_column][/mk_page_section][/groups_member]
    When trying the same thing using the [groups_can] shortcode it does not work. As far as I understand this should do the same thing but not restricting certrain groups directly, but groups that do not posess the capabibility set with this shortcode. I integrated the shortcode like shown below, but when applied it does not restrict access and I can see the commands [groups_can capability="manage_plugins"] and
    [/groups_can] written on the published website like they were actual content to be seen by users.
    [groups_can capability="testcapability"][mk_page_section full_width=”true”][vc_column][mk_fancy_title style=”avantgarde” size=”25″ font_weight=”bolder” text_transform=”capitalize” font_family=”none” align=”center”]

    Test Text within the page section

    [/mk_fancy_text][/vc_column_inner][vc_column_inner width=”1/12″][/vc_column_inner][/vc_row_inner][/vc_column][/mk_page_section][/groups_can]
    Please let me know if you know what I am doing wrong or if you have similar experiences using the [groups_can] shortcode. Also please let me know if you nee further information or input.

    Im working on an intranet using wordpress, developing the site locally, it is not online so I cannot send you a link, but I am happy to provide screenshots where needed.

    Looking forward to your input, thanks

    • Kento April 4, 2016 at 7:59 pm #


      Thanks for providing the details, I think you have something interfering with the [groups_can] shortcode there before it is rendered, or maybe there is invisible whitespace between the opening or closing brackets. For the latter, try to look at it in the Text mode of the editor, or simply write out a simple test line like [groups_can capability="manage_options"]Just testing[/groups_can] to see if that works. Also note that the quotes must be straigt double quotes (the visual editor could have changed that if pasted in).

      I hope that helps …


      • Maxident April 22, 2016 at 10:37 am #

        Hi Kento, thanks for the reply. Took a while until i got round to trying your solution. It works fine now, I guess there was some text formating issue the first time I tried. Thank you for solving the problem. Cheers

  7. Adam Hollister April 4, 2016 at 10:36 am #


    I’m trying to use this plugin but none of the shortcodes seem to work, they just end up getting printed out to the page like:

    [groups_file_url file_id="1"]

    [groups_file_link group="1"]
    [groups_file_link group="Registered"]

    Is there something I’m missing here?

    • antonio April 4, 2016 at 12:20 pm #

      Hi Adam,
      Please check that the plugin is enabled and that you are using the ‘Text’ mode in the post/page editor (you have two tabs to select between ‘Visual’ and ‘Text’).
      Kind Regards,
      Antonio B.

  8. Dave Novelline April 11, 2016 at 2:04 am #


    I purchased Group File Access this evening. However, I do not believe it has the capabilities I am looking for.

    Is it possible to get a refund.

    If not I understand.

    Thank you.


    • Kento April 11, 2016 at 8:46 am #

      Hi Dave,

      Thanks for trying it out, I think it should be possible to get a refund but as the sales for this plugin are handled on CodeCanyon, please refer to this page. When you submit the request you can also include a link to our conversation here.


  9. Daisy Brown May 20, 2016 at 12:08 am #

    I just purchased and activated Groups File Access. It appears the file import only works on files just below groups-file-access. It doesn’t work with files inside subfolders below groups-file-access. I really would rather not dump all files into a single folder. There’s so gosh darn many of them that the only way to make sense is with a subfolder structure. Tell me there’s some way to do this? I really need to get this setup before the conference this weekend. (You are replacing user access manager). Also, how do I register on this site for support?

    • antonio May 20, 2016 at 5:52 am #

      Hi Daisy,
      subfolder is not supported by the plugin.
      Kind Regards,
      Antonio B.

  10. Cam June 7, 2016 at 3:11 pm #

    Is there a way to force the links to http://www instead of just http://
    I get a Forbidden if there is no www in the url.

    • antonio June 7, 2016 at 3:16 pm #

      Hi Cam,
      please check if you have in Settings->General the www or not.
      Kind Regards,
      Antonio B.

      • Cam June 7, 2016 at 3:19 pm #

        I do have the www, but if a user tries to access the file directly without the ‘www’ then it throws the Forbidden error.

        • antonio June 7, 2016 at 4:34 pm #

          It should be according to this setting.
          If you want, you can send me dashboard admin access to antonio at itthinx dot com indicating this conversation and I’ll have a look at your settings.
          Kind regards,
          Antonio B.

  11. Janna June 11, 2016 at 1:33 am #

    I just purchased the Groups File Access and installed the Groups plugin and am having issues, either because my system doesn’t work with the plugins or because the steps in the documentation are not in order.

    I tried to add a file. However, there were no groups listed to allow me to do this.

    I went to Groups > Groups. But couldn’t add a group…I typed in the name and tried to add, but nothing happened. Not sure if it is because no capabilities were selected. But when I tried to type a WordPress capability, nothing happened.

    I then went to Groups > Capabilities and tried to add one using WordPress capabilities. I noticed the instructions say groups_read_post should be one by default. It’s not there. When I click to add a capability the page just reloads and nothing is added.

    I then went to Groups > Options and tried to start typing capabilities per but no list of capabilities appears to drop down for selection

    Have you seen this before?

  12. Pierre June 18, 2016 at 2:09 pm #


    is there a way to choose the administrator(s) who are notified ? (we have many admin, but only one should be notified..) : your notification checkbox not very explicit when more than one admin :

    “Notify the admin
    Notify the site administrator
    Sends a notification email to the site administrator when a file has been accessed.”

    • antonio June 20, 2016 at 4:58 am #

      Hi Pierre,
      The admin email is based on get_bloginfo( 'admin_email' ), so you can set it in Settings->General.
      Kind Regards,
      Antonio B.

  13. Stefany Guedez July 5, 2016 at 11:30 pm #


    I have this particular shortcode:

    [groups_file_link group="whitepapers,Accountability" description="yes" visibility="always"]

    which allows me to see files that are grouped under whitepapers OR under accountability. I’m trying to see only files that are grouped under BOTH Whitepaper and Accountability. Is there a way to do this?


    • antonio July 6, 2016 at 7:01 am #

      Hi Stefany,
      Groups plugin works with ORs. You could create a ‘super-group’ WhiteAcc where are the users who are in both groups, and restrict the file to this super-group.
      Kind Regards,
      Antonio B.

  14. Andrew August 1, 2016 at 5:32 pm #

    Hi, plugin working well. Wondering if it is possible to pass an “onclick” attribute when a number of file links are returned by the [groups_file_link group="Premium"] command?

    We track downloads by user, and would like the filename use for the onClick argument.

    • antonio August 16, 2016 at 8:51 am #

      Hi Andrew,
      This attribute is not available. You could use .click() based on the id or class attribute.
      Kind Regards,
      Antonio B.

  15. Maxident August 2, 2016 at 12:25 pm #

    Hi Community,

    I do have a problem using the groups file access plugin. I did setup various files according the documentation and everything worked fine for a while. Only members part of a group that are related to the files were able to download them.

    Recently I realised that the download links do not work anymore and I get a 404 error message when clicking the downloadlink saying “The requested URL was not found on this server.”

    When checking the setup the files seem to be uploaded correctly, the downloadlink and rest of settings seem correct. When I try to reassign (upload again) the file to the existing entry i get the message “The file already exists but it is not related to this entry. The existing file is not replaced and the current file for this entry is maintained.”

    The only anomaly is that in the Files overview dashboard all files show Size: ERROR and Date: ERROR under the Path settings.

    Please let me know if this problem is familiar to you and you have an idea what could have changed in my previously functioning setup to cause this error and how to fix it.

    Thank you for any tip,
    best, Max

    • Kento August 15, 2016 at 1:46 pm #

      Hi Max,

      Is it possible that the path to the files has changed?


  16. neugon August 11, 2016 at 2:57 am #

    I have two sites. I bought two different licenses. One one site works perfect with the plugin and on the other, I can see the groups and the UI looks good, however after uploading..I get the message: “Could not upload the file.” I have enabled DEBUG on wp-config.php to see if I can see any issues, but the debug.log file does not show me anything.

    Is there a way to know why the file does not upload?

    • antonio August 11, 2016 at 8:04 am #

      Hi neugon,
      maybe there is a problem with the files/folders permissions. Please check this.
      If the problem persists, please try to reinstall the plugin.
      Kind Regards,
      Antonio B.

  17. neugon August 11, 2016 at 9:50 pm #

    Thanks for the reply on the generic issue with the “File Could not be Uploaded” the issue was permissions as you mentioned.

    The owner of the folder needs to be www-data. Once I changed the permissions everything worked fine.

    My question now is, how can I modify the wp-login.php url to a custom wp login page so that instead of:

    I want to use:

    • antonio August 12, 2016 at 8:43 am #

      please have a look at the Groups 404 Redirect plugin.
      Kind Regards,
      Antonio B.

  18. Karen Meade August 17, 2016 at 5:23 pm #

    I have just updated my site to WordPress 4.6. I have dozens of groups access files but the links to them have stopped working and on the web-site you just see the file name rather than the link eg [groups_file_link file_id="225"]
    I have tried loading a new file but that does not help. I do have an error message :-

    Warning: Missing argument 2 for wpdb::prepare(), called in /data01/c0237241/public_html/wp-content/plugins/groups-file-access/lib/admin/files.php on line 472 and defined in /data01/c0237241/public_html/wp-includes/wp-db.php on line 1275

    Can anyone help? I am the web-master but am not very techy so help in basic language would be appreciated! Thanks

    • antonio August 22, 2016 at 7:51 am #

      Hi Karen,
      I can’t get the same error, please be sure that you have the latest 1.6.0 plugin version.
      Kind Regards,
      Antonio B.

  19. Karen Meade August 22, 2016 at 4:20 pm #

    Antonio – thanks for the response. My version is Version 1.0.12. How do I go about getting the 1.6 version? Someone else set up up the web-site and bought the plug ins. If you could point me in the right direction I would appreciate it, thanks. Karen

    • antonio August 23, 2016 at 7:27 am #

      Hi Karen,
      the plugin is available from Codecanyon. You can ask them if you can recover the user, we can not do anything there.
      Kind Regards,
      Antonio B.

Leave a Reply