=== Easy Schedule ===
Contributors: easystorewp
Donate link: https://www.easy-storewp.com/
Tags: cron, scheduler, dashboard, tasks, easy-suite
Requires at least: 5.7
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A central dashboard for cron tasks of the Easy plugin family. Detects active easy-* plugins, lists registered tasks, and links to settings.

== Description ==

**Easy Schedule** is a lightweight dashboard plugin that aggregates cron tasks from the Easy plugin family (easy-seo, easy-ai-auto, easy-tracking and friends). It does not run cron itself; instead, each Easy plugin self-registers its tasks via a filter hook, so this plugin shows you everything in one place.

= What you see =

* Number of active easy-* plugins detected
* All cron tasks registered by those plugins, with:
  * enabled / disabled state
  * frequency (daily / weekly / monthly / single)
  * next run time (with relative "in X hours" hint)
  * last run time (if the plugin tracks it)
  * a "Settings" button that jumps to that plugin's own settings page

= What it does NOT do =

* It does not schedule, modify, or delete cron tasks itself. Those decisions stay with each plugin.
* It does not detect arbitrary plugins. Only plugins that explicitly register via the `easy_schedule_register_tasks` filter will appear.
* It does not store any data. Pure read-only dashboard.

= For developers =

Add this snippet to any plugin to make it appear in the dashboard:

`<?php
add_filter('easy_schedule_register_tasks', function ($tasks) {
    $tasks[] = [
        'id'           => 'my-plugin::main-cron',
        'plugin'       => 'my-plugin',
        'plugin_label' => 'My Plugin',
        'task_label'   => 'Main schedule',
        'hook'         => 'my_plugin_cron_hook',
        'enabled'      => (bool) get_option('my_plugin_enabled', 1),
        'frequency'    => 'daily',
        'next_run'     => wp_next_scheduled('my_plugin_cron_hook'),
        'last_run'     => (int) get_option('my_plugin_last_run', 0),
        'settings_url' => admin_url('admin.php?page=my-plugin'),
    ];
    return $tasks;
});`

= Part of the Easy plugin family =

* Easy SEO — meta / OpenGraph / JSON-LD schema + GSC dashboard
* Easy AI Auto — automated AI content generation
* Easy Tracking — daily GA4 + Search Console AI report
* Easy Schedule — this plugin

== Installation ==

1. Upload the plugin zip via Plugins → Add New → Upload Plugin.
2. Activate the plugin.
3. Open **Easy 排程** (Easy Schedule) from the WP admin sidebar.
4. The dashboard automatically detects any active easy-* plugin that registers via the filter.

No configuration needed.

== Frequently Asked Questions ==

= I see "0 tasks detected" but I have Easy SEO installed =

Older versions of Easy plugins did not register via the filter. Make sure each Easy plugin is at the version that ships with `easy_schedule_register_tasks` support. Update each plugin individually.

= Can third-party (non-Easy) plugins register here too? =

Technically yes — the filter is public. But this dashboard is designed for the Easy family. If a non-Easy plugin registers, it will appear, but the experience is optimized for Easy plugins.

= Does this replace WP Crontrol? =

No. WP Crontrol shows every WordPress cron event at a low level. Easy Schedule shows curated, named tasks from the Easy family with friendly labels and direct settings links — designed for site owners, not developers.

= Does it modify cron schedules? =

No. Read-only dashboard. To change a schedule, click "Settings" on the task row and adjust within that plugin's own settings page.

== Screenshots ==

1. Main dashboard showing tasks from multiple Easy plugins
2. Empty state when no Easy plugin is active
3. Active Easy plugins list at the bottom of the dashboard

== Changelog ==

= 1.2.0 =
* New: Opt-in telemetry — anonymously share plugin / WP / PHP version stats with the developer. Predefined OFF; user must explicitly opt in via admin notice.
* New: Welcome notice on first activation.
* Changed: Plugin URI now points to https://www.easy-storewp.com/easy-suite/

= 1.1.0 =
* New: Easy family cross-promote section — dashboard now shows all 4 Easy plugins (schedule / ai-auto / seo / tracking) with install/activate/settings buttons.
* New: `easy_schedule_family_plugins()` and `easy_schedule_family_with_state()` helpers.

= 1.0.0 =
* Initial release.
* Filter hook `easy_schedule_register_tasks` for task registration.
* Dashboard with task table (Plugin / Task / Enabled / Frequency / Next run / Last run / Settings link).
* Active Easy plugins detection.

== Privacy ==

Easy Schedule does not collect, transmit, or store any user data. It only reads task information from other plugins via a WordPress filter hook and displays it on a backend admin page accessible only to administrators (`manage_options` capability).

No data is sent to external services.
