PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 2.14.0
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v2.14.0
2.14.0 2.13.0 2.12.0 2.11.0 2.10.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 All 55 releases
← All changes | includes/abilities/settings/class-update-schema-settings.php +10 -2 1.26.0 → 2.14.0 View file →
@@ -36,8 +36,9 @@
36 36 'knowledge_graph',
37 37 'website_enable_search',
38 38 'enable_breadcrumbs_schema',
39 39 'enable_local_business',
40 + 'enable_accordion_faq_schema',
40 41 ];
41 42
42 43 /**
43 44 * Integer-typed schema keys.
@@ -103,9 +104,9 @@
103 104 */
104 105 public function __construct() {
105 106 $this->id = 'thinkrank/update-schema-settings';
106 107 $this->label = __( 'Update ThinkRank Schema Settings', 'thinkrank' );
107 - $this->description = __( 'Update ThinkRank structured-data (schema) settings. When auto_deploy is enabled, saving automatically regenerates and redeploys the site-wide schema markup.', 'thinkrank' );
108 + $this->description = __( 'Update ThinkRank structured-data (schema) settings. When auto_deploy is enabled, saving automatically regenerates and redeploys the site-wide schema markup. Read the current values with get-schema-settings first; only the keys you pass are changed.', 'thinkrank' );
108 109 }
109 110
110 111 /**
111 112 * {@inheritDoc}
@@ -114,9 +115,16 @@
114 115 */
115 116 public function get_annotations() {
116 117 return [
117 118 'readonly' => false,
118 - 'destructive' => true,
119 + // Settings writes are recoverable: the matching get-* ability reads
120 + // the previous value, so nothing is lost that cannot be put back.
121 + // `destructive` is reserved for calls that lose data or reach
122 + // outside the site, and marking routine configuration with it made
123 + // MCP clients demand a human approval for every save — which users
124 + // reported as a permission bug, because the client's refusal reads
125 + // as "No approval received" (#675).
126 + 'destructive' => false,
119 127 'idempotent' => true,
120 128 'priority' => 2.0,
121 129 'openWorldHint' => false,
122 130 ];