PluginProbe
WPSSO Core – Complete Schema Markup and Meta Tags / 22.7.0
WPSSO Core – Complete Schema Markup and Meta Tags v22.7.0
22.7.0 22.6.1 22.6.0 22.5.3 22.5.2 22.5.1 22.4.0 22.3.0 22.2.1 22.2.0 22.1.3 22.1.2 22.1.1 22.1.0 22.0.0 21.13.3 21.13.2 trunk 21.13.1
wpsso / lib / messages-tooltip-schema.php

messages-tooltip-schema.php in WPSSO Core – Complete Schema Markup and Meta Tags 22.7.0, at lib/messages-tooltip-schema.php

438 lines 17.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * License: GPLv3
4 * License URI: https://www.gnu.org/licenses/gpl.txt
5 * Copyright 2012-2026 Jean-Sebastien Morisset (https://wpsso.com/)
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9
10 die( 'These aren\'t the droids you\'re looking for.' );
11 }
12
13 if ( ! defined( 'WPSSO_PLUGINDIR' ) ) {
14
15 die( 'Do. Or do not. There is no try.' );
16 }
17
18 if ( ! class_exists( 'WpssoMessagesTooltipSchema' ) ) {
19
20 /*
21 * Instantiated by WpssoMessagesTooltip->get() only when needed.
22 */
23 class WpssoMessagesTooltipSchema extends WpssoMessages {
24
25 public function get( $msg_key = false, $info = array() ) {
26
27 $this->maybe_set_properties();
28
29 $text = '';
30
31 switch ( $msg_key ) {
32
33 case 'tooltip-schema_1x1_img_size': // Schema 1:1 (Google) Image Size.
34 case 'tooltip-schema_4x3_img_size': // Schema 4:3 (Google) Image Size.
35 case 'tooltip-schema_16x9_img_size': // Schema 16:9 (Google) Image Size.
36
37 if ( preg_match( '/^tooltip-(schema_([0-9]+)x([0-9]+))_img_size$/', $msg_key, $matches ) ) {
38
39 $opt_pre = $matches[ 1 ];
40 $ratio_msg = $matches[ 2 ] . ':' . $matches[ 3 ];
41 $def_img_dims = $this->get_def_img_dims( $opt_pre );
42
43 $text = sprintf( __( 'The %1$s dimensions used for Schema markup images (default dimensions are %2$s).', 'wpsso' ), $ratio_msg, $def_img_dims ) . ' ';
44 }
45
46 break;
47
48 case 'tooltip-schema_thumb_img_size': // Schema Thumbnail Image Size.
49
50 $def_img_dims = $this->get_def_img_dims( 'thumb' );
51
52 $text = sprintf( __( 'The dimensions used for the Schema "%1$s" property and "%2$s" HTML tag (default dimensions are %3$s).', 'wpsso' ), 'thumbnailUrl', 'meta name thumbnail', $def_img_dims );
53
54 break;
55
56 /*
57 * SSO > Advanced Settings > Document Types > Schema tab.
58 */
59 case 'tooltip-schema_type_for_home_page': // Type for Page Homepage.
60
61 $def_type = $this->p->schema->get_default_schema_type_name( 'home_page' );
62
63 // translators: %s is the markup standard name (ie. Open Graph or Schema).
64 $text = sprintf( __( 'Select a default %s type for a static front page.', 'wpsso' ), 'Schema' ) . ' ';
65
66 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
67 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
68
69 break;
70
71 case 'tooltip-schema_type_for_home_posts': // Type for Posts Homepage.
72
73 $def_type = $this->p->schema->get_default_schema_type_name( 'home_posts' );
74
75 // translators: %s is the markup standard name (ie. Open Graph or Schema).
76 $text = sprintf( __( 'Select a default %s type for a blog (non-static) front page.', 'wpsso' ), 'Schema' ) . ' ';
77
78 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
79 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
80
81 break;
82
83 case 'tooltip-schema_type_for_user_page': // Type for User / Author.
84
85 $def_type = $this->p->schema->get_default_schema_type_name( 'user_page' );
86
87 // translators: %s is the markup standard name (ie. Open Graph or Schema).
88 $text = sprintf( __( 'Select a default %s type for user / author profile pages.', 'wpsso' ), 'Schema' ) . ' ';
89
90 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
91 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
92
93 break;
94
95 case 'tooltip-schema_type_for_search_page': // Type for Search Results.
96
97 $def_type = $this->p->schema->get_default_schema_type_name( 'search_page' );
98
99 // translators: %s is the markup standard name (ie. Open Graph or Schema).
100 $text = sprintf( __( 'Select a default %s type for search results pages.', 'wpsso' ), 'Schema' ) . ' ';
101
102 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
103 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
104
105 break;
106
107 case 'tooltip-schema_type_for_archive_page': // Type for Archive Page.
108
109 $def_type = $this->p->schema->get_default_schema_type_name( 'archive_page' );
110
111 // translators: %s is the markup standard name (ie. Open Graph or Schema).
112 $text = sprintf( __( 'Select a default %s type for other archive pages (date-based archive pages, for example).', 'wpsso' ), 'Schema' ) . ' ';
113
114 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
115 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
116
117 break;
118
119 case 'tooltip-schema_type_for_pt': // Type by Post Type.
120
121 // translators: %s is the markup standard name (ie. Open Graph or Schema).
122 $text = sprintf( __( 'Select a default %s type for each post type.', 'wpsso' ), 'Schema' ) . ' ';
123
124 break;
125
126 case 'tooltip-schema_type_for_pta': // Type by Post Type Archive.
127
128 $def_type = $this->p->schema->get_default_schema_type_name( 'archive_page' );
129
130 // translators: %s is the markup standard name (ie. Open Graph or Schema).
131 $text = sprintf( __( 'Select a default %s type for each post type archive.', 'wpsso' ), 'Schema' ) . ' ';
132
133 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
134 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
135
136 break;
137
138 case 'tooltip-schema_type_for_tax': // Type by Taxonomy.
139
140 $def_type = $this->p->schema->get_default_schema_type_name( 'archive_page' );
141
142 // translators: %s is the markup standard name (ie. Open Graph or Schema).
143 $text = sprintf( __( 'Select a default %s type for each taxonomy.', 'wpsso' ), 'Schema' ) . ' ';
144
145 // translators: %1$s is the markup standard name (ie. Open Graph or Schema) and %2$s is the type name.
146 $text .= sprintf( __( 'The default %1$s type is "%2$s".', 'wpsso' ), 'Schema', $def_type );
147
148 break;
149
150 /*
151 * SSO > Advanced Settings > Schema Defaults > Article tab.
152 */
153 case 'tooltip-schema_def_add_articlebody_prop': // Add Article Body Property.
154
155 $def_checked = $this->get_def_checked( 'schema_def_add_articlebody_prop' );
156
157 $text = sprintf( __( 'Add an "articleBody" property to the Schema Article markup with the complete content text of the post (default is %s).', 'wpsso' ), $def_checked ) . ' ';
158
159 break;
160
161 case ( 0 === strpos( $msg_key, 'tooltip-schema_def_article_' ) ? true : false ):
162
163 $tp_frags = $this->get_tooltip_fragments( preg_replace( '/^tooltip-schema_def_/', '', $msg_key ) ); // Uses a local cache.
164
165 if ( ! empty( $tp_frags ) ) { // Just in case.
166
167 $text = sprintf( __( 'The %s that best describes the content of articles on your site.', 'wpsso' ),
168 $tp_frags[ 'name' ] ) . ' ';
169
170 $text .= sprintf( __( 'You can select a different %s when editing an article.', 'wpsso' ),
171 $tp_frags[ 'name' ] ) . ' ';
172
173 $text .= sprintf( __( 'Select "[None]" to exclude the %s by default from Schema markup and meta tags.', 'wpsso' ),
174 $tp_frags[ 'name' ] ) . ' ';
175
176 if ( ! empty( $tp_frags[ 'about' ] ) ) {
177
178 // translators: %1$s is a webpage URL and %2$s is a singular item reference, for example 'a product Google category'.
179 $text .= sprintf( __( '<a href="%1$s">See this webpage for more information about choosing %2$s value</a>.',
180 'wpsso' ), $tp_frags[ 'about' ], $tp_frags[ 'desc' ] ) . ' ';
181 }
182 }
183
184 break;
185
186 /*
187 * SSO > Advanced Settings > Schema Defaults > Book tab.
188 */
189 case 'tooltip-schema_def_book_format': // Default Book Format.
190
191 $text = __( 'Select a default format for the Schema Book type.', 'wpsso' );
192
193 break;
194
195 case 'tooltip-schema_def_book_author_type': // Default Book Author Type.
196
197 $text = __( 'Select a default type for the Schema Book author.', 'wpsso' );
198
199 break;
200
201 /*
202 * SSO > Advanced Settings > Schema Defaults > Creative Work tab.
203 */
204 case 'tooltip-schema_def_add_date_created': // Add Date Created Property.
205
206 $def_checked = $this->get_def_checked( 'schema_def_add_date_created' );
207
208 $text = sprintf( __( 'Add a "dateCreated" property to the Schema CreativeWork markup (default is %s).', 'wpsso' ), $def_checked ) . ' ';
209
210 break;
211
212 case 'tooltip-schema_def_add_date_published': // Add Date Published Property.
213
214 $def_checked = $this->get_def_checked( 'schema_def_add_date_published' );
215
216 $text = sprintf( __( 'Add a "datePublished" property to the Schema CreativeWork markup (default is %s).', 'wpsso' ), $def_checked ) . ' ';
217
218 break;
219
220 case 'tooltip-schema_def_add_date_modified': // Add Date Modified Property.
221
222 $def_checked = $this->get_def_checked( 'schema_def_add_date_modified' );
223
224 $text = sprintf( __( 'Add a "dateModified" property to the Schema CreativeWork markup (default is %s).', 'wpsso' ), $def_checked ) . ' ';
225
226 break;
227
228 case 'tooltip-schema_def_add_text_prop': // Add Text Property.
229
230 $def_checked = $this->get_def_checked( 'schema_def_add_text_prop' );
231
232 $text = sprintf( __( 'Add a "text" property to the Schema CreativeWork markup with the complete content text of the post (default is %s).', 'wpsso' ), $def_checked ) . ' ';
233
234 break;
235
236 case 'tooltip-schema_def_family_friendly': // Default Family Friendly.
237
238 $text = __( 'Select a default family friendly value for the Schema CreativeWork type and/or its sub-types (Article, BlogPosting, WebPage, etc).', 'wpsso' );
239
240 break;
241
242 case 'tooltip-schema_def_pub_org_id': // Default Publisher Organization.
243 case 'tooltip-schema_def_pub_person_id': // Default Publisher Person.
244
245 $text = __( 'Select a default publisher for the Schema CreativeWork type and/or its sub-types (Article, BlogPosting, WebPage, etc).', 'wpsso' );
246
247 case 'tooltip-schema_def_prov_org_id': // Default Provider Organization.
248 case 'tooltip-schema_def_prov_person_id': // Default Provider Person.
249 case 'tooltip-schema_def_service_prov_org_id': // Default Service Provider Organization.
250 case 'tooltip-schema_def_service_prov_person_id': // Default Service Provider Person.
251
252
253 $text = __( 'Select a default service provider, service operator, or service performer.', 'wpsso' );
254
255 break;
256
257 case 'tooltip-schema_def_fund_org_id': // Default Funder Organization.
258 case 'tooltip-schema_def_fund_person_id': // Default Funder Person.
259
260 $text = __( 'Select a default funder that supports (sponsors) the Schema CreativeWork type and/or its sub-types through somekind of financial contribution.', 'wpsso' );
261
262 break;
263
264 /*
265 * SSO > Advanced Settings > Schema Defaults > Event tab.
266 */
267 case 'tooltip-schema_def_event_attendance': // Event Event Attendance.
268
269 $text = __( 'Select a default attendance for the Schema Event type.', 'wpsso' );
270
271 break;
272
273 case 'tooltip-schema_def_event_location_id': // Default Event Venue.
274
275 $text = __( 'Select a default venue for the Schema Event type.', 'wpsso' );
276
277 break;
278
279 case 'tooltip-schema_def_event_performer_org_id': // Default Event Performer Organization.
280 case 'tooltip-schema_def_event_performer_person_id': // Default Event Performer Person.
281
282 $text = __( 'Select a default performer for the Schema Event type.', 'wpsso' );
283
284 break;
285
286 case 'tooltip-schema_def_event_organizer_org_id': // Default Event Organizer Organization.
287 case 'tooltip-schema_def_event_organizer_person_id': // Default Event Organizer Person.
288
289 $text = __( 'Select a default organizer for the Schema Event type.', 'wpsso' );
290
291 break;
292
293 case 'tooltip-schema_def_event_fund_org_id': // Default Event Funder Organization.
294 case 'tooltip-schema_def_event_fund_person_id': // Default Event Funder Person.
295
296 $text = __( 'Select a default funder that supports (sponsors) the Schema Event type through somekind of financial contribution.', 'wpsso' );
297
298 break;
299
300 /*
301 * SSO > Advanced Settings > Schema Defaults > Job Posting tab.
302 */
303 case 'tooltip-schema_def_job_hiring_org_id': // Default Job Hiring Organization.
304
305 $text = __( 'Select a default organization for the Schema JobPosting hiring organization.', 'wpsso' );
306
307 break;
308
309 case 'tooltip-schema_def_job_location_id': // Default Job Location.
310
311 $text = __( 'Select a default location for the Schema JobPosting job location.', 'wpsso' );
312
313 break;
314
315 case 'tooltip-schema_def_job_location_type': // Default Job Location Type.
316
317 $text = sprintf( __( 'Select a default optional Google approved location type (see <a href="%s">Google\'s Job Posting guidelines</a> for more information).', 'wpsso' ), 'https://developers.google.com/search/docs/appearance/structured-data/job-posting' );
318
319 break;
320
321 /*
322 * SSO > Advanced Settings > Schema Defaults > Place tab.
323 */
324 case 'tooltip-schema_def_place_schema_type': // Default Place Schema Type.
325
326 $text = __( 'Select the default Schema type to use when creating a new place.', 'wpsso' );
327
328 break;
329
330 case 'tooltip-schema_def_place_country': // Default Place Country.
331
332 $text = __( 'Select the default country to use when creating a new place.', 'wpsso' );
333
334 break;
335
336 case 'tooltip-schema_def_place_timezone': // Default Place Timezone.
337
338 $text = __( 'Select the default timezone to use when creating a new place.', 'wpsso' );
339
340 break;
341
342 /*
343 * SSO > Advanced Settings > Schema Defaults > Product tab.
344 */
345 case 'tooltip-schema_def_product_aggr_offers': // Aggregate Offers by Currency.
346
347 $text = __( 'Aggregate (ie. group) product offers by currency.', 'wpsso' ) . ' ';
348
349 $text .= sprintf( __( 'Note that to be eligible for <a href="%s">price drop appearance in Google search results</a>, product offers cannot be aggregated.', 'wpsso' ), 'https://developers.google.com/search/docs/data-types/product#price-drop' );
350
351 break;
352
353 case 'tooltip-schema_def_product_price_valid_days': // Default Product Prices Valid For.
354
355 $def_value = $this->p->opt->get_defaults( 'schema_def_product_price_valid_days' );
356
357 $text = sprintf( __( 'The default expiration time of product prices can be adjusted to reflect how often your product prices change (default is %d days).', 'wpsso' ), $def_value ) . ' ';
358
359 $text .= __( 'Enter "0" to disable the addition of a default product price expiration time.', 'wpsso' ) . ' ';
360
361 $text .= __( 'If a product is on sale, the expiration time for its product price will be the sale end date (if one is available) instead of the default price expiration time.', 'wpsso' ) . ' ';
362
363 break;
364
365 case ( 0 === strpos( $msg_key, 'tooltip-schema_def_product_' ) ? true : false ):
366
367 $tp_frags = $this->get_tooltip_fragments( preg_replace( '/^tooltip-schema_def_/', '', $msg_key ) ); // Uses a local cache.
368
369 if ( ! empty( $tp_frags ) ) { // Just in case.
370
371 $text = sprintf( __( 'The %s that best describes the products on your site.', 'wpsso' ), $tp_frags[ 'name' ] ) . ' ';
372
373 $text .= sprintf( __( 'You can select a different %s when editing a product.', 'wpsso' ), $tp_frags[ 'name' ] ) . ' ';
374
375 $text .= sprintf( __( 'Select "[None]" to exclude the %s by default from Schema markup and meta tags.', 'wpsso' ),
376 $tp_frags[ 'name' ] ) . ' ';
377
378 if ( ! empty( $tp_frags[ 'about' ] ) ) {
379
380 // translators: %1$s is a webpage URL and %2$s is a singular item reference, for example 'a product Google category'.
381 $text .= sprintf( __( '<a href="%1$s">See this webpage for more information about choosing %2$s value</a>.',
382 'wpsso' ), $tp_frags[ 'about' ], $tp_frags[ 'desc' ] ) . ' ';
383 }
384 }
385
386 break;
387
388 /*
389 * SSO > Advanced Settings > Schema Defaults > Profile Page tab.
390 */
391 case 'tooltip-schema_def_profile_page_mentions_prop':
392
393 $def_checked = $this->get_def_checked( 'schema_def_profile_page_mentions_prop' );
394
395 $text = sprintf( __( 'Add a "mentions" property to the Schema ProfilePage markup with all posts provided by the current page query (default is %s).', 'wpsso' ), $def_checked ) . ' ';
396
397 break;
398
399 /*
400 * SSO > Advanced Settings > Schema Defaults > Review tab.
401 */
402 case 'tooltip-schema_def_review_rating_min': // Default Review Rating Min.
403
404 $def_value = $this->p->opt->get_defaults( 'schema_def_review_rating_min' );
405
406 $text = sprintf( __( 'The lowest rating value for the Schema Review rating (default is %s).', 'wpsso' ), $def_value ) . ' ';
407
408 break;
409
410 case 'tooltip-schema_def_review_rating_max': // Default Review Rating Max.
411
412 $def_value = $this->p->opt->get_defaults( 'schema_def_review_rating_max' );
413
414 $text = sprintf( __( 'The highest rating value for the Schema Review rating (default is %s).', 'wpsso' ), $def_value ) . ' ';
415
416 break;
417
418 case 'tooltip-schema_def_review_item_type': // Default Subject Schema Type.
419
420 $text = __( 'A default Schema type for the subject of this review (for example, Schema type "Product" for a review of a product).', 'wpsso' ) . ' ';
421
422 $text .= sprintf( __( 'Note that although the Schema.org standard allows the subject of a review to be any Schema type, <a href="%1$s">Google only allows reviews for a few specific Schema types (and their sub-types)</a>.', 'wpsso' ), 'https://developers.google.com/search/docs/data-types/review-snippet' );
423
424 break;
425
426 default:
427
428 $text = apply_filters( 'wpsso_messages_tooltip_schema', $text, $msg_key, $info );
429
430 break;
431
432 } // End of 'tooltip-schema' switch.
433
434 return $text;
435 }
436 }
437 }
438