Admin Settings

The VetCarePress settings page is at WP-Admin > VetCarePress > Settings and requires the vcp_manage_settings capability (administrators only).

Settings Page with Tabs

How Settings Are Organized

The settings page is divided into 8 tabs, each representing a distinct configuration area. Every tab saves independently using its own option group — saving one tab never overwrites or resets values on another tab.

Extending the Settings Page

Developers can add custom tabs using the vcp_settings_tabs filter. See the developer documentation for details on registering custom settings tabs.

Settings Tabs

Tab Description
General Clinic identity, branding colors, measurement units, and patient profile layout.
License License key activation and status management.
SMS Twilio or Vonage provider configuration for OTP codes, notifications, and vaccination reminders.
Features Enable or disable modules, configure customer permissions, and customize record type colors.
Vaccinations Vaccination reminder intervals, notification channels, and message templates.
Notifications Email and SMS notification templates for messaging and medical record alerts.
Advanced URL slugs, OTP expiry, pagination, attachment size limits, and other advanced options.
Captcha Google reCAPTCHA v3 configuration for protecting customer-facing forms.

General

General Settings

The General tab configures your clinic’s identity, branding, measurement preferences, and how patient profiles are displayed. These settings are stored under the vcp_settings_general option group.

General Settings Form

Clinic Identity

Setting Option Key Type Description
Clinic Name vcp_clinic_name Text The full name of your clinic, used in headers and notifications.
Short Name vcp_clinic_name_short Text A shortened version of the clinic name for compact display areas.
Phone Number vcp_clinic_phone Text The clinic’s primary phone number.
Email Address vcp_clinic_email Email The clinic’s primary email address.
Clinic Logo vcp_clinic_logo Attachment ID Select a logo from the WordPress media library. Stored as an attachment ID.

Branding Colors

Setting Option Key Default Description
Primary Color vcp_primary_color #2563eb The primary accent color used throughout the plugin interface. Enter a hex color value.
Secondary Color vcp_secondary_color #1d4ed8 The secondary color used for hover states and complementary elements. Enter a hex color value.

Customer Profile

Setting Option Key Description
Customer Profile Page vcp_customer_profile_page_id The WordPress page used for the customer profile. This page is auto-created during plugin activation.

Patient Display

Setting Option Key Default Description
Avatar Size vcp_patient_avatar_px 80 Patient avatar size in pixels.
Show Default Image vcp_patient_default_show 0 When enabled (1), displays a default image for patients without a photo.
Default Image vcp_patient_default_image_id Attachment ID of the default patient image from the media library.
Default Icon vcp_patient_default_icon A dashicon slug to display for patients without a photo (used when no default image is set).

Regional and Unit Preferences

Setting Option Key Default Description
Default Country vcp_default_country US Two-letter country code used as the default for phone number fields.
Weight Unit vcp_weight_unit kg Unit for weight measurements. Options: kg or lbs.
Temperature Unit vcp_temperature_unit C Unit for temperature readings. Options: C (Celsius) or F (Fahrenheit).

Patient Profile Layout

Setting Option Key Default Description
Profile Layout vcp_patient_layout tabs Controls how the patient profile page is structured. Options: tabs, sidebar, or card.
  • tabs — Information is organized into horizontal tabs (medical records, vaccinations, weight history, etc.).
  • sidebar — A sidebar displays patient details alongside the main content area.
  • card — A compact card-style layout suitable for quick overviews.

License

License Settings

The License tab manages your VetCarePress license key. These settings are stored under the vcp_settings_license option group.

License Key

Setting Option Key Type Description
License Key vcp_license_key Text Your VetCarePress license key.

How Activation Works

  1. Enter your license key and save the tab.
  2. On save, the plugin sends an HMAC-signed activation request to the VetCarePress license server.
  3. The result is displayed as a WordPress admin notice indicating success or failure.
  4. Once activated, the license status is shown on this tab.

Deactivating a License

To deactivate your license, clear the license key field and save. This releases the activation from the current site, allowing you to use the key on a different installation.

Troubleshooting

If activation fails, verify that:

  • The license key is entered correctly with no leading or trailing spaces.
  • Your server can make outbound HTTPS requests to the VetCarePress license server.
  • The license has not already been activated on the maximum number of allowed sites.

For a complete walkthrough of the activation process, see License Activation.

SMS

SMS Settings

The SMS tab configures the provider used for sending text messages, including OTP verification codes, appointment notifications, and vaccination reminders. These settings are stored under the vcp_settings_sms option group.

SMS is optional. Email-based features work without any SMS provider configured. You only need to set up SMS if you want to send text messages to customers.

Provider Selection

Setting Option Key Default Description
SMS Provider vcp_sms_provider twilio Choose your SMS provider. Options: twilio or vonage.

Twilio Configuration

These settings appear when Twilio is selected as the provider.

Setting Option Key Description
Account SID vcp_twilio_sid Your Twilio Account SID, found in the Twilio Console dashboard.
Auth Token vcp_twilio_token Your Twilio Auth Token.
From Number vcp_twilio_from The phone number messages are sent from (must be a Twilio-provisioned number).
From Type vcp_twilio_from_type How the sender is identified. Options: phone (default) or messaging_service.
Messaging Service SID vcp_twilio_messaging_service_id Your Twilio Messaging Service SID. Only required when From Type is set to messaging_service.

Vonage Configuration

These settings appear when Vonage is selected as the provider.

Setting Option Key Description
API Key vcp_vonage_api_key Your Vonage API key.
API Secret vcp_vonage_api_secret Your Vonage API secret.
From Number vcp_vonage_from The phone number or sender ID messages are sent from.

Testing Your Configuration

After entering your credentials, use the Test SMS button at the bottom of the tab to send a test message. This verifies that the provider credentials are correct and the sending number is properly configured before using SMS in production.

Related Settings

Features

Feature Settings

The Features tab controls which VetCarePress modules are active, what actions customers and staff can perform, and how medical record types are displayed. These settings are stored under the vcp_settings_features option group.

Customer Permissions

These settings control what customers can do within the customer portal.

Setting Option Key Default Description
Edit Contact Info vcp_allow_customer_edit_contact Off Allow customers to edit their own contact information.
Edit Patient Image vcp_allow_customer_edit_patient_image Off Allow customers to change their patient’s photo.
DICOM Download vcp_allow_dicom_download On Allow customers to download DICOM imaging files.

Display Options

Setting Option Key Default Description
Show Record Author vcp_show_record_author Display the name of the staff member who created each medical record.
Show Patient Owner vcp_show_patient_owner Off Display the patient’s owner on the patient profile page.

Sharing

Control whether customers and staff can generate shareable links to patient records.

Setting Option Key Default Description
Customer Sharing vcp_allow_customer_share Off Allow customers to generate share links for their patient records.
Staff Sharing vcp_allow_staff_share On Allow staff members to generate share links.

Share link expiry duration is configured in Advanced Settings.

Messaging Mode

Setting Option Key Default Description
Messaging Mode vcp_messaging_mode full Controls the messaging feature. Options: disabled, read_only, or full.
  • disabled — The messaging feature is completely hidden from the interface.
  • read_only — Customers can view existing messages but cannot send new ones.
  • full — Customers and staff can send and receive messages freely.

Medical Record Types

Each medical record type can be individually enabled or disabled. Disabling a record type hides it from the user interface but preserves all existing data. Re-enabling the type restores access to previously created records.

Available record types:

  • Clinical Note
  • Diagnose
  • Lab Result
  • Medical Imaging
  • Treatment

Medical Record Type Colors

Each record type has a customizable badge color displayed in lists and on the patient profile. Set a hex color value for each type to visually distinguish record categories at a glance.

Related Settings

Vaccinations

Vaccination Settings

The Vaccinations tab controls automated vaccination reminders, including when they are sent, through which channels, and what content they contain. These settings are stored under the vcp_settings_vaccination option group.

Reminder Configuration

Setting Option Key Default Description
Enable Reminders vcp_vaccination_reminder_enabled On Enable or disable automated vaccination reminders.
Reminder Lead Days vcp_vaccination_reminder_lead_days 7,1 Comma-separated list of days before the due date to send reminders. Each value represents a separate reminder. Range: 1–365 days.
Notification Channel vcp_vaccination_reminder_channels email How reminders are delivered. Options: email, sms, or both.
Due Soon Threshold vcp_vaccination_due_soon_days 30 Number of days before a vaccination’s due date at which it is flagged as "Due Soon" in the interface.

Reminder Lead Days Widget

The Reminder Lead Days field uses an interactive tag widget. Click to add a new day value or click the "x" on an existing tag to remove it. For example, the default 7,1 sends two reminders: one 7 days before the due date and another 1 day before.

Message Templates

Setting Option Key Description
Email Template vcp_vaccination_reminder_email_tpl The email body template used for vaccination reminders. Supports HTML formatting.
SMS Template vcp_vaccination_reminder_sms_tpl The SMS text template used for vaccination reminders. Keep within SMS character limits.

Template Placeholders

The following placeholders can be used in both email and SMS templates:

Placeholder Description
{clinic_name} The clinic name from General Settings.
{patient_name} The name of the patient due for vaccination.
{owner_name} The name of the patient’s owner.
{vaccination_name} The name of the vaccination.
{due_date} The vaccination due date.

How Reminders Are Processed

Reminders are sent via a daily WordPress cron job (vcp_cleanup_expired). Each day, the cron job checks all upcoming vaccination due dates against the configured lead days and sends reminders through the selected channel.

To use SMS reminders, an SMS provider must be configured on the SMS Settings tab.

Related Settings

Notifications

Notification Settings

The Notifications tab configures the email and SMS templates used when customers receive messages or when medical records are created. These settings are stored under the vcp_settings_notifications option group.

Messaging Notifications

Admin Notifications

Setting Option Key Default Description
Enable Admin Notify vcp_messaging_admin_notify_enabled On Send an email notification to the admin when a customer sends a new message.
Admin Email vcp_messaging_admin_notify_email The email address that receives admin notifications for new customer messages.

General Message Templates

These templates are used for messages that are not associated with a specific patient.

Setting Option Key Description
Email Subject vcp_messaging_general_email_subject Subject line for general message notification emails.
Email Template vcp_messaging_general_email_tpl Email body template for general message notifications. Supports HTML.

Patient-Specific Message Templates

These templates are used for messages associated with a specific patient record.

Setting Option Key Description
Email Subject vcp_messaging_patient_email_subject Subject line for patient-specific message notification emails.
Email Template vcp_messaging_patient_email_tpl Email body template for patient-specific message notifications. Supports HTML.

Admin Message Templates

These templates are used for the notification sent to the admin.

Setting Option Key Description
Email Subject vcp_messaging_admin_email_subject Subject line for admin notification emails.
Email Template vcp_messaging_admin_email_tpl Email body template for admin notifications. Supports HTML.

SMS Message Template

Setting Option Key Description
SMS Template vcp_messaging_sms_tpl SMS text template for message notifications.
SMS Confirm Threshold vcp_messaging_sms_confirm_threshold Character count at which a warning is shown before sending. Default: 160 (standard SMS segment length).

Medical Record Notifications

These settings control how customers are notified when a new medical record is added to their patient’s profile.

Setting Option Key Default Description
Default Notify Opt-in vcp_mr_notify_default Off Whether the "Notify customer" checkbox is checked by default when creating a new record.
Default Channel vcp_mr_notify_channel_default email Default notification channel for medical records. Options: email, sms, or both.
Email Subject vcp_mr_email_subject Subject line for medical record notification emails.
Email Template vcp_mr_email_tpl Email body template for medical record notifications. Supports HTML.
SMS Template vcp_mr_sms_tpl SMS text template for medical record notifications.

Global Email Footer

Setting Option Key Default Description
Email Footer vcp_email_footer "This is an automated message." Footer text appended to all outgoing emails sent by VetCarePress.

Related Settings

  • SMS Settings — Configure your SMS provider credentials before using SMS notifications.
  • Vaccination Settings — Configure vaccination-specific reminder templates separately.
  • Feature Settings — Enable or disable the messaging module entirely.

Advanced

Advanced Settings

The Advanced tab provides control over URL structure, session management, file upload limits, pagination, and other technical options. These settings are stored under the vcp_settings_advanced option group.

URL Slugs

Custom URL slugs determine the permalink structure for VetCarePress content types. Changing a slug automatically triggers a WordPress rewrite rule flush.

Setting Option Key Default Description
Patient Slug vcp_slug_patient patient URL slug for patient pages (e.g., /patient/bella/).
Medical Record Slug vcp_slug_medical_record medical-record URL slug for medical record pages.
Vaccination Slug vcp_slug_vaccination vaccination URL slug for vaccination pages.

Note: After changing slugs, verify your new URLs work correctly. If you experience 404 errors, visit Settings > Permalinks and click Save to manually flush rewrite rules.

OTP and Session Configuration

Setting Option Key Default Description
OTP Expiry vcp_otp_expiry_minutes 10 Number of minutes before a one-time password expires.
Session Expiry vcp_session_expiry_days 30 Number of days before a customer session expires and requires re-authentication.

Attachment Limits

Uploaded images are automatically resized to fit within these maximum dimensions. The aspect ratio is preserved.

Setting Option Key Default Description
Max Width vcp_attachment_width 1200 Maximum width in pixels for uploaded images.
Max Height vcp_attachment_height 1200 Maximum height in pixels for uploaded images.

Share Link Expiry

Setting Option Key Default Description
Share Link Expiry vcp_record_share_expiry_days 30 Number of days before a share link expires. Set to 0 for links that never expire.

This setting applies to share links generated by both customers and staff. Sharing must be enabled on the Feature Settings tab.

Pagination

These settings control how many items are displayed per page across different list views.

Setting Option Key Default Description
Medical Records vcp_pagination_medical_records 10 Records per page on medical record lists.
Weight History vcp_pagination_weight_history 20 Entries per page on weight history views.
Recent Patients vcp_pagination_recent_patients 10 Patients shown in the recent patients widget.
Species Browse vcp_pagination_species_browse 20 Patients per page when browsing by species.

Legacy Title Handling

Setting Option Key Default Description
Disable Legacy Titles vcp_disable_legacy_titles Off Disable legacy wp_title filtering for classic (non-block) themes. Enable this if you experience duplicate or incorrect page titles with your theme.

OTP Lockout Reset

The OTP system includes rate limiting to prevent abuse. If a customer or phone number becomes locked out due to too many failed attempts, use this form to clear the rate limit.

  • Enter the email address or phone number that is locked out.
  • Click Reset Lockout to clear the rate limiting for that destination.

This action requires the vcp_manage_settings capability and is protected by a WordPress nonce for security.

Captcha

Captcha Settings

The Captcha tab configures bot protection for customer-facing forms such as the OTP login form. These settings are stored under the vcp_settings_captcha option group.

Provider Selection

Setting Option Key Default Description
Captcha Provider vcp_captcha_provider none The captcha service to use. Options: none (disabled) or recaptcha_v3.

Google reCAPTCHA v3 Configuration

These settings appear when recaptcha_v3 is selected as the provider.

Setting Option Key Default Description
Site Key vcp_recaptcha_site_key Your reCAPTCHA v3 site key.
Secret Key vcp_recaptcha_secret_key Your reCAPTCHA v3 secret key.
Score Threshold vcp_recaptcha_v3_threshold 0.5 The minimum score required to pass verification. Range: 0.0 to 1.0.

How reCAPTCHA v3 Works

Unlike traditional captcha challenges, reCAPTCHA v3 runs invisibly in the background and assigns a score to each interaction:

  • 1.0 — Very likely a legitimate human user.
  • 0.0 — Very likely a bot.

The Score Threshold determines the cutoff. Requests scoring below this value are rejected. The default of 0.5 provides a balanced level of protection. Increase the threshold for stricter filtering (may occasionally block legitimate users) or decrease it for more permissive access.

Obtaining reCAPTCHA Keys

  1. Go to the Google reCAPTCHA admin console.
  2. Register a new site and select reCAPTCHA v3.
  3. Add your website’s domain(s).
  4. Copy the Site Key and Secret Key into the fields on this tab.

Protected Forms

When enabled, reCAPTCHA v3 protects the following customer-facing forms:

  • OTP login and verification forms
  • Any other public-facing VetCarePress forms that accept user input

Related Settings