- Blog
- Contact
- Plugins
- Affiliates
- Affiliates Enterprise
- Affiliates Pro
- Affiliates Pro Contact Form 7 Integration
- Affiliates Pro Ecwid Integration
- Affiliates Pro EDD Integration
- Affiliates Pro eShop Integration
- Affiliates Pro Jigoshop Integration
- Affiliates Pro PayPal Integration
- Affiliates Pro s2Member Integration
- Affiliates Pro TheCartPress Integration
- Affiliates Pro WooCommerce Integration
- Affiliates Pro WP e-Commerce Integration
- Affiliates by Username
- Affiliates Extra Fields
- Affiliates Products
- Affiliates Share
- Affiliates Users
- Decent Comments
- FrankenCookie
- Groups
- Itthinx LazyLoader
- Lazy Widget Loader
- Open Graph Protocol
- Useful Plugins
- Support
- Shop
Recent comments …
kento on Affiliate New Sign-Up And PayPal EmailIt looks like something's in conflict with those URLs. Do you...
ferky on Affiliate New Sign-Up And PayPal EmailHi there... Yeah I know the pretty URL only works with...
kento on Affiliates Pro s2Member Integration PackOk I see. To exclude a specific affiliate from getting a...

We use cookies to optimize your experience on our site and assume you're OK with that if you stay.
Groups File Access
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.
Among the many possible use cases covered by this plugin, the most prominent are:
- Provide file downloads for Premium Members.
- Allow registered users to download files from your site.
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’s 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.
Download
Get the plugin here: Groups File Access



I want to give individual clients/users access to design files that I would upload. Would I need to create a group for every client? Is there a better way to handle this?
Creating a group for each client would be the appropriate way to do this. Let’s say ACME Corp is a client of yours and two people in their organization need to have access to the files. Create a group for that client, create a user account for each of them and assign them to that group.
How would I construct a shortcode to show ALL files the user has access to? This would allow a user to go to a page and access any of the files they are allowed. The example codes limit the listing to individual file IDs or groups.
Yes, currently you would have to put a shortcode for each group on a page. A good addition would be to allow a * wildcard that allows to render links for all groups the user belongs to. Added this feature request to be included with the next release.
Great, thanks
Hi I am creating a membership site for my appointment setters/sales consultants.
I want to create per-recorded webinars loaded in their marketing resources page so they can drive traffic to these links for different services, seo, mobile, text marketing etc. After the customer watches the video if they want to purchase the service then they can click the buy button, and the sales person gets the commission.
I am confused on how to do that.
I did watch the video on banners.
Please help!
Thx
Armando
How is this related to GFA?
What I need to do should be simple, but it won’t work.
I have a library of user guides for business telephone systems.
I want to assign users to groups based on their system type and display only the relevant guides on the user guide page. There will be about 50 different groups to start with and I will be adding to it on an ongoing basis and I don’t want to have to update the shortcodes on the download page every time I add a group.
The idea is to have the user go to a single page and only see the documents that are relevant to them without having to know what make, model and version of system they have.
What I need the shortcodes to do for me is something like this:
[groups_non_member group="{any/all groups}"]
Please log in
You must be a registered member to access the files available for download.
[/groups_non_member]
[groups_member group="{any/all groups}"]
Downloads:
[groups_file_link group="{any/all groups}" description="yes"]
[/groups_member]
I don’t know if I am explaining this very well but it is very frustrating not to be able to figure out how to do something that should be so simple.
Related to this reply.
When I use description=”yes” in the shortcode the bullet shows up on the line above the file information. When I do not use description=”yes” the bullet lines up fine.
Probably some CSS rules can help you there. Screenshot?
I would like more information about how, specifically and technically, files and assets are secured from direct access should someone discover the source URL/location.
Does GFA handle managing that aspect?
What about access keys, unique identifiers, etc. to track and ensure intended recipients and deter sharing, etc.?
Thank you.
GFA serves files through its own handler. If you try to access a protected file without the proper credentials, you will get a 403 Forbidden. Users access files through their account, i.e. they have to be logged in to access a file.
Are the actual source locations of the files protected to keep people from identifying where the files live and directly linking/accessing?
Or would something like that be done with access rules and restrictions, allowing only localhost or the likes to access the files via the GFA handler?
These are protected, the links that allow to download files use a file identifier passed to a URL parameter.
I am looking to understand /how/ they are protected?
Are they protected via .htaccess (for Apache) by the web server?
What about users of Nginx, for example?
How are the absolute, static links to the file/folder protected?
What I am getting at is, … is there documentation explaining how to protect the contents of the secured directory and its files for Nginx, Apcache, etc.?
Thanks again!
For Apache an .htaccess file is created that contains
deny from all, where GFA uses its own handler to decide whether the request for a file should be granted or not.I’m not really Nginx proficient, but the equivalent for the .htaccess should do it.
Thanks for mentioning this by the way, I think this should be added to the documentation (taken note to do that).
I currently use your wonderful Groups and Groups for WooCommerce and want to restrict access to the downloaded products we are selling. It appears this will server my purposes just find for downloads, but I have a couple of questions.
Can this be used with external files?
Can this be used for progressive download files?
I would like to host my files on S3 and embed my audio and video players directly on the page but restrict access to the source.
Thanks
Hey Jason,
It can’t be used with external files, the plugin handles downloads for files it controls on the server so for your case it wouldn’t really be an option … but the idea of it acting as a proxy to external files isn’t bad at all
So can I use the members plugin by justin tadlock to create my group permissions? Or can I use the buddypress groups that I already have?
I’d hate to have to install a 3rd software group system just to add in this ability. Does your plugin tie into any of the other group systems available for WordPress. (usergrups, roles, buddypress, etc)
It’s really an extension to Groups based on the framework it provides to build solutions like this one. I created Groups because I wasn’t satisfied with the way other plugins were designed and/or implemented, so it doesn’t make much sense to me to try to cover other solutions with extensions built on Groups.
I have customers that are retail and wholesale customers – I do not want my retail customers to see my wholesalers prices. Will this plugin allow me to restrict access to my prices? Set up how? Sorry a newbie here.
Hi Brenda,
Did you get an answer to your question?
I am looking for the same thing!
Sarah
GFA is not suitable for that, it restricts access to. Groups is used to restrict access to content and pages, with its access restriction options you can restrict access to pages containing your prices to authorized users. You can also use it to restrict access to certain product pages if that’s what you’re looking for.
HI, I am able see log file which user and how many time download any files?
You can get notifications when users access files, do you mean per-user stats on the back end or a shortcode? That’s not available in the current version (the data to do it is stored though) but I’m adding it as a good idea to the feature requests.
Two questions:
- Is there any way to insert line breaks or paragraph tags into the file description?
- I’m using the shortcode to display all files a user has access to on a single page ([groups_file_link group="Premium"]). Can I sort this file list somehow? They seem to be ordered by ID with the lowest number at the bottom of the list currently. I’d love to be able to at least switch that order to have the lowest ID first, or even sort by title or filename.
Thanks!
Scratch the bit about sorting the file list – I think I’ve figured that out. Would still like to have linebreaks in file descriptions though
Ah, good
Let me know if you think the other shortcode would be helpful for you, otherwise we can add an option to deactivate the filter on this one as well. An updated release is pending so it could be added then.
Being able to use filter=”none” on [groups_file_link] would be fantastic! Since – correct me if I’m wrong – wouldn’t using the [groups_file_info] shortcode require a lot more work than [groups_file_link]? As in, the latter lists all of the files available to a specific user, whereas the former you’d have to use for specific files repeatedly to list all available files, right?
Yes that’s correct, I’ve added the filter option to be included in the next release.
When you use the [groups_file_link] shortcode, it will filter these out. But you can use the [groups_file_info] short code indicating filter=”none”.
Currently the list is ordered by name in ascending order, the shortcode could use some additional options for sorting the list of files though.
Hi, I’ve successfully installed this plugin!
Now I need to show all links of files that user can download.
For example, something like that [groups_file_link group="ALL GROUPS"].
This should render all links to files that members has access to.
Thanks,
Luca
Hi Luca,
For example, you would use
[groups_file_link group="Registered"]for all files that registered users can access. This will include all files in Groups > Files that have been added to the Registered group. Of course you can also do the same for different groups. You cannot use this to show files for all groups yet, you would have to place one for each of the groups. The capability to show files for all groups is going to be added, also see the call for feature requests for other features that will be available.Thanks for using the plugin
Cheers
Thanks.. When do you think that the new release will be available?
Work on the new features is in progress right now and testing has to be done, as soon as that’s over the new release will come out. No exact date yet but it should be soon.
I have installed and activated the Groups and Groups File Access plugins. I am able to go to the File page and upload a file, and I have verified via FTP that the files does upload… but it cannot be viewed on the “File’ Page. Any idea of why and how to remedy this. I do have the latest version of wordpress… I am using the u-design theme… and am browsing on a Mac via Firefox or Safari.
problem = slideshow plugin.
Thanks, then it’s not the filters I suppose. What slideshow plugin is conflicting please?
It is the Smart Slideshow Widget By Rubén Trujillo
Ok thanks, just tried it and there doesn’t seem to be a conflict between those two, at least not in admin sections. But after installing Smart Slideshow Widget I couldn’t drag any widgets onto the sidebar due to a Javascript error – but I tested on WordPress 3.5 while that plugin says it’s compatible up to 3.3.2 only.
I assume you mean the Groups > Files section in the back end. Are you saying after you have added a new file in that section (with the New File button on top) you cannot see it in the list of files? If that’s the case, do you have any filters set? The filter settings are ‘sticky’ – i.e. if you filter for example by Name and there is no result, then leave the page and come back, the filter will still be set.
Hi Kento!
Just bought the groupsfileaccess plugin at codecanyon, and I have a request:
Because I need to upload huge files to use with the plugin, it’s easier to do so by FTP transfer.
Can you add the option to simply set the full file path manually ? (overriding the upload function from the admin panel?)
Best regards.
Carlos
Thanks for the suggestion Carlos, I’ll add this feature request, hope to get the new release out soon
If I click the upload button, is it possible to link large files uploaded via ftp? WordPress Standard Upload windows do that, but it’s not shonw in your screenshots, thanks.
An option to scan for new files would be great to have, this would allow you to upload files directly via FTP and then have the plugin scan for new files and include them automatically.
Wow this looks like it’s the answer to my problems. Before i go to far I just wanted to check my thinking is right.
Example: A company ABC has say 10 Departments. Each Department has a Director, Manager, Staff. Would the set-up be as follows:-
ABC = Parent
Department 1 = Child of ABC
Director of Department 1 = Child of Department 1
Manager of Department 1 = Child of Director of Department 1
Staff of Department 1 = Child of Manager of Department 1
Then so on for Department 2 etc..
OR would it be that Director/Manager/Staff are all Child of Department 1
Also, would ABC be able to post content that was visible to ALL Directors of ALL Departments, or ALL Staff of ALL Departments, if so how?
I assume this question is related to Groups in terms of how to set it up, but you want to grant access to files depending on where in a hierarchy a member is? You can set up pretty much any hierarchy, just like the one you are explaining. Just note that the actual user accounts would be group members, as you would assign the user account to one or more groups.
Sorry, just had another thought pop into my head, following on from my last question;
If I had the company then departments set up could I just designate the role of Director to a user and then assign them to a Department so that they could only see that Department? That would save having to add Director of Department 1, 2, 3 etc
Groups doesn’t use roles conceptually but group memberships. In your model, a user would be a member of a Directors group.
Hi,
first at all, congratulations for your very usefull group plugin.
I use “Groups File Access” plugin for manage some private PDF files.
The client needs that users could open these files in a new tab (target=”_blank”), not download it.
I tried with the following link but it doesn’t work:
View pdf
It is possible???
Thanks in advance.
Hi Jose,
I can see the link, please use pastebin.com, this might be useful for others as well. (the code was stripped out to your comment).
cheers
Antonio, gracias! thank you very much for the advice, I didn’t realise that the link would be converted… hehe…
Here is the code:
http://pastebin.com/8yFG5z3a
any suggestion?
Hi,
the link is correct.
The browser downloads the file because the link isn’t a pdf file, it’s a php call that get the pdf file (if the link was a pdf file directly,who knew could download it).
This is why it is downloaded directly.
cheers
Hello,
I’d like to know if it is possible to notify a group when a file deposited with it for?
and I’d like to know if the next version will download statistics?
If the modules are top
cordially
Hi Romain,
currently no such option. You can do it manually with a newsletter plugin.
cheers
damage, otherwise your solution is perfect. Too bad we can notify the administrator but not automatically groups
Actually the idea sounds good to me, this could certainly be added, i.e. notify group members when a new file has been made available for them, I can think of good use cases for that. Thanks for the suggestion Romain, I’ve added this to the list of feature requests to be implemented.
File size to be uploaded has grown to 5MB, Is there a way to upload a file of 20MB?
Hi,
This should be config in your hosting. Groups File Access uses the default value.
cheers
Well noted. Thank you!
Seems there is a UTF-8 problem when entering file descriptions. Works on file name text field.
Hi,
thank you very much for warning. in the next update, we will fix it.
cheers
Thanks for the great plugin.
If you want to display by uploading a PDF file, but I’d like to display inline in a browser, there is no way I would be?
Hi,
you can’t do it.
More info: http://www.itthinx.com/plugins/groups-file-access/#comment-7162
cheers
How secure is this program? I have a members only section for a non profit company, and need to ensure that their files remain secure… and only viewable by them when they are signed in.
It is as secure as your server is – GFA restricts access to the files and only authorized members will be able to access them. As long as your server is secured, GFA will be able to protect them.
Hi there – product looks great – I am looking something that will also allow us to track how many times a specific user downloads specific files
Would this plugin have this capability – or is there anyway to do this in WordPress???
Thanks!
Hi,
yes, you can show this with [groups_file_info], for example:
[groups_file_info file_id="1" show="count"/]More info Groups File Access Documentation
cheers
I’m hopeful your plugin can resolve my problem.
I have a public site with a Members Only section. Currently my user registration/login and content permissions (page/post access based on Roles) is handled by the Absolute Privacy Plugin. I naively thought the page/post access restriction covered all files uploaded to or linked to the page, but I recently learned that those files (PDFs, JPEGs, MSOffice docs, etc.) are accessible by anyone through their direct URLs (typed in or located by search engine).
I understand your plugin works based on Groups and not Roles so, if I add all of my registered users to a group, will your plugin enable me restrict access to the files on my restricted pages so that only logged in group members can view and/or download them? Also, will I have to re-upload the dozens of files already on the site that need to be restricted or can the restriction be added to existing Media Library files?
Hi,
yes, this plugin is based in groups, and the files are protected from access direct.
Sorry, but you need to re-uploads the files, and then assign to one group (or more), and add the users to respective group/s.
It restricts all file types.
cheers
Can I show the file to download in limited time and after that it display
Hi,
you can control how many times you can download the files (in Groups->Files, Max# field)
But you can control the period time.
cheers
Hello,
I purchased your plugin, and I’m having a serious issue:
When an authorised user downloads a pdf, he gets a “Corrupted pdf” message when he tries to open it.
Can you help?
Thanks a lot!
Hi Max,
Can you provide a link and user access to the site to have a look please?
Hi Kento,
Thanks for your reply.
On what email can I send you the link and access info?
Sure
Please send it to support at itthinx dot com.
Hi,
I sent you the website info the 31st of may and didn’t get a response from you. Can you tell me what’s wrong with the plugin?
Thanks!
Hi Max,
Sorry I must have missed that, I just tried to log in with the details but login is rejected. I also created an account but it doesn’t give access to the documents obviously, can you please send the current password or grant access to the itthinx user?
Could you try to connect again? It should work now…
Got it, thanks. I’ve managed to get the file, but it is effectively ‘corrupted’ because of the following Warning which appears in the file that is downloaded (quoting the message without the tags):
Warning: set_time_limit() has been disabled for security reasons in /home/www/91018f06866fdd3615e609e7ed630184/web/wp-content/plugins/groups-file-access/lib/file/class-gfa-file-renderer.php on line 42After that, the actual PDF starts.
Solutions:
- As suggested e.g. here, try setting
safe_mode=offinphp.ini, or- as a temporary quick fix, comment line 42 in
wp-content/plugins/groups-file-access/lib/file/class-gfa-file-renderer.php.In any case, doing the check for safe_mode would be a good idea to add before line 42, I’ll add that and release an update.
Thanks for your patience and for reporting the issue you had, helps to make it better!
Seems to work ok now, I can see the PDF correctly.
Thank you so much!
The fix did it! It’s really nice to see this nice plugin work like it should!
Thanks again!
Cool
I’ve already added the change to the development version so it’s in the next update as well.
Strange, I thought I had sent a reply… Can’t see it anymore
It works now, the fix did the trick. thanks a lot for your help!
Probably the cache, got it
Hi there!
Just about to get your plugins but need to know first if it is possible to assign a single file to be accesible to many groups, so I don’t have to upload a file per group… this is a mandatory requirement from our client.
What they want is to share file1.pdf to group1 and group2 but file2.pdf only to group2…
Cheers!
Hi,
yes, you can assign a file to many groups you need.
You can have for example:
fileA accesible to group1, group2, group3
fileB accesible to group3
fileC accesible to group1, group3
cheers
Thank you!
What I am trying to do is create a portion of my website where I sell image files to one group, but give those files away for free to another group. Would this plugin work for that? I have been banging my head against a wall for the entire day trying to find a good plugin for this. I have temporarily decided to use woocommerce and the groups plugin to create these different groups, but hoping that this plugin will work for the final peice of the puzzle.
Hi Mike,
Yes that would work. Assuming you have two groups, Premium and Freebies, Premium pays to get access to the images, Freebies doesn’t but can access those same images as well. You would assign the files they should be allowed to access to both groups … voilà
I just want registered users to be able to see products in cart so how do i make registered users a group?
Hi,
you can use [groups_member] shortcode in your cart page. For example with woocommerce:
[groups_member group="Gold"]
[woocommerce_cart]
[/groups_member]
cheers
ok i got that part – and i have a group called insiders which is my gold however it has no capabilities. capabilities seem to be more backend things …then view/checkout product in cart. help
and then the options – how does that work -
Hi,
you can create a capability “isInsider”, and assign it to group “Insiders”.
and restrict all pages related to the shopping cart (cart, checkout, …) to this capability.
cheers
so i created the capabiltiy but it just says description not any restriction – what am i doing wrong – thought i’d then go to options but no way to link capability and options
Hi,
you must:
1.- create the capability
2.- Assign to a group (in Groups->Groups have the buttons above the table).
3.- In Groups->Options->Capabilities must select the new capability.
4.- In a post/page, in right sidebar you can select the necessary capabilities.
cheers
totally missed the dropdown in 2. Thanks. alright now re 3 .- In Groups->Options->Capabilities must select the new capability – do access restrictions all get checked? i selected the capability insiders under capabilites but also have checks under the 4 user types in persmissions. Right or wrong?
You normally wouldn’t change the permissions on that screen unless you want any of the roles to have certain management capabilities related to Groups on the back end. The normal thing is to have them checked for the Administrator role and none checked for any of the other roles.
something still not adding up here …how do i take this off forums and get individual support
It seems your questions are more related to the Groups plugin itself. You should post your questions on the Groups plugin page unless they are directly related to GFA.
Hi..
I’m using your plugin which I like very well.
I’m moving a lot of files from one place to this new one I’m making with Groups and Groups File Access. Is there a way to copy bunch of files into one group instead of one at a time?
Thanks,
Anna
Hi,
sorry, but you only can upload files one by one.
Once uploaded, you can assign several at a time to a group using the table’s checkbox.
cheers
I recently purchased the Groups File Access along with Groups and WooCommerce for replacing our new IT Training Video website.
The files I need to add are much larger than 8MB. Heck I have PDFs that are larger than 8MB. How can I upload larger files into WordPress from the Group File Access option?
Thanks!
Michel
Nevermind, I did an unrelated google search and found out that I needed to add something like this in my PHP.ini file:
post_max_size = 150M
Note: I would recommend putting this into your documentation for future users for how they can upload larger files.
Michel
Hi Michel,
There are two more that you should take into account:
upload_max_filesizeandmax_execution_time. For example, add these to yourphp.ini:upload_max_filesize = 192Mpost_max_size = 193M
max_execution_time = 300
See also this post on WordPress hosting requirements.
You’re right, it would be a good idea to add this in the documentation. Doing it right now, thanks!
Thanks for the follow-up kento.
Yeah, I had the others in my PHP.ini file except for the execution_time value, which I had added now. Thanks for the fast reply and the help.
Michel
Perfect! I’ve also expanded the Setup section with info for large files, thanks to your suggestion.