Troubleshooting
This page lists the most common problems with Dantian Attestation Core 1.0.0 (Free and Pro), using the exact messages the plugin shows. Find the message or symptom, then follow the fix.
Before you contact support, check Attestation Core → Settings → General → System status. It shows whether the daily background task is scheduled and when it will next run.
Staff portal
“You need to sign in to view your compliance portal.”
The person isn’t logged in, or a caching plugin is serving them a logged-out copy of the page.
- Ask them to log in, then reload the page.
- If they’re definitely logged in but still see this, your caching plugin (WP Rocket, LiteSpeed Cache, W3 Total Cache and so on) is caching the portal pages. Exclude the portal pages from the cache, or turn on “don’t cache pages for logged-in users”.
“Your account is signed in but no active compliance profile is linked to it.”
The WordPress user isn’t linked to an active compliance profile. Portal access comes from that link, not from the person’s WordPress role.
- Go to Attestation Core → Compliance Profiles and open the person’s profile.
- Under Linked WordPress user, choose their account, then click Save Changes.
- If the profile is Archived, set it back to Active. Archiving removes portal access. Inactive doesn’t.
If there’s no profile yet, create one with the same email address as the user, or create the user afterwards with the same email. They link automatically. See User roles and permissions.
Administrators see this message too on portal pages unless they have a profile of their own. That’s expected.
Dashboard tiles or portal links are missing
Portal pages link to each other only when each page is mapped in settings.
- Go to Attestation Core → Settings → Portal pages.
- Any row showing “Not configured — portal navigation links for this shortcode will be inactive.” needs a page. Pick the page that contains that shortcode, then click Save portal pages.
- Or click Auto-create missing portal pages. This publishes a page for each unmapped shortcode and leaves correctly configured pages alone.
See The staff portal.
The page shows the shortcode text, or is blank
- Raw text such as
[attestation_core_my_calendar]appears: that’s a Pro shortcode and the Pro plugin isn’t active. Activate Pro, or remove the shortcode. - Blank for staff, and administrators see “Attestation Core Pro — licence inactive”: the Pro licence isn’t active. Click Manage licence and activate or renew it. See Licensing and updates.
- Blank for everyone: check that the shortcode is in the page content (not a widget) and spelt correctly, then check the Shortcode reference. If it’s still blank, turn on WordPress debug logging and check
wp-content/debug.logfor errors, or temporarily deactivate other plugins to look for a conflict.
Staff land on the WordPress profile screen after logging in
Staff linked to an active profile go to the page mapped as Dashboard in Settings → Portal pages. If no Dashboard page is mapped, WordPress sends them to its default screen. Map the Dashboard page to fix this.
Uploading documents and evidence
| Message | Cause and fix |
|---|---|
| “File type is not accepted. Allowed: PDF, JPG, PNG, DOC, DOCX.” | Only those five file types are accepted. Convert the file, for example save a photo as JPG or PNG |
| “File content does not match its extension.” | The file has been renamed (for example a .heic photo renamed to .jpg). Export or save it properly in an accepted format |
| “File is empty or exceeds the permitted size.” | The limit is 25 MB, or your server’s upload limit if that’s smaller. Compress the PDF or ask your host to raise the upload limit |
| “Too many uploads; please wait a minute and try again.” / “Too many submissions; please wait a minute and try again.” | Each person can make up to 10 uploads or submissions a minute. Wait a minute |
| “An expiry date is required for this document type.” | The document type tracks expiry. Enter the date printed on the certificate |
| “The expiry date cannot be in the past.” | The document has already expired. Upload the renewed one |
| “That document type is not required for your compliance profile.” | The document type isn’t required for that person’s workforce category. An administrator can change the document type’s settings under Settings → Library → Document types |
| “Private uploads directory is not available on this installation.” | The plugin couldn’t create its private folder. See Downloads fail below |
| “Please select an evidence type.” / “Title is required.” / “Evidence date is required.” | Fill in the missing field on the Submit evidence form |
| “This evidence type must reference at least one unit before it can be submitted.” | That evidence category needs unit mapping. Tick at least one unit |
| “…is unavailable until your administrator assigns units to your profile.” | The person has no units assigned, so unit-linked evidence can’t be submitted yet. An administrator assigns units on the profile (Pro, RTO) |
| “Upload failed (error N). Submit the evidence without a file and upload it later if needed.” | The server rejected the upload. Try again, or submit without the file and add it later |
See Document management and Evidence submission.
Downloads fail, or “File is missing from private storage.”
- Go to Settings → Storage and check Active backend.
- Default private storage: files are kept outside your website folder when possible (a folder named
attestation-core-privateone level above WordPress). Otherwise they go inwp-content/uploads/attestation-core-private/. The folder must exist and be writable by the web server. - Google Shared Drive (Pro): check the connection on the Storage tab. See Google Drive storage.
- If you’ve recently moved the site to a new server or folder, make sure the private folder moved with it. It sits outside the normal WordPress folder, so some migration tools miss it.
“Attestation Core: Private document storage is publicly accessible.”
Every day the plugin places a test file in the private folder and tries to read it over the web. This notice means it succeeded, so documents could be downloaded without logging in.
- Nginx: add the block shown in the notice (and on Settings → Storage → Security self-test) to your site configuration, then reload Nginx.
- Apache: make sure
.htaccessfiles are honoured (AllowOverride All). - IIS: confirm
web.configis loaded.
If you’re not sure, send the notice text to your host. Dismissing the notice hides it until the next day’s test.
Email notifications aren’t arriving
- Go to Attestation Core → Settings → Notifications and use Send test email. It goes to the Admin contact email set on Settings → General.
- “No admin contact email is configured. Set one under Settings → General first.” means that field is empty. Fill it in and try again.
- “WordPress could not send the test email…” means your site can’t send mail. Install an SMTP plugin (for example FluentSMTP or WP Mail SMTP) connected to a mail service.
- “Test email sent to …” but nothing arrives: check spam and junk folders, then your SMTP plugin’s log.
- On the same tab, check that Send notification emails (the master switch) is ticked, and that the notification type you expect is enabled.
- Open Attestation Core → Notifications (the notification log) to see what was sent and when.
- Expiry and reminder emails come from the daily background task. If it isn’t running, nothing is sent (see the next section).
See Email notifications.
The daily background task isn’t running
The daily task checks document expiry, sends reminder emails and runs the private-storage self-test. Its first run is scheduled for 2:00 am the day after activation (server time, usually UTC), then every 24 hours.
- Go to Settings → General → System status.
- “Scheduled. Next run: …” means it’s set up.
- “Not scheduled. Document-expiry alerts and reminders will not run. Deactivate and reactivate the plugin to reschedule.” means you should deactivate and reactivate the plugin under Plugins. Your data is kept.
- WordPress runs scheduled tasks when someone visits the site. On a quiet site, the task can run late. Ask your host to set up a real server cron job that calls
wp-cron.phpevery few minutes. - If
DISABLE_WP_CRONis set inwp-config.php, or a performance plugin has turned off WP-Cron, you must have a server cron job, or nothing scheduled will run.
CSV import problems
The import is on Attestation Core → Compliance Profiles → Import profiles.
| Message | Fix |
|---|---|
| “Only .csv files are accepted.” | Save the spreadsheet as CSV (comma-separated) |
| “CSV must include “email”, “first_name”, and “last_name” columns. Download the template for the expected layout.” | Use the CSV template link on the import page. Header names must match. Their order and capitalisation don’t matter |
| “Invalid employment_type “…”. Valid values: employee, contractor, casual, volunteer.” | Only these four values can be imported. Set other workforce categories on each profile after import |
| “Invalid status “…”. Valid values: active, inactive.” | Use active or inactive |
| “Duplicate email “…” within this file — email must be unique per row.” | Remove the duplicate row |
| “Too many rows. Maximum is 500 staff members per import. Remaining rows skipped.” | Split the file into batches of 500 or fewer |
Rows whose email matches an existing profile update that profile. New emails create new profiles. After each import, Last import result shows how many were inserted, updated and had errors, with the row number and the problem for each error. See Bulk import staff from CSV.
Competency Matrix isn’t updating (Pro, RTO)
🔒 Pro feature — requires the Pro plugin.
- Check the evidence was actually Validated or Partially validated, not just opened.
- Only evidence in a category linked to units updates the matrix (“Vocational Currency” in the RTO setup). Training & Assessment currency evidence doesn’t.
- Check the units were ticked under Units supported by this evidence when it was validated, and that the person is assigned those units. The review screen warns when a profile has no units.
- The matrix refreshes when evidence or assignments change, and otherwise keeps a cached copy for up to 5 minutes. Reload after a few minutes.
See Unit of Competency Matrix.
Pro screens or shortcodes have disappeared (Pro)
🔒 Pro feature — requires the Pro plugin.
Pro keeps working for 7 days after a licence becomes invalid or expires. After that, Pro screens are hidden, Pro portal shortcodes stop showing their content to staff, and your Pro data is kept. Go to Settings → Licence to reactivate. See Licensing and updates.
A Department Coordinator can’t see someone or a screen (Pro)
🔒 Pro feature — requires the Pro plugin.
Coordinators only see people in their departments, and they never see the Dashboard, Reports, Calendar or Settings. Add the person to the department under Departments → Edit → Trainers. See Departments.
“Sorry, you are not allowed to access this page.”
The user doesn’t have the capability for that screen. For example, Action Log needs a full WordPress Administrator, and the Dashboard and Reports aren’t available to Department Coordinators. Check the Capabilities reference.
Setup was skipped
The setup wizard can be reopened at any time. Use Settings → General → Re-run the setup wizard, or the Finish setup button in the notice shown until setup is complete. See Settings and the setup wizard.
Getting support
- Read first: the FAQ and the feature guides in this documentation set.
- Check first: Settings → General → System status, the Notifications log and the Action Log often show the cause straight away.
- Contact: email dantianhealth@gmail.com, or open a ticket from your Dantian Health store account (Pro customers). Include your WordPress, PHP and plugin versions and the exact message you see.
Was this helpful?
Thank you for your feedback!