Offering products online can be a tough job. There are constant changes and issues coming up, sales need to be monitored, product lines adapted, decisions made. Depending on how big the platform is and how much time one has to invest, it can be a one person job or more people can get involved.
At the same time, many websites have an administrator who takes care of maintenance and technical solutions, while somebody else is responsible for the content.
Both scenarios as well as a million others can develop the need for the same thing: Different access capabilities for the backend of a website.
When the products offered are downloads and Download Monitor for WordPress is used to create and manage the downloadable offers, possible scenarios could be:
- A website owner takes care of the downloads himself, as well as content of his pages. But the site is maintained by an administrator, who is the only one to have access to update pages.
- The downloads are offered by an author, who needs to be able to implement new releases and who wants to know the download statistics. But an author should not be able to access anything else.
- An editor needs access to posts, pages and downloads, but the editor doesn’t need to maintain anything techy.
- A publisher wants to see the download logs, but won’t need to actually edit anything.
These are just some examples. They all mean: Access to some parts needs to be granted, but denied for others.
Creating New User Roles For Download Monitor
Access Management in WordPress is handled by User Roles. There are many different plugins, who let you create custom user roles. One of them is Members, which I am using in the following example.
After installing the plugin, the Users menu gets new items. In Roles, you will find an overview of all existing roles and you can edit their capabilities. When needing a role that doesn’t exist yet, you can create a new one with Add New Role.
For example, we can create a user called Download Monitor. To do so, I add a new role, name it and I grant the manage_downloads capability you can find in the Downloads Tab. It will grant access to All Downloads, Add New, Categories and Tags. Additionally, if the users are supposed to create new downloads, they will also need to access the media library and upload new files with the upload_files capability granted.
After saving, you might want to see the results. Your own admin user doesn’t change. But you can create a new user with the new role.
You can then install User Switching and when hovering over the User Name, you will find an Item „Switch To“. Switch there and you can see exactly what the new user can see and change. (Don’t forget to switch back, when you are done with your investigation.)
Granting Menu Access To Download Logs
The download logs are an item many download managers for example are supposed to see. Even though the Downloads item in the Members User Role Menu doesn’t show the capability, it is still possible to activate it.
Therefore, you can click on Edit on the role you want to change and navigate to the Custom Tab. There, you can find the needed setting: dlm_manage_logs. Grant access, save and test it by using user switching again:
Granting Access To The Download Settings
If you also want your download manager to enter the Download Monitor Settings, you won’t find a capability for that. But luckily, there are other ways to achieve access: You can adjust which menu items a user role can see by installing a plugin like Adminimize. The plugin will let you hide specific menu and submenu items from every user role, which is quite handy here.
As the plugin helps for displaying all or no menu items, we can create a different user role, that has all main capabilities. Instead, we will hide what isn’t needed.
When you activate this plugin, you will find a new entry at Settings —> Adminimize. When accessing Adminimize, you can find many different Options to hide. What we need in this case are the Menu Options.
By clicking on them, you can find a list of every item in your Dashboard Menu. You can either hide a whole menu part by clicking the checkboxes with a red border. Or you can choose each submenu item separately.
As for the Download Monitor part, I want to hide the extensions and Email Log only, but show everything else. Therefore I set these two checkmarks. Additionally, I hide all menu items but Media.
By saving and switching back to the user with this specific role, you can now also enter the download settings.
Any of these granted options can be mixed with others. So you can create different roles for all the different kind of players that are able to work on a site with Download Monitor.
Products Used in This Post
Download Monitor is a plugin for uploading and managing downloads, tracking downloads, and displaying links. It provides an interface for uploading and managing downloadable files (including support for multiple versions), inserting download links into posts, and logging downloads.