=== Uplink7 Cronjob Manager ===
Contributors: uplink7
Tags: cron, cronjob, automation, url fetcher, webhook, api, background process, async
Requires at least: 5.6
Tested up to: 6.5
Requires PHP: 7.4
Stable tag: 1.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Manage and execute asynchronous URL fetch requests independent of website traffic. The ultimate server cronjob alternative for WordPress.

== Description ==

Uplink7 Cronjob Manager is a powerful and reliable alternative to the default WP-Cron system. It allows you to define multiple URLs (e.g., Webhooks, API endpoints, or maintenance scripts) and execute them at specific times (hourly, daily, weekly) or even during specific parts of the day (morning, noon, evening, night).

Unlike standard WordPress plugins that rely on your website's visitor traffic to trigger events, Uplink7 Cronjob Manager offers a dedicated endpoint. This allows you to hook it up to a real server cronjob (like IONOS, cPanel, or Plesk) ensuring 100% reliable, traffic-independent execution.

If you don't have access to your server's cron settings, you can easily switch back to the built-in WordPress Cron method with a single click.

Key Features (Free Version)

Unlimited Jobs: Add as many URLs as you need.

Flexible Scheduling: Choose between Hourly, Daily, or Weekly execution.

Time of Day Control: Specify if a job should run in the morning, noon, evening, or night.

Background Processing: Jobs are triggered asynchronously, ensuring they never slow down your visitors' page load times.

Real Server Cron Support: Generates a secure, IONOS-compatible secret link for 100% reliable execution.

Fallback Mode: Easy toggle to use the built-in WP-Cron if server access is unavailable.

Detailed Execution Logs: Keep track of every success, warning, or error.

Manual Testing: Run any job instantly with a single click without leaving the page.

Active Toggle: Easily pause or resume specific jobs without deleting them.

Premium Features

Unlock the full power of automation and API integration with the Premium version:

Custom HTTP Headers: Perfect for adding API Keys or Authentication Tokens (e.g., Authorization: Bearer <token>).

POST Payloads (JSON Body): Send data to external webhooks like Make.com, Zapier, or n8n.

Expected Text Validation: Ensure true success by checking if the target server's response contains a specific keyword.

Error Email Notifications: Get alerted immediately if a job fails 3 times in a row.

Dashboard Widget: Get a quick overview of active and failed jobs right on your WordPress home screen.

Import & Export: Easily backup your configuration or move jobs between websites using JSON files.

== Installation ==

Upload the uplink7-cronjob-manager folder to the /wp-content/plugins/ directory.

Ensure the vendor folder containing the Freemius SDK is included in the plugin directory.

Activate the plugin through the 'Plugins' menu in WordPress.

Navigate to the new 'Uplink7 Cronjob' menu item in your WordPress admin dashboard.

Choose your "Execution Method" (Real Server Cronjob is highly recommended).

Start adding your URLs!

Setting up the Real Server Cronjob (Recommended)

If you chose "Real Server Cronjob", you need to set up a trigger on your web host (e.g., IONOS, cPanel).

Go to your web hosting control panel and find the "Cronjobs" or "Scheduled Tasks" section.

Create a new task that runs every 5 to 15 minutes.

Copy the secure link or the curl command provided in the blue instruction box inside the plugin's settings page and paste it into your host's configuration.

== Frequently Asked Questions ==

= Why are my jobs not running exactly on the minute? =
If you are using the "WordPress Built-in Cron" execution method, the plugin relies on visitors coming to your site. If your site has low traffic, the job will trigger as soon as the next visitor arrives. For exact timing, please switch to the "Real Server Cronjob" method.

= Can I trigger external APIs that require a password? =
Yes, but you will need the Premium version to add Custom HTTP Headers (like Authorization) to your requests.

= What does "Time of Day" mean for daily jobs? =
Instead of picking an exact minute (which is hard to guarantee without server access), you select a window. "Morning" means the job will trigger the first time your site is visited (or the server cron runs) between 06:00 and 12:00.

= Does this plugin slow down my website? =
No. The plugin uses asynchronous background processing. When it's time to run a job, it sends a quick, non-blocking signal to itself and executes the heavy lifting in the background, keeping your site fast for visitors.

== Screenshots ==

Main Settings Panel: Easily manage multiple URLs, set schedules, and view current error status and last run times.

Advanced Settings (Premium): Define Custom Headers, POST payloads, and validation rules.

Execution Logs: Keep a close eye on the performance and HTTP status codes of your automated tasks.

== Changelog ==

= 1.0.0 =

Initial Release.