All of this can be done with code of course but since you say,
“The first part (check if the user is registered / subscribed) is the difficult one for me.”
…then your time will be better spent going directly to plugins that allow for similar functionality as described in your question.
The first recommendation,
WishList Member [premium only]
This is a full-fledged membership plugin, while its not the only one of its kind, its good.
Easy Digital Downloads [free with optional premium add-ons]
This plugin, while smaller out of the box compared to the above, is focused more so with, downloads as its name suggests. It’s developed by fellow WPSE user Pippin.
I’m not overly big on recommending plugins, but when I do I try to recommend those of which I have used and think are good quality (unless stated otherwise).
Related Posts:
- Username from e-mail
- What characters are allowed in an email address?
- How to display user registration form on front-end of the website?
- What is an easy way to display a front-end user registration form?
- User registration problem in WordPress
- Custom Registration Template/Page
- Registration form labels – add asterisk
- Sending form data via PHPMailer – How to action PHP script from a form
- How to create and retrieve data from a special registration form?
- not logged in users can’t submit form
- How to redirect new WordPress user to previous page after registering
- How can I create registration form for users which I can assign role and profile picture?
- Adding a new user from the front end
- Contact Form 7 not sending emails- no confirmation, no error [closed]
- Remove field in the form : only works for “url”, not for “email”?
- PHP form is not sending mail if I use mime type and version in header. How to solve this? [closed]
- Create a registration form with a PayPal checkout fee? [closed]
- WordPress Emails & Contact Forms [closed]
- Saved emails at dashboard
- How can I modify labels in default wordpress registration form? [duplicate]
- Display number of sign-ups [closed]
- Email from my theme’s contact form doesn’t get the reply-to address right
- Email form getting hacked
- WordPress – Users with contact form on profile
- Am receiving more than thousand mails in single day from ‘[email protected]’ continuously
- Sending Form data as Attachment
- How to call or add password input / generate password / password strenght meter in custom registration form?
- Sending email via function in page or setting up the action properly in another page
- Send contact form to a specific referrer-email adres
- Send message to author without showing email address [duplicate]
- Create register form plus send post
- Submit button returns to index page instead of sending data
- Form that stores emails [closed]
- WordPress – custom user flow registration approval
- How do I register user without being authenticated
- How can I add email code authentication on form submission without any wp plugin?
- What is & used for
- How to define form action in JSF?
- Free or affordable OCR and ICR (handwriting recognition) SDK?
- How to include landing page with form submission?
- How to edit a user profile on the front end?
- How to change the default registration email ? (plugin and/or non-plugin)
- How to handle form submission?
- Disable user registration password email
- How do I customise the new user welcome email
- Add error message on password protected page
- Send user activation email when programmatically creating user
- User Without Email?
- how to set from address according to the form input email address for wp_mail()?
- How to set up User email verification after Signup?
- How to get current url in contact form 7
- Is wp_nonce_field vulnerable if you know the action name?
- Custom admin email for new user registration
- Allow Duplicate Email Address for Different Users
- Email confirmation on registration
- How to pass on Google Adwords gclid variable to other pages
- Login email after registration never sent or received
- using update_user_meta in form to set and get custom meta
- Best way to create multi-step form with data saved to user account for later updating?
- Email as Username in registration
- Creating a contact form without a plugin [closed]
- How to submit data from HTML form?
- Mail isn’t sent after local site registration
- How to disable wordpress confirmation email for new users
- show image in mail contact form 7 [closed]
- Can I verify nonce which was generated on a different WP site?
- Submitting post to database then redirecting to paypal
- Autocomplete for taxonomy input boxes on a front end form
- Contact form 7 Dynamic text – placeholder on GET field
- Settings API erases itself?
- how to handle forms in multiple pages?
- set_query_var doesn’t seem to work on init hook
- How to send multipart form data to WordPress endpoint
- need to add attach thumbnail from my form
- Wp_mail Returning False on Server
- recommended practice for form submission
- Placeholders in Jetpack Contact Form [closed]
- Best way to create a user programatically
- How to update selective options on plugin settings page
- How to hook into user registration process Before user registers
- Built-in data validation function for URLs
- $_POST empty on submit (same code, same form submits normally on local server)
- Gravity Forms skip form if already filled out using cookie?
- Loading scripts & styles from a meta box callback function
- Checkbox won’t check when label is clicked
- One comment per user per post
- Handle registrations in WordPress when user doesn’t have any email?
- How to sent one form values to 2 different sites in wordpress
- Looking for a simple approach for handling user $_POST data without AJAX?
- Registration e-mail check with AJAX
- Trying to save and display a wp_editor()
- Is there any good tutorial to write custom login, registration and password recovery forms? [closed]
- Allow access on a page to just only a specific member
- Change register form action url
- How to return variables from admin-post.php
- Help with verifying google recaptcha in a custom form
- Nonce actions and names available via open source
- Setting specific image size for specific form upload file field
- Send Notifications to All Admins
- Duplicating/Cloning Multiple Form Fields