PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 2.7.0
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v2.7.0
2.9.0 2.8.0 2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 All 50 releases
← All changes | includes/abilities/settings/class-get-email-report-settings.php +8 -21 trunk → 2.7.0 View file →
@@ -19,11 +19,10 @@
19 19 /**
20 20 * Retrieves ThinkRank Email Reporting settings.
21 21 *
22 22 * Mirrors `GET /thinkrank/v1/email-report/config`: returns the resolved report
23 - * config (on/off, frequency, recipients, enabled sections, why the last
24 - * scheduled run sent nothing), the next scheduled run, the section catalog
25 - * and the readiness of the data sources. Read-only.
23 + * config (on/off, frequency, recipients, enabled sections), the next scheduled
24 + * run and the section catalog. Read-only.
26 25 */
27 26 class Get_Email_Report_Settings extends Ability_Base {
28 27 /**
29 28 * Constructor.
@@ -30,9 +29,9 @@
30 29 */
31 30 public function __construct() {
32 31 $this->id = 'thinkrank/get-email-report-settings';
33 32 $this->label = __( 'Get ThinkRank Email Report Settings', 'thinkrank' );
34 - $this->description = __( 'Retrieve ThinkRank Email Reporting settings: whether the scheduled SEO report is on, how often it is sent (days), who receives it, which sections it includes, the next scheduled send, the section catalog, and readiness — whether Google Search Console is connected (required; scheduled reports are paused and config.last_skip says why while it is not), and whether Google Analytics 4 and AI-assistant traffic data are available to add their sections. Use update-email-report-settings to switch it on or off, and send-email-report-test to send one now.', 'thinkrank' );
33 + $this->description = __( 'Retrieve ThinkRank Email Reporting settings: whether the scheduled SEO report is on, how often it is sent (days), who receives it, which sections it includes, the next scheduled send, and the section catalog. Use update-email-report-settings to switch it on or off, and send-email-report-test to send one now.', 'thinkrank' );
35 34 }
36 35
37 36 /**
38 37 * {@inheritDoc}
@@ -70,24 +69,13 @@
70 69 public function get_output_schema() {
71 70 return [
72 71 'type' => 'object',
73 72 'properties' => [
74 - 'config' => [
73 + 'config' => [
75 74 'type' => 'object',
76 - 'description' => __( 'The resolved Email Reporting config: enabled, frequency_days, recipients, sections_enabled, the schedule timestamps, and last_skip ({reason, at} or null) — why the last scheduled run sent nothing: search_console_not_connected or no_data.', 'thinkrank' ),
75 + 'description' => __( 'The resolved Email Reporting config: enabled, frequency_days, recipients, sections_enabled and the schedule timestamps.', 'thinkrank' ),
77 76 'additionalProperties' => true,
78 77 ],
79 - 'readiness' => [
80 - 'type' => 'object',
81 - 'description' => __( 'Data-source readiness: ready (bool — a report can be built), search_console (bool, required), analytics (bool — Google Analytics 4 connected, adds the site-traffic section), ai_traffic (bool — AI-assistant referrals recorded, adds that section), reason (string|null — search_console_not_connected when not ready).', 'thinkrank' ),
82 - 'properties' => [
83 - 'ready' => [ 'type' => 'boolean' ],
84 - 'search_console' => [ 'type' => 'boolean' ],
85 - 'analytics' => [ 'type' => 'boolean' ],
86 - 'ai_traffic' => [ 'type' => 'boolean' ],
87 - 'reason' => [ 'type' => [ 'string', 'null' ] ],
88 - ],
89 - ],
90 78 'next_run' => [
91 79 'type' => [ 'string', 'null' ],
92 80 'description' => __( 'ISO-8601 timestamp of the next scheduled report, or null when disabled.', 'thinkrank' ),
93 81 ],
@@ -116,12 +104,11 @@
116 104 );
117 105 }
118 106
119 107 return [
120 - 'config' => $manager->config()->get(),
121 - 'next_run' => $manager->scheduler()->next_run_iso(),
122 - 'sections' => $manager->registry()->describe_for_ui(),
123 - 'readiness' => $manager->data_provider()->readiness(),
108 + 'config' => $manager->config()->get(),
109 + 'next_run' => $manager->scheduler()->next_run_iso(),
110 + 'sections' => $manager->registry()->describe_for_ui(),
124 111 ];
125 112 }
126 113
127 114 /**