# Content Time Lock — User Guide

**Version:** 1.1.0
**Plugin:** Content Time Lock
**Audience:** Site administrators and course creators

---

## Table of Contents

1. [Introduction](#1-introduction)
2. [Requirements](#2-requirements)
3. [Installation](#3-installation)
4. [Quick Start](#4-quick-start)
5. [Configuring Global Settings](#5-configuring-global-settings)
   - 5.1 [Lock Behaviour](#51-lock-behaviour)
   - 5.2 [Countdown Timer](#52-countdown-timer)
   - 5.3 [Appearance](#53-appearance)
6. [Locking a Post or Page](#6-locking-a-post-or-page)
   - 6.1 [Enabling the Time Lock](#61-enabling-the-time-lock)
   - 6.2 [Choosing Who Is Restricted](#62-choosing-who-is-restricted)
   - 6.3 [Setting the Unlock Date and Time](#63-setting-the-unlock-date-and-time)
7. [Customising the Locked Screen Per Post](#7-customising-the-locked-screen-per-post)
   - 7.1 [Overriding the Lock Message](#71-overriding-the-lock-message)
   - 7.2 [Countdown Timer Override](#72-countdown-timer-override)
   - 7.3 [Adding a Call-to-Action Button](#73-adding-a-call-to-action-button)
8. [Managing All Time Locks](#8-managing-all-time-locks)
9. [What Your Students See](#9-what-your-students-see)
   - 9.1 [The Locked Screen](#91-the-locked-screen)
   - 9.2 [The Countdown Timer](#92-the-countdown-timer)
   - 9.3 [When Content Unlocks](#93-when-content-unlocks)
10. [Frequently Asked Questions](#10-frequently-asked-questions)
11. [Limitations](#11-limitations)
12. [Getting Help](#12-getting-help)

---

## 1. Introduction

Content Time Lock is a WordPress plugin that hides the content of any post or page until a date and time you choose. When that moment arrives, the content becomes visible automatically — no action is required from you or your students.

The plugin is designed for course creators who want to release lessons on a fixed weekly schedule. Rather than giving students access to the entire course at once, you can set each lesson to unlock on a specific date, ensuring students progress through the material at the intended pace.

**What the plugin does:**

- Hides post or page content until a scheduled unlock date.
- Displays a customisable message and optional countdown timer to students while content is locked.
- Restricts access based on user role, so you can target paying students, specific membership tiers, or guest visitors.
- Unlocks content automatically when the scheduled date and time is reached.

**What the plugin does not do:**

Content Time Lock does not process payments, manage user registration, send emails, or handle membership tiers. It controls only when content becomes visible. Any access control beyond date-based unlocking — such as restricting content to users who have purchased a specific product — requires a separate plugin to manage those roles.

---

## 2. Requirements

Before installing the plugin, confirm that your WordPress environment meets the following minimum requirements.

| Requirement     | Minimum Version |
|-----------------|-----------------|
| WordPress       | 5.5             |
| PHP             | 7.4             |

The plugin has been tested up to WordPress 6.5. It is compatible with the Classic Editor and the Block Editor (Gutenberg). It also includes specific compatibility handling for Elementor, Beaver Builder, and SiteOrigin Page Builder.

---

## 3. Installation

**Option A — Install via the WordPress dashboard (recommended)**

1. Log in to your WordPress admin dashboard.
2. Navigate to **Plugins → Add New**.
3. In the search field, type **Content Time Lock**.
4. Locate the plugin in the results and click **Install Now**.
5. Once installation is complete, click **Activate**.

**Option B — Install by uploading a ZIP file**

1. Download the plugin ZIP file from WordPress.org.
2. Log in to your WordPress admin dashboard.
3. Navigate to **Plugins → Add New**.
4. Click **Upload Plugin** at the top of the page.
5. Click **Choose File**, select the ZIP file you downloaded, and click **Install Now**.
6. Once installation is complete, click **Activate**.

After activation, the plugin is ready to use. No database setup or additional configuration steps are required before you begin.

---

## 4. Quick Start

The following steps will get your first locked lesson live in under five minutes.

1. Navigate to **Tools → Content Time Lock** in your WordPress admin menu.
2. In the **Time Lock Message** field, write the message your students will see while a lesson is locked — for example, *"This lesson is not yet available. Please check back on the date shown above."*
3. Click **Save Changes**.
4. Open any post or page that contains a lesson you wish to schedule.
5. In the post editor, locate the **Time Lock Content** panel in the right-hand sidebar.
6. Check the box labelled **Enable Time Lock**.
7. From the **Restrict Access To** dropdown, select **All Logged In Users** to restrict the lesson from all students until the unlock date.
8. Set the **Unlock Date** and **Unlock Time** to the date and time you want the lesson to become available.
9. Publish or update the post.

The lesson content is now hidden from students until the date and time you specified. The unlock happens automatically — you do not need to return and make any further changes.

---

## 5. Configuring Global Settings

The Global Settings page controls the default behaviour of the plugin across your entire site. Any settings you configure here apply to every locked post or page unless you override them on a per-post basis (see [Section 7](#7-customising-the-locked-screen-per-post)).

To access Global Settings, navigate to **Tools → Content Time Lock** in your WordPress admin menu.

---

### 5.1 Lock Behaviour

**Time Lock Message**

This is the message displayed to students when they visit a locked post or page. The default message is:

> *"This content is not available yet. Check back soon."*

You may replace this with any text of your choosing. Basic HTML formatting is supported, which means you can include bold text, links, or simple layout elements if you are comfortable writing HTML. Plain text is sufficient for most use cases.

**Administrator Access**

This setting is read-only and cannot be changed. It indicates that users with the Administrator role on your WordPress site will always see the full content of every post and page, regardless of any lock settings. This ensures that you can preview and review your content at any time without needing to remove the lock first.

---

### 5.2 Countdown Timer

**Show Countdown Timer on Locked Content**

When this toggle is enabled, students visiting a locked post or page will see a live countdown timer in addition to your lock message. The timer displays the remaining time until the content unlocks in days, hours, minutes, and seconds.

This setting is enabled by default. If you prefer to show only the lock message without a timer, disable this toggle.

**Countdown Template**

This setting controls the visual style of the countdown timer. Three options are available:

| Template | Description |
|----------|-------------|
| **Default** | A simple text-based countdown. Clean and minimal, compatible with all themes. |
| **Classic** | A flip-card style countdown with animated number tiles, similar to a traditional departure board. |
| **Modern** | A circular progress display using animated rings for each time unit. |

Select the template that best suits your site's visual style. A preview image is displayed alongside each option to assist with your selection.

---

### 5.3 Appearance

**Custom CSS Class for Locked Placeholder**

This field allows you to assign a custom CSS class to the container element that is displayed when content is locked. The default value is `tcl-locked-content`.

This setting is intended for users who are comfortable editing CSS stylesheets and wish to apply custom styling to the locked content placeholder. If you are not familiar with CSS, you do not need to change this field. The default value will not cause any visible issues on your site.

---

## 6. Locking a Post or Page

Each post and page has its own individual lock settings, configured through the **Time Lock Content** panel in the post editor. This panel appears in the right-hand sidebar when you are editing a post or page.

---

### 6.1 Enabling the Time Lock

1. Open the post or page you wish to lock in the WordPress editor.
2. Locate the **Time Lock Content** panel in the right-hand sidebar.
3. Check the box labelled **Enable Time Lock**.

Enabling the time lock will reveal additional fields for configuring the restriction. Until you set an unlock date and save the post, the lock is not yet active.

---

### 6.2 Choosing Who Is Restricted

The **Restrict Access To** dropdown controls which visitors will be blocked from viewing the content until the unlock date. The following options are available:

**All Logged In Users**
All users who are currently logged in to your WordPress site will be restricted. Guest visitors who are not logged in will also be restricted. This is the most common setting for a course with paid or registered students.

**Choose Specific Roles**
Only users assigned to specific WordPress roles will be restricted. After selecting this option, a second field labelled **Restrict to Roles** will appear. Use this field to select one or more roles from the list of all roles registered on your site.

This option is useful when you have multiple user types — for example, free members and paid members — and you want the lock to apply only to one group.

**Guest Users**
Only visitors who are not logged in will be restricted. Logged-in users of any role will be able to see the content regardless of the unlock date. This option is less common for course delivery but may be useful for teaser or preview pages.

> **Note:** Regardless of which option you select, users with the Administrator role will always be able to view the content. This behaviour cannot be changed (see [Section 5.1](#51-lock-behaviour)).

---

### 6.3 Setting the Unlock Date and Time

1. In the **Time Lock Content** panel, locate the **Unlock Date** and **Unlock Time** fields. These fields appear after you enable the time lock.
2. Click the **Unlock Date** field and select the date on which you want the content to become available.
3. Click the **Unlock Time** field and enter the time at which you want the content to unlock on that date.
4. Click **Save** or **Update** to apply the lock.

The time is based on your WordPress site's configured timezone. To check or change your site's timezone, navigate to **Settings → General** and review the **Timezone** field.

> **Important:** If you leave the unlock date empty and save the post with the time lock enabled, the content will remain locked indefinitely. Always set an unlock date before publishing a locked post that students are expected to access.

---

## 7. Customising the Locked Screen Per Post

By default, every locked post uses the global settings you have configured in **Tools → Content Time Lock**. You may override these settings for individual posts when you need a different message or timer style on a specific lesson.

---

### 7.1 Overriding the Lock Message

1. In the **Time Lock Content** panel, locate the **Override Global Settings** section.
2. Enable the **Override Global Settings** toggle.
3. In the **Locked State Message** field that appears, type the custom message you want students to see on this specific post.

The message field accepts up to 500 characters. A character counter below the field shows how many characters you have used. Plain text is recommended for this field.

---

### 7.2 Countdown Timer Override

When the **Override Global Settings** toggle is enabled, a **Show Countdown Timer** toggle will appear. This allows you to enable or disable the countdown timer independently for this post, regardless of your global setting.

If you enable the countdown timer override, a **Countdown Template** selector will also appear, allowing you to choose a different timer style for this specific post (see [Section 5.2](#52-countdown-timer) for a description of each template).

---

### 7.3 Adding a Call-to-Action Button

A call-to-action button is an optional button displayed on the locked screen that directs students to another page while they wait for the content to unlock. This is useful for pointing students to a prerequisite lesson, a community space, or a welcome resource.

To add a call-to-action button to a locked post:

1. In the **Time Lock Content** panel, locate the **Call-to-Action Button** section.
2. Enable the **Call-to-Action Button** toggle.
3. In the **Button Label** field, type the text you want to appear on the button — for example, *"Start with the Introduction"* or *"Join the Community Forum"*.
4. In the **Button URL** field, paste the full web address of the page the button should link to.
5. Save or update the post.

The button will appear below the lock message and countdown timer on the student-facing locked screen.

---

## 8. Managing All Time Locks

The **All Time Locks** screen provides a central overview of every post and page on your site that has an active time lock configured.

To access this screen, navigate to **Tools → Content Time Lock** and select the **All Time Locks** tab, or follow the direct link shown on the settings page.

**Summary counts** at the top of the screen display:
- The total number of posts and pages with a time lock configured.
- The number of items that are currently locked (the unlock date has not yet been reached).
- The number of items that are currently unlocked (the unlock date has passed).

**Table columns:**

| Column | Description |
|--------|-------------|
| **Title** | The name of the post or page. Click to open it in the editor. |
| **Post Type** | Indicates whether the item is a post, page, or custom post type. |
| **Locked For** | Shows which users are restricted — all logged-in users, a specific role, or guests. |
| **Unlock Date** | The scheduled unlock date and time. Click the column header to sort the list by this date. |
| **Status** | Displays a badge indicating whether the item is currently **Locked** or **Unlocked**. |

Use this screen to verify that all your lessons are configured correctly before your course begins, and to monitor which lessons have already unlocked over time.

---

## 9. What Your Students See

Understanding the student experience will help you write better lock messages and choose appropriate timer styles.

---

### 9.1 The Locked Screen

When a student visits a post or page that is currently locked, the post content is replaced entirely by a locked screen. This screen contains:

1. A lock icon at the top.
2. Your lock message (either the global message or the per-post override).
3. The countdown timer, if enabled.
4. The call-to-action button, if configured.

The student cannot see any of the actual post content while the lock is active. The rest of the page — your header, footer, navigation, and sidebar — remains visible and unaffected.

---

### 9.2 The Countdown Timer

If the countdown timer is enabled, students will see a live display of the time remaining until the content unlocks. The timer updates automatically every second and displays the remaining time in days, hours, minutes, and seconds.

The appearance of the timer depends on the template you have selected (Default, Classic, or Modern).

---

### 9.3 When Content Unlocks

When the unlock date and time is reached, students will see the following message in place of the countdown timer:

> *"This content just unlocked!"*

A **Refresh** link will appear below this message. Students click the link to reload the page and access the full content. The refresh is a manual step — the page does not reload itself automatically.

Once a student has refreshed the page, they will see the complete lesson content as normal.

---

## 10. Frequently Asked Questions

**Do my students need an account on my site?**

Yes, in most setups. The plugin restricts content based on WordPress user roles. For students to be identified as the correct role, they must be logged in to a WordPress account on your site. You may create accounts for students manually, allow self-registration through WordPress, or use a plugin that creates accounts automatically on purchase or sign-up.

**Will this plugin work with my theme?**

In almost every case, yes. The plugin uses a standard WordPress method to replace post content before it is displayed, which is compatible with any well-built theme. It also includes specific handling for Elementor, Beaver Builder, and SiteOrigin Page Builder. If you encounter an issue with your specific theme, please open a support request and include the name of your theme.

**Can I set a different unlock date for different students?**

No. Unlock dates are fixed calendar dates that apply equally to all users. If you set a lesson to unlock on March 10th, every student with the appropriate role will see it unlock on that date. The plugin does not support individual unlock schedules based on when each student signed up or purchased access.

**Can I lock content permanently, with no unlock date?**

The plugin is designed for time-based unlocking and does not have a dedicated "lock forever" setting. However, if you enable the time lock and leave the unlock date empty, the content will remain locked indefinitely. This is not its intended use and may behave unexpectedly, so permanently restricted content is better handled by a role-based access or membership plugin.

**What happens if I change the unlock date after it has already passed?**

If you set the unlock date to a future date on a post that has already unlocked, the content will lock again immediately. Students visiting the page will see the locked screen and countdown timer as normal until the new unlock date is reached.

**Can I see a preview of what the locked screen looks like?**

Yes. The **Time Lock Content** panel in the post editor includes a live preview that updates as you make changes to your settings. The preview shows the lock icon, your lock message, the countdown timer, and the call-to-action button.

---

## 11. Limitations

The following are known limitations of the current version of the plugin. These are not bugs — they reflect the intentional scope of the plugin.

- **Fixed calendar dates only.** Unlock dates cannot be set relative to when a student registered or purchased access. All students with the same role see content unlock on the same calendar date.
- **No payment integration.** The plugin does not connect to WooCommerce, Stripe, or any payment gateway. Granting or revoking access based on a purchase must be handled by a separate plugin.
- **No email notifications.** The plugin does not send students a notification when content unlocks. If you wish to notify students, you will need to send that communication manually or through a separate email marketing tool.
- **Administrators always bypass locks.** There is no option to apply a lock to Administrator-level accounts. This is by design, to ensure site administrators can always review content.
- **One unlock date per post.** Each post or page has a single unlock date. It is not possible to re-lock content after it has unlocked, or to set multiple unlock stages for different sections of one post.

---

## 12. Getting Help

If you encounter an issue that is not addressed in this documentation, the following resources are available.

**WordPress.org Support Forum**
Visit the plugin's support forum on WordPress.org to search existing threads or open a new support request. When opening a new request, please include the following information to help resolve your issue as quickly as possible:

- Your WordPress version.
- Your PHP version.
- The name and version of your active theme.
- A description of the issue and the steps that reproduce it.

**Reporting a Bug**
If you believe you have found a bug in the plugin, please report it through the WordPress.org support forum with as much detail as possible, including any error messages shown on screen.
