Wordpress - Proper way to manage custom users - wordpress

I have a site in Wordpress.
The functionality I need is such that, I can create 'users' of the site. These users have no purpose editing the Wordpress site in any way, and don't need to know we're even using the wordpress platform.
These users need to be able to edit their contact info and upload/view/swap out their own resume, using a page that I will build for them (not the wp-admin dashboard in any way). This resume will be PDFs and WordDocs.
At first I thought I'd just use the built in Wordpress Users and Roles that Wordpress offers. However, I'm not sure how I would attach resumes to that user, and let that user edit their own resume. I know I can use the 'user_contactmethods' hook to attach basic fields. However, I'd be trying to attach a link to a file that Wordpress hosts, and would need to be able to replace that file on a whim, in php. Also, my goal is to prevent them from ever using the Wordpress dashboard or editing tools.
Next, I thought I could create a custom post type for a 'SiteUser'. That would make it easy to manage a PDF/WordDoc attached to that post type. Also, that user wouldn't have any way to access the Wordpress stuff. Before I do that though, I wanted to ask on here if this really is the right way to do this.
This solution feels hacky.
Can I get some proposed solutions to this problem that could be perceived as 'the proper way'?
Thanks

Here is a rough idea of what you are looking to do.
Step 1
Create the user role for these new users
Step 2
Set the permission for them and disable backend access and redirect all access of those roles to a custom page /account/
Step 3
Use Advance custom fields plugin to create some custom fields on the user meta. (text, file, image)
Step 4
Apply some login logic/form and Link to a /account/edit-info/ custom page with the acf frontend form. https://www.advancedcustomfields.com/resources/create-a-front-end-form/
Step 5
Use these info to display somewhere on the /account/ page
Optional
Using gravity forms instead to manage user data entry gives better control but requires more coding, and a better user experience.
Front-end Admin Steps
Repeat Step 1-2
Loop site user and list them and their custom field files Have a button that opens a Gravity form with the user ID text field pre-populated and hidden, and have a file uploader element.
Add backend hooks after validation directly replace the user meta
containing the file path or ID (however you choice to store it in
Advance custom fields)

Related

How to create a user input form with WordPress?

I'm completely new to the whole WordPress scene so I kind of don't know the "WordPress way" of doing the desired task:
Create a form where a user would fill in some details (such as name, surname, upload a video or post a youtube iframe link)
Submit it, once it's done - an admin must verify that everything has been filled out correctly and after that the video can be seen on the website.
Should I write a plugin of some sort that would do that or how does it happen?
Thank you.
The Gravity Forms plugin allows you to do exactly what you're looking to do. With it, you can set up a form that creates a post and sets it to be 'Pending Review' in WordPress. This tutorial contains everything you need to know about what you'll need to do.
If you want to create a Custom Post Type (ie. 'User Page') to better separate user submissions, you'll need to employ this special add-on (as mentioned in the tutorial above).

How to use custom fields globally in Wordpress?

I'm trying to use the value of one custom field on multiple pages and posts. I'm a newbie to PHP and custom fields so what I'm trying to accomplish could possible be done using a different method.
I have a WPMU setup with all new sites created from a default blog that includes multiple custom post type templates. When users create a new site they are redirected to their site admin dashboard.
Here comes my challenge, I want users to be able to enter information into form fields contained in metabox(es) on their admin dashboard (not post editor) that will be used on the various custom post type templates. For example, a user will need to enter their company name, address, logo, etc.
Depending on the temple, the information entered into the form fields will be used on the frontend of the site. For example, the company logo will be display where the custom field or shortcode is placed on the post template.
I'm having issues using custom fields for this because each custom field is specific to each post. In addition, I'm having issues rendering a form on the admin dashboard for this.
I'm also thinking that custom fields may not be the best way to accomplish my objective because they are usually post specific. I'm really asking for a variable that will be used globally and is static unless the user updates the form.
I'd appreciate any assistance on this.
The options API is what you will need for this:
http://codex.wordpress.org/Options_API
There's also some plugins and frameworks you can use to help such as:
https://wordpress.org/plugins/options-framework/
https://wordpress.org/plugins/redux-framework/

let wordpress create new page with users content

I am wondering what would be the best way to let wordpress create idivual pages :
the project is as followed :
User makes account
Wordpress creates account and an account page, this page however is completely different from the wordpress theme. (easy i know, You could compare it with a profile page for the user but with much more content to fill in)
after user has filled in additional content wordpress should create the new page with the specific page design. Users should be able to edit content afterwards. Paying users should be able to export the generated page. Pages should be visible for public and be like domain.com/user
I am not sure how the best approach would be for this project as i am not that familiar with wordpress. My first thought is trough a childtheme, but im not sure if this would work.
Any advice?
Kind Regards
Try BuddyPress, this is exactly what it is designed for.

How to display content submission page to users?

I would like to add a page where users can submit content (not just a comment, but a specific 'content type' including the relevant fields). I could use the regular admin link but that would require alternating the admin theme a lot and also would need to hide/disable things i otherwise need.
Is there a good way to display a submission form to the users through which they can submit content? I was looking for a solution via 'Views' but didn't get far.
I hope i managed to get my point across.
drupal 6 or drupal 7?
in drupal 7 you have the field API that is very helpfull to get the fields of an entity.
in drupal 6 you can create your own form with forms API and run node_save() in the submit function.
If the only problem with using the usual node/add/node-type page is that you don't want users to see the admin theme, then you don't have a problem. You can disable the admin theme for non-admin users - on the permissions page, look for "System / View the administration theme". It's already unchecked by default, I think. Any adminny-type pages they access will use your default public-facing theme.

Any Plugin or suggested Design for user to perform an Custom action on Wordpress content

I need to make a Wordpress website having lots of recipes.User will be allowed to read and click on "Cooked" button associated with that particular Article. I would like to store who all user have Cooked that recipe and show it when I am showing the Recipe.
Is there any plugin available which can store User Activities on content(like we have comments plugin) or else what should be the best way to do this?
Take a look at WP Favorite Posts plugin which allows visitors to add favorite posts.
and set the label as "Cooked" instead of "add to favorites" , this will be the easiest way to do it but if you are up for some custom coding then it's simply a matter of saving the recipe post id in the user meta using update_user_meta

Resources