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-plugin.php

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

919 lines 40.5 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( 'WpssoMessagesTooltipPlugin' ) ) {
19
20 /*
21 * Instantiated by WpssoMessagesTooltip->get() only when needed.
22 */
23 class WpssoMessagesTooltipPlugin 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 /*
34 * SSO > Advanced Settings > Plugin Settings > Plugin Admin tab.
35 */
36 case 'tooltip-plugin_clean_on_uninstall': // Remove Settings on Uninstall.
37
38 $def_checked = $this->get_def_checked( 'plugin_clean_on_uninstall' );
39
40 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
41
42 $text = sprintf( __( 'Check this option to remove all %1$s plugin and add-ons settings when you <em>uninstall</em> the %1$s plugin (default is %2$s).', 'wpsso' ), $info[ 'short' ], $def_checked ) . ' ';
43
44 $text .= sprintf( __( 'This includes any custom post, term, and user data entered in the %s metabox.', 'wpsso' ), $mb_title_transl );
45
46 break;
47
48 case 'tooltip-plugin_schema_json_min': // Disable Cache for Debugging.
49
50 $def_checked = $this->get_def_checked( 'plugin_schema_json_min' );
51
52 $opt_label_transl = _x( 'Add Debug Messages to HTML', 'option label', 'wpsso' );
53
54 $text = sprintf( __( 'Minimize the Schema JSON-LD markup created by %1$s in the webpage (default is %2$s).', 'wpsso' ), $info[ 'short' ], $def_checked ) . ' ';
55
56 $text .= __( 'Leaving this option unchecked creates human readable (aka "pretty print") Schema JSON-LD markup in the webpage.', 'wpsso' ) . ' ';
57
58 $text .= sprintf( __( 'Note that enabling the "%s" option will always create human readable Schema JSON-LD markup, even when this option is checked.', 'wpsso' ), $opt_label_transl );
59
60 break;
61
62 case 'tooltip-plugin_load_mofiles': // Use Plugin MO Translations.
63
64 $def_checked = $this->get_def_checked( 'plugin_load_mofiles' );
65
66 $text = sprintf( __( 'Prefer local translation files for the %1$s plugin and its add-ons, instead of those from WordPress.org (default is %2$s).', 'wpsso' ), $info[ 'short' ], $def_checked );
67
68 break;
69
70 case 'tooltip-plugin_debug_html': // Add Debug Messages to HTML.
71
72 $def_checked = $this->get_def_checked( 'plugin_debug_html' );
73
74 $text = sprintf( __( 'Add hidden debugging messages as HTML comments to front-end and admin webpages (default is %s).', 'wpsso' ), $def_checked );
75
76 break;
77
78 case 'tooltip-plugin_cache_disable': // Disable Cache for Debugging.
79
80 $def_checked = $this->get_def_checked( 'plugin_cache_disable' );
81
82 $text = sprintf( __( 'Disable the head markup transient cache for debugging purposes (default is %s).', 'wpsso' ), $def_checked );
83
84 break;
85
86 /*
87 * SSO > Advanced Settings > Plugin Settings > Integration tab.
88 */
89 case 'tooltip-plugin_title_tag': // Webpage Title Tag.
90
91 if ( ! current_theme_supports( 'title-tag' ) ) {
92
93 $text .= '<strong>' . sprintf( __( 'Your theme does not support the <a href="%s">WordPress Title Tag</a>.', 'wpsso' ), __( 'https://codex.wordpress.org/Title_Tag', 'wpsso' ) ) . '</strong> ';
94
95 $text .= __( 'Please contact your theme author and request that they add support for the WordPress Title Tag feature (available since WordPress v4.1).', 'wpsso' ) . ' ';
96
97 $text .= '<br/><br/>';
98 }
99
100 $text .= sprintf( __( '%1$s can provide a customized value for the %2$s HTML tag.', 'wpsso' ), $this->p_name, '<code>&amp;lt;title&amp;gt;</code>' ) . ' ';
101
102 $text .= sprintf( __( 'The %s HTML tag value is used by web browsers to display the current webpage title in the browser tab.', 'wpsso' ), '<code>&amp;lt;title&amp;gt;</code>' ) . ' ';
103
104 break;
105
106 case 'tooltip-plugin_filter_content': // Use Filtered Content.
107
108 $def_checked = $this->get_def_checked( 'plugin_filter_content' );
109
110 $text .= sprintf( __( 'The use of WordPress content filters allows %s to fully render your content text for meta tag descriptions and detect additional images and/or embedded videos provided by shortcodes.', 'wpsso' ), $this->p_name ) . ' ';
111
112 $text .= sprintf( __( 'Many themes and plugins have badly coded content filters, so this option is %s by default.', 'wpsso' ), $def_checked ) . ' ';
113
114 $text .= __( 'If you use shortcodes in your content text, this option should be enabled - IF YOU EXPERIENCE WEBPAGE LAYOUT OR PERFORMANCE ISSUES AFTER ENABLING THIS OPTION, disable the option or determine which theme or plugin is filtering the content incorrectly and report the problem to its author(s).', 'wpsso' );
115
116 break;
117
118 case 'tooltip-plugin_filter_excerpt': // Use Filtered Excerpt.
119
120 $def_checked = $this->get_def_checked( 'plugin_clean_on_uninstall' );
121
122 $text = sprintf( __( 'Apply the WordPress "get_the_excerpt" filter to excerpt text (default is %s).', 'wpsso' ), $def_checked ) . ' ';
123
124 $text .= __( 'You should enable this option if you use shortcodes in your excerpts.', 'wpsso' ) . ' ';
125
126 break;
127
128 case 'tooltip-plugin_page_excerpt': // Enable Excerpt for Pages.
129
130 $text = __( 'Enable the WordPress Excerpt metabox when editing a Page.', 'wpsso' ) . ' ';
131
132 $text .= sprintf( __( 'An excerpt is an optional hand-crafted summary of your content that %s can use as a default description for meta tags and Schema markup.', 'wpsso' ), $info[ 'short' ] );
133
134 break;
135
136 case 'tooltip-plugin_page_tags': // Enable Tags for Pages.
137
138 $text = __( 'Register a non-public Page Tags taxonomy and enable a WordPress Page Tags metabox when editing a Page.', 'wpsso' ) . ' ';
139
140 $text .= sprintf( __( '%s can convert WordPress tags into Schema keywords and hashtags for social sites.', 'wpsso' ), $info[ 'short' ] );
141
142 break;
143
144 case 'tooltip-plugin_new_user_is_person': // Add Person Role for New Users.
145
146 $text = sprintf( __( 'Automatically add the "%s" role when a new user is created.', 'wpsso' ), _x( 'Person', 'user role', 'wpsso' ) ) . ' ';
147
148 $text .= sprintf( __( 'You may also consider activating <a href="%s">a plugin from WordPress.org to manage user roles and their members</a>.', 'wpsso' ), 'https://wordpress.org/plugins/search/user+role/' );
149
150 break;
151
152 case 'tooltip-plugin_inherit_featured': // Inherit Featured Image.
153
154 $text = __( 'Posts, pages, custom post types, categories, tags, custom taxonomy terms, and user profiles should all have at least one image available for its meta tags and Schema markup.', 'wpsso' ) . ' ';
155
156 $text .= __( 'Enable this option to make sure child pages without a featured image can inherit the featured image of their parents.', 'wpsso' ) . ' ';
157
158 break;
159
160 case 'tooltip-plugin_inherit_images': // Inherit Custom Images.
161
162 $text = __( 'Posts, pages, custom post types, categories, tags, custom taxonomy terms, and user profiles should all have at least one image available for its meta tags and Schema markup.', 'wpsso' ) . ' ';
163
164 $text .= __( 'Enable this option to make sure child pages and terms without custom images can inherit the custom images of their parents.', 'wpsso' ) . ' ';
165
166 $text .= __( 'Note that when enabled, this feature is only applied to publicly accessible posts, pages, custom post types, categories, tags, custom taxonomy terms, and user profiles.', 'wpsso' ) . ' ';
167
168 break;
169
170 case 'tooltip-plugin_attached_images': // Consider Attached Images.
171
172 $text = __( 'After considering custom and featured images, consider using attached images (including WooCommerce product gallery images) for use in Schema markup and meta tags.', 'wpsso' ) . ' ';
173
174 break;
175
176 case 'tooltip-plugin_content_images': // Consider Content Images.
177
178 $text = __( 'After considering custom, featured, and (optionally) attached images, consider using images found in the content for use in Schema markup and meta tags.', 'wpsso' ) . ' ';
179
180 break;
181
182 case 'tooltip-plugin_check_img_dims': // Image Dimension Checks.
183
184 $text = __( 'Users may upload small images to the Media Library without knowing that WordPress creates (or tries to create) several different image sizes from the uploaded originals.', 'wpsso' ) . ' ';
185
186 $text .= __( 'Uploading small images to the Media Library means that WordPress cannot create image sizes that are larger than the uploaded image, and <strong>WordPress will provide images that are too small for larger image sizes</strong>.', 'wpsso' ) . ' ';
187
188 $text .= __( 'Providing social sites and search engines with correctly sized images is highly recommended, so this option should be enabled if possible, to double-check the dimension of images provided by WordPress.', 'wpsso' ) . ' ';
189
190 $text .= __( 'This option can be disabled to allow the use of smaller images and avoid some rejected image warnings.', 'wpsso' ) . ' ';
191
192 $text .= sprintf( __( 'See <a href="%s">Why shouldn\'t I upload small images to the media library?</a> for more information on WordPress and its image sizes.', 'wpsso' ), 'https://wpsso.com/docs/plugins/wpsso/faqs/why-shouldnt-i-upload-small-images-to-the-media-library/' ). ' ';
193
194 break;
195
196 case 'tooltip-plugin_prevent_thumb_conflicts': // Prevent Thumbnail Conflicts.
197
198 $text = sprintf( __( 'WordPress appends the resized dimensions to the thumbnail file name (for example, %1$s), but does not distinguish between cropped or uncropped dimensions, or different cropping areas from different image sizes with identical dimensions.', 'wpsso' ), '1200x628' ) . ' ';
199
200 $text .= sprintf( __( '%1$s can customize its thumbnail file names to append cropping information (for example, %2$s, %3$s) in order to prevent conflicts from image sizes with different cropping areas.', 'wpsso' ), $this->p_name, '1200x628-cropped', '1200x628-cropped-center-top' );
201
202 break;
203
204 case 'tooltip-plugin_upscale_images': // Upscale Media Library Images.
205
206 $text = __( 'WordPress does not upscale (enlarge) images - WordPress can only create smaller images from larger full size originals.', 'wpsso' ) . ' ';
207
208 $text .= __( 'Upscaled images do not look as sharp or clear, and if upscaled too much, will look fuzzy and unappealing - not something you want to promote on social and search sites.', 'wpsso' ) . ' ';
209
210 $text .= sprintf( __( '%s includes an optional module to allow upscaling of WordPress Media Library images (up to a maximum upscale percentage).', 'wpsso' ), $this->p_name_pro ) . ' ';
211
212 $text .= '<strong>' . __( 'Do not enable this option unless you want to publish lower quality images on social and search sites.', 'wpsso' ) . '</strong>';
213
214 break;
215
216 case 'tooltip-plugin_upscale_pct_max': // Maximum Image Upscale Percent.
217
218 $def_value = $this->p->opt->get_defaults( 'plugin_upscale_pct_max' );
219
220 $text = sprintf( __( 'When upscaling of %1$s image sizes is allowed, %2$s can make sure smaller images are not upscaled beyond reason, which would publish very low quality / fuzzy images on social and search sites (the default maximum is %3$s%%).', 'wpsso' ), $info[ 'short' ], $this->p_name_pro, $def_value ) . ' ';
221
222 $text .= __( 'If an image needs to be upscaled beyond this maximum, in either width or height, the image will not be upscaled.', 'wpsso' );
223
224 break;
225
226 /*
227 * SSO > Advanced Settings > Plugin Settings > Integration tab (Plugin and Theme Integration section).
228 */
229 case 'tooltip-plugin_speakable_css_csv': // Speakable CSS Selectors.
230
231 $text = sprintf( __( 'A comma-delimited list of CSS selectors for sections of the webpage that are particularly speakable (see <a href="%s">Google\'s Speakable guidelines</a> for more information).', 'wpsso' ), __( 'https://developers.google.com/search/docs/appearance/structured-data/speakable', 'wpsso' ) ) . ' ';
232
233 $text .= __( 'The Schema speakable property is included in the Schema Article and WebPage types.', 'wpsso' );
234
235 break;
236
237 case 'tooltip-plugin_check_head': // Check for Duplicate Meta Tags.
238
239 $check_head_count = SucomUtil::get_const( 'WPSSO_DUPE_CHECK_HEADER_COUNT', 3 );
240
241 $text = sprintf( __( 'When editing posts and pages, %s can check the head section of the webpage for conflicting and/or duplicate HTML tags.', 'wpsso' ), $info[ 'short' ] ) . ' ';
242
243 $text .= sprintf( __( 'After %d <em>successful</em> checks, no additional checks will be performed until the theme or a plugin is updated.', 'wpsso' ), $check_head_count );
244
245 break;
246
247 case 'tooltip-plugin_page_cache_active': // Cache Plugin or Service is Active.
248
249 $text .= sprintf( __( '%1$s can reduce its use of the WordPress transients cache (used by plugins and themes to store temporary data) for meta tags and Schema markup when a full webpage caching plugin or service is active.', 'wpsso' ), $this->p_name ) . ' ';
250
251 break;
252
253 case 'tooltip-plugin_product_include_vat': // Include VAT in Product Prices.
254
255 $text = __( 'Retrieve product prices from e-Commerce plugins with VAT included.', 'wpsso' ) . ' ';
256
257 break;
258
259 case 'tooltip-plugin_import_aioseop_meta': // Import All in One SEO Pack Metadata.
260
261 if ( empty( $plugin_name_transl ) ) {
262
263 $plugin_name_transl = __( 'All in One SEO Pack', 'wpsso' );
264 }
265
266 // No break.
267
268 case 'tooltip-plugin_import_rankmath_meta': // Import Rank Math SEO Metadata.
269
270 if ( empty( $plugin_name_transl ) ) {
271
272 $plugin_name_transl = __( 'Rank Math SEO', 'wpsso' );
273 }
274
275 // No break.
276
277 case 'tooltip-plugin_import_seoframework_meta': // Import The SEO Framework Metadata.
278
279 if ( empty( $plugin_name_transl ) ) {
280
281 $plugin_name_transl = __( 'The SEO Framework', 'wpsso' );
282 }
283
284 // No break.
285
286 case 'tooltip-plugin_import_wpmetaseo_meta': // Import WP Meta SEO Metadata.
287
288 if ( empty( $plugin_name_transl ) ) {
289
290 $plugin_name_transl = __( 'WP Meta SEO', 'wpsso' );
291 }
292
293 // No break.
294
295 case 'tooltip-plugin_import_wpseo_meta': // Import Yoast SEO Metadata.
296
297 if ( empty( $plugin_name_transl ) ) {
298
299 $plugin_name_transl = __( 'Yoast SEO', 'wpsso' );
300 }
301
302 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
303
304 // translators: %1$s is the plugin name, %2$s is the Document SSO metabox name.
305 $text = sprintf( __( 'Import %1$s custom metadata for posts, pages, custom post types, terms, and users into the %2$s metabox options.', 'wpsso' ), $plugin_name_transl, $mb_title_transl ) . ' ';
306
307 // translators: %1$s is the plugin name, %2$s is the Document SSO metabox name.
308 $text .= sprintf( __( 'Note that %1$s custom metadata will only be imported into %2$s metabox options that are empty (ie. options that have not already been customized).', 'wpsso' ), $plugin_name_transl, $mb_title_transl ) . ' ';
309
310 // translators: %1$s is the plugin name.
311 $text .= sprintf( __( 'This option is enabled by default if %1$s is active, or no SEO plugin is active and %1$s settings are found in the database.', 'wpsso' ), $plugin_name_transl ) . ' ';
312
313 // translators: %1$s is the plugin name.
314 $text .= sprintf( __( 'If this option is checked and %1$s is active, then only social metadata will be imported, and if %1$s is not active, then all available metadata will be imported.', 'wpsso' ), $plugin_name_transl ) . ' ';
315
316 break;
317
318 case 'tooltip-plugin_import_wpseo_blocks': // Import Yoast SEO Block Attrs.
319
320 if ( empty( $plugin_name_transl ) ) {
321
322 $plugin_name_transl = __( 'Yoast SEO', 'wpsso' );
323 }
324
325 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
326
327 // translators: %1$s is the plugin name, %2$s is the Document SSO metabox name.
328 $text = sprintf( __( 'Import the %1$s block attributes (how-to block step details, for example) into the %2$s metabox options.', 'wpsso' ), $plugin_name_transl, $mb_title_transl ) . ' ';
329
330 // translators: %1$s is the plugin name.
331 $text .= sprintf( __( 'This option is enabled by default if %1$s is active, or no SEO plugin is active and %1$s settings are found in the database.', 'wpsso' ), $plugin_name_transl ) . ' ';
332
333 break;
334
335 /*
336 * SSO > Advanced Settings > Plugin Settings > Default Text tab.
337 */
338 case 'tooltip-plugin_title_part_site': // Title Tag Site Prefix / Suffix.
339
340 $option_label = _x( 'Webpage Title Tag', 'option label', 'wpsso' );
341 $option_link = $this->p->util->get_admin_url( 'advanced#sucom-tabset_plugin-tab_integration', $option_label );
342
343 // translators: %1$s is the "Webpage Title Tag" option label.
344 $text = sprintf( __( 'The SEO site name suffix for the %1$s option value.', 'wpsso' ), $option_link ) . ' ';
345
346 $option_label = _x( 'Site Name', 'option label', 'wpsso' );
347 $option_link = $this->p->util->get_admin_url( 'general#sucom-tabset_og-tab_site', $option_label );
348
349 // translators: %1$s is the "Site Name" option label, %2$s is the "%%sitename%%" inline variable.
350 $text .= sprintf( __( 'The default SEO site name suffix is the %1$s value (aka %2$s inline variable).', 'wpsso' ),
351 $option_link, '<code>%%sitename%%</code>' );
352
353 break;
354
355 case 'tooltip-plugin_title_part_tagline': // Title Tag Tagline Prefix / Suffix.
356
357 $option_label = _x( 'Webpage Title Tag', 'option label', 'wpsso' );
358 $option_link = $this->p->util->get_admin_url( 'advanced#sucom-tabset_plugin-tab_integration', $option_label );
359
360 // translators: %1$s is the "Webpage Title Tag" option label.
361 $text = sprintf( __( 'The SEO tagline suffix for the %1$s option value.', 'wpsso' ), $option_link ) . ' ';
362
363 $option_label = _x( 'Site Description', 'option label', 'wpsso' );
364 $option_link = $this->p->util->get_admin_url( 'general#sucom-tabset_og-tab_site', $option_label );
365
366 // translators: %1$s is the "Site Description" option label, %2$s is the "%%sitedesc%%" inline variable.
367 $text .= sprintf( __( 'The default SEO tagline suffix is the %1$s value (aka %2$s inline variable).', 'wpsso' ),
368 $option_link, '<code>%%sitedesc%%</code>' );
369
370 break;
371
372 case 'tooltip-plugin_img_alt_prefix': // Content Image Alt Prefix.
373
374 $text = __( 'Image <code>alt</code> text used in descriptions can be prefixed with an optional string.', 'wpsso' ) . ' ';
375
376 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
377 $this->p->opt->get_text( 'plugin_img_alt_prefix', $use_opts = false ) );
378
379 $text .= __( 'Leave this option blank to prevent the image <code>alt</code> text from being prefixed.', 'wpsso' );
380
381 break;
382
383 case 'tooltip-plugin_p_cap_prefix': // WP Caption Text Prefix.
384
385 $text = __( 'Caption paragraphs found with the "wp-caption-text" CSS class can be prefixed with an optional string.', 'wpsso' ) . ' ';
386
387 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
388 $this->p->opt->get_text( 'plugin_p_cap_prefix', $use_opts = false ) );
389
390 $text .= __( 'Leave this option blank to prevent caption paragraphs from being prefixed.', 'wpsso' );
391
392 break;
393
394 case 'tooltip-plugin_comment_title': // Comment Title.
395
396 $text = __( 'The comment title used for Schema markup.' ) . ' ';
397
398 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
399 $this->p->opt->get_text( 'plugin_comment_title', $use_opts = false ) );
400
401 break;
402
403 case 'tooltip-plugin_comment_reply_title': // Reply Comment Title.
404
405 $text = __( 'The comment title used for Schema markup when the comment has a parent.' ) . ' ';
406
407 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
408 $this->p->opt->get_text( 'plugin_comment_reply_title', $use_opts = false ) );
409
410 break;
411
412 case 'tooltip-plugin_comment_review_title': // Review Comment Title.
413
414 $text = __( 'The comment title used for Schema markup when the comment has a rating.' ) . ' ';
415
416 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
417 $this->p->opt->get_text( 'plugin_comment_review_title', $use_opts = false ) );
418
419 break;
420
421 case 'tooltip-plugin_product_var_title': // Product Variation Title.
422
423 $text = __( 'The product variation title used for meta tags and Schema markup.' ) . ' ';
424
425 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
426 $this->p->opt->get_text( 'plugin_product_var_title', $use_opts = false ) );
427
428 break;
429
430 case 'tooltip-plugin_feed_title': // RSS Feed Title.
431
432 $option_label = _x( 'Webpage Title Tag', 'option label', 'wpsso' );
433 $option_link = $this->p->util->get_admin_url( 'advanced#sucom-tabset_plugin-tab_integration', $option_label );
434 $option_value = _x( '[WordPress Title]', 'option value', 'wpsso' );
435
436 $text = sprintf( __( 'The RSS feed title tag value when the %1$s option is not "<em>%2$s</em>".' ),
437 $option_link, $option_value ) . ' ';
438
439 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
440 $this->p->opt->get_text( 'plugin_feed_title', $use_opts = false ) );
441
442 break;
443
444 case 'tooltip-plugin_404_page_title': // 404 Page Title.
445
446 $text = __( 'The 404 page title used for meta tags and Schema markup.' ) . ' ';
447
448 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
449 $this->p->opt->get_text( 'plugin_404_page_title', $use_opts = false ) );
450
451 break;
452
453 case 'tooltip-plugin_404_page_desc': // 404 Page Description.
454
455 $text = __( 'The 404 page description used for meta tags and Schema markup.' ) . ' ';
456
457 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
458 $this->p->opt->get_text( 'plugin_404_page_desc', $use_opts = false ) );
459
460 break;
461
462 case 'tooltip-plugin_no_title_text': // No Title Text.
463
464 $text = __( 'A fallback title to use when there is no title text available.' ) . ' ';
465
466 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
467 $this->p->opt->get_text( 'plugin_no_title_text', $use_opts = false ) );
468
469 break;
470
471 case 'tooltip-plugin_no_desc_text': // No Description Text.
472
473 $text = __( 'A fallback description to use when there is no description text available.' ) . ' ';
474
475 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
476 $this->p->opt->get_text( 'plugin_no_desc_text', $use_opts = false ) );
477
478 break;
479
480 /*
481 * SSO > Advanced Settings > Plugin Settings > Default Text tab (Archive Pages section).
482 */
483 case 'tooltip-plugin_term_page_title': // Term Archive Title.
484
485 $text = __( 'The term (categories, tags, and custom taxonomy terms) title used for meta tags and Schema markup.' ) . ' ';
486
487 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
488 $this->p->opt->get_text( 'plugin_term_page_title', $use_opts = false ) );
489
490 break;
491
492 case 'tooltip-plugin_term_page_desc': // Term Archive Description.
493
494 $text = __( 'A fallback term (categories, tags, and custom taxonomy terms) description used for meta tags and Schema markup when the term description is empty.' ) . ' ';
495
496 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
497 $this->p->opt->get_text( 'plugin_term_page_desc', $use_opts = false ) );
498
499 break;
500
501 case 'tooltip-plugin_author_page_title': // Author Archive Title.
502
503 $text = __( 'The author title used for meta tags and Schema markup.' ) . ' ';
504
505 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
506 $this->p->opt->get_text( 'plugin_author_page_title', $use_opts = false ) );
507
508 break;
509
510 case 'tooltip-plugin_author_page_desc': // Author Archive Description.
511
512 $text = __( 'A fallback author description used for meta tags and Schema markup when the author description is empty.' ) . ' ';
513
514 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
515 $this->p->opt->get_text( 'plugin_author_page_desc', $use_opts = false ) );
516
517 break;
518
519 case 'tooltip-plugin_search_page_title': // Search Results Title.
520
521 $text = __( 'The search results page title used for meta tags and Schema markup.' ) . ' ';
522
523 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
524 $this->p->opt->get_text( 'plugin_search_page_title', $use_opts = false ) );
525
526 break;
527
528 case 'tooltip-plugin_search_page_desc': // Search Results Description.
529
530 $text = __( 'The search results page description used for meta tags and Schema markup.' ) . ' ';
531
532 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
533 $this->p->opt->get_text( 'plugin_search_page_desc', $use_opts = false ) );
534
535 break;
536
537 case 'tooltip-plugin_year_page_title': // Year Archive Title.
538
539 $text = __( 'The yearly archive page title used for meta tags and Schema markup.' ) . ' ';
540
541 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
542 $this->p->opt->get_text( 'plugin_year_page_title', $use_opts = false ) );
543
544 break;
545
546 case 'tooltip-plugin_year_page_desc': // Year Archive Description.
547
548 $text = __( 'The yearly archive page description used for meta tags and Schema markup.' ) . ' ';
549
550 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
551 $this->p->opt->get_text( 'plugin_year_page_desc', $use_opts = false ) );
552
553 break;
554
555 case 'tooltip-plugin_month_page_title': // Month Archive Title.
556
557 $text = __( 'The monthly archive page title used for meta tags and Schema markup.' ) . ' ';
558
559 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
560 $this->p->opt->get_text( 'plugin_month_page_title', $use_opts = false ) );
561
562 break;
563
564 case 'tooltip-plugin_month_page_desc': // Month Archive Description.
565
566 $text = __( 'The monthly archive page description used for meta tags and Schema markup.' ) . ' ';
567
568 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
569 $this->p->opt->get_text( 'plugin_month_page_desc', $use_opts = false ) );
570
571 break;
572
573 case 'tooltip-plugin_day_page_title': // Day Archive Title.
574
575 $text = __( 'The daily archive page title used for meta tags and Schema markup.' ) . ' ';
576
577 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
578 $this->p->opt->get_text( 'plugin_day_page_title', $use_opts = false ) );
579
580 break;
581
582 case 'tooltip-plugin_day_page_desc': // Day Archive Description.
583
584 $text = __( 'The daily archive page description used for meta tags and Schema markup.' ) . ' ';
585
586 $text .= sprintf( __( 'The default value is "<em>%s</em>".', 'wpsso' ),
587 $this->p->opt->get_text( 'plugin_day_page_desc', $use_opts = false ) );
588
589 break;
590
591 /*
592 * SSO > Advanced Settings > Plugin Settings > Interface tab.
593 */
594 case 'tooltip-plugin_show_opts': // Options to Show by Default.
595
596 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
597
598 $text = sprintf( __( 'You can select the default set of options to display in settings pages and the %s metabox.', 'wpsso' ), $mb_title_transl ) . ' ';
599
600 $text .= __( 'The basic view shows the most commonly used options, and includes a link to temporarily show all options when desired.', 'wpsso' ) . ' ';
601
602 $text .= __( 'Note that showing all options by default could be a bit overwhelming for new users.', 'wpsso' );
603
604 break;
605
606 case 'tooltip-plugin_og_types_select_format': // Open Graph Type Select Format.
607
608 $text = __( 'Select a preferred format for the Open Graph Type drop-down options.', 'wpsso' );
609
610 break;
611
612 case 'tooltip-plugin_schema_types_select_format': // Schema Type Select Format.
613
614 $text = __( 'Select a preferred format for the Schema Type drop-down options.', 'wpsso' );
615
616 break;
617
618 case 'tooltip-plugin_add_toolbar_validate': // Show Validators Toolbar Menu.
619
620 $menu_title = _x( 'Validators', 'toolbar menu title', 'wpsso' );
621
622 $text = sprintf( __( 'Show a "%s" menu in the admin toolbar.', 'wpsso' ), $menu_title ) . ' ';
623
624 break;
625
626 case 'tooltip-plugin_add_submenu': // Show SSO Menu Items.
627
628 $menu_title = $this->p->admin->get_menu_title();
629
630 $text = sprintf( __( 'Optionally remove settings pages from the %s menu.', 'wpsso' ), $menu_title );
631
632 break;
633
634 case 'tooltip-plugin_add_to': // Show Document SSO Metabox.
635
636 $menu_title = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
637
638 $text = sprintf( __( 'Add or remove the %s metabox from editing pages for posts, pages, custom post types, terms (categories and tags), and user profile pages.', 'wpsso' ), $menu_title );
639
640 break;
641
642 case 'tooltip-plugin_show_columns': // WP List Table Columns.
643
644 $text = __( 'Additional columns can be included by default in the admin list tables for posts, pages, custom post types, terms (categories and tags), and user profile pages.', 'wpsso' ) . ' ';
645
646 $text .= __( 'Users can also hide columns by using the <em>Screen Options</em> tab when viewing admin list tables.', 'wpsso' );
647
648 break;
649
650 /*
651 * SSO > Advanced Settings > Service APIs > Media Services tab.
652 */
653 case 'tooltip-plugin_gravatar_image': // Gravatar is Default Author Image.
654
655 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
656
657 $text .= sprintf( __( 'A customized image for each author can be selected in the WordPress user profile %s metabox.', 'wpsso' ),
658 $mb_title_transl ) . ' ';
659
660 $text = __( 'If a custom image has not been selected, fallback to using the author\'s Gravatar image.', 'wpsso' ) . ' ';
661
662 break;
663
664 case 'tooltip-plugin_gravatar_size': // Gravatar Image Size.
665
666 $def_value = $this->p->opt->get_defaults( 'plugin_gravatar_size' );
667
668 $text = __( 'The requested Gravatar image width and height (a number from 1 to 2048).', 'wpsso' ) . ' ';
669
670 $text .= __( 'Note that users often upload low resolution images to Gravatar, so choosing a larger image size may result in pixelation and lower-quality images.', 'wpsso' ) . ' ';
671
672 $text .= sprintf( __( 'The default Gravatar image size is %d pixels.', 'wpsso' ), $def_value );
673
674 break;
675
676 case 'tooltip-plugin_embed_media': // Detect Embedded Media.
677
678 $text = __( 'Check the content for embedded media URLs from supported media providers (Vimeo, Wistia, YouTube, etc.).', 'wpsso' ) . ' ';
679
680 $text .= __( 'When a supported media URL is found, an API connection to the provider can be made to retrieve additional information about the media (preview image URL, oembed player URL, video width and height, etc.).', 'wpsso' );
681
682 break;
683
684 /*
685 * SSO > Advanced Settings > Service APIs > Shortening Services tab.
686 */
687 case 'tooltip-plugin_shortener': // URL Shortening Service.
688
689 $text = sprintf( __( 'A preferred URL shortening service used for the <code>%s</code> HTML tag value, Schema markup, and social sharing buttons.', 'wpsso' ), 'link rel shortlink' );
690
691 break;
692
693 case 'tooltip-plugin_min_shorten': // Minimum URL Length to Shorten.
694
695 $def_value = $this->p->opt->get_defaults( 'plugin_min_shorten' );
696
697 $text = sprintf( __( 'Only shorten URLs that are longer than this length (default is %d characters).', 'wpsso' ), $def_value );
698
699 break;
700
701 case 'tooltip-plugin_wp_shortlink': // Use Short URL for WP Shortlink.
702
703 $text = sprintf( __( 'Use the selected URL shortening service to replace the WordPress <code>%s</code> function value.', 'wpsso' ), 'wp_get_shortlink()' ) . ' ';
704
705 $text .= sprintf( __( 'If the URL shortening service is set to "%1$s" then checking or unchecking option has no effect on the WordPress <code>%2$s</code> function as there is no URL shortening service available to replace its value.', 'wpsso' ), _x( '[None]', 'option value', 'wpsso' ), 'wp_get_shortlink()' );
706
707 break;
708
709 case 'tooltip-plugin_add_link_rel_shortlink': // Add "link rel shortlink" HTML Tag.
710
711 $text = sprintf( __( 'Use the selected URL shortening service to replace the WordPress <code>%s</code> HTML tag.', 'wpsso' ), 'link rel shortlink' );
712
713 break;
714
715 case 'tooltip-plugin_bitly_access_token': // Bitly Access Token.
716
717 $text = __( 'The Bitly shortening service requires an Access Token to shorten URLs.', 'wpsso' ) . ' ';
718
719 $text .= sprintf( __( '<a href="%s">You can create an Access Token in your Bitly profile settings</a> and enter its value here.', 'wpsso' ), 'https://app.bitly.com/settings/api' );
720
721 break;
722
723 case 'tooltip-plugin_bitly_domain': // Bitly Short Domain (Optional).
724
725 $text = __( 'An optional Bitly short domain to use - either bit.ly, j.mp, bitly.com, or another custom short domain.', 'wpsso' ) . ' ';
726
727 $text .= __( 'If no value is entered here, the short domain selected in your Bitly account settings will be used.', 'wpsso' );
728
729 break;
730
731 case 'tooltip-plugin_bitly_group_name': // Bitly Group Name (Optional).
732
733 $text = sprintf( __( 'An optional <a href="%s">Bitly group name to organize your Bitly account links</a>.', 'wpsso' ),
734 'https://support.bitly.com/hc/en-us/articles/115004551268' );
735
736 break;
737
738 case 'tooltip-plugin_dlmyapp_api_key': // DLMY.App API Key.
739
740 $text = __( 'The DLMY.App secret API Key can be found in the DLMY.App user account &gt; Tools &gt; Developer API webpage.', 'wpsso' );
741
742 break;
743
744 case 'tooltip-plugin_owly_api_key': // Ow.ly API Key.
745
746 $text = sprintf( __( 'To use Ow.ly as your preferred shortening service, you must provide the Ow.ly API Key for this website (complete this form to <a href="%s">Request Ow.ly API Access</a>).', 'wpsso' ), 'https://docs.google.com/forms/d/1Fn8E-XlJvZwlN4uSRNrAIWaY-nN_QA3xAHUJ7aEF7NU/viewform' );
747
748 break;
749
750 case 'tooltip-plugin_yourls_api_url': // YOURLS API URL.
751
752 $text = sprintf( __( 'The URL to <a href="%s">Your Own URL Shortener</a> (YOURLS) shortening service.', 'wpsso' ), 'https://yourls.org/' );
753 break;
754
755 case 'tooltip-plugin_yourls_username': // YOURLS Username.
756
757 $text = sprintf( __( 'If <a href="%s">Your Own URL Shortener</a> (YOURLS) shortening service is private, enter a configured username (see YOURLS Token for an alternative to the username / password options).', 'wpsso' ), 'https://yourls.org/' );
758
759 break;
760
761 case 'tooltip-plugin_yourls_password': // YOURLS Password.
762
763 $text = sprintf( __( 'If <a href="%s">Your Own URL Shortener</a> (YOURLS) shortening service is private, enter a configured user password (see YOURLS Token for an alternative to the username / password options).', 'wpsso' ), 'https://yourls.org/' );
764
765 break;
766
767 case 'tooltip-plugin_yourls_token': // YOURLS Token.
768
769 $text = sprintf( __( 'If <a href="%s">Your Own URL Shortener</a> (YOURLS) shortening service is private, you can use a token string for authentication instead of a username / password combination.', 'wpsso' ), 'https://yourls.org/' );
770
771 break;
772
773 /*
774 * SSO > Advanced Settings > Service APIs > Ratings and Reviews tab.
775 */
776 case 'tooltip-plugin_ratings_reviews_svc': // Ratings and Reviews Service.
777
778 $text = sprintf( __( 'An external service API used to retrieve ratings and reviews for meta tags and Schema markup.', 'wpsso' ), $info[ 'short' ] );
779
780 break;
781
782 case 'tooltip-plugin_ratings_reviews_num_max': // Maximum Number of Reviews.
783
784 $text = __( 'The maximum number of reviews retrieved from the service API.', 'wpsso' );
785
786 break;
787
788 case 'tooltip-plugin_ratings_reviews_months_max': // Maximum Age of Reviews.
789
790 $text = __( 'The maximum age (in months) of reviews retrieved from the service API.', 'wpsso' );
791
792 break;
793
794 case 'tooltip-plugin_ratings_reviews_for': // Get Reviews for Post Types.
795
796 $text = __( 'Get ratings and reviews for the selected post types from the service API.', 'wpsso' );
797
798 break;
799
800 case 'tooltip-plugin_judgeme_shop_domain': // Judge.me Shop Domain.
801 case 'tooltip-plugin_judgeme_shop_token': // Judge.me Shop Token.
802
803 $text = __( 'Your Judge.me shop domain and token are required to retrieve ratings and reviews from the Judge.me service API.', 'wpsso' ) . ' ';
804
805 break;
806
807 case 'tooltip-plugin_shopperapproved_site_id': // Shopper Approved Site ID.
808 case 'tooltip-plugin_shopperapproved_token': // Shopper Approved API Token.
809
810 $text = __( 'Your unique Shopper Approved site ID and API token values are required to retrieve ratings and reviews from the Shopper Approved service API.', 'wpsso' ) . ' ';
811
812 $text .= sprintf( __( '<a href="%s">Login to your Shopper Approved account and go to the API Dashboard</a>, then scroll down to find your Site ID and API Token.', 'wpsso' ), 'https://www.shopperapproved.com/account/setup/api/merchant-api' );
813
814 break;
815
816 case 'tooltip-plugin_stamped_store_hash': // Stamped Store Hash.
817 case 'tooltip-plugin_stamped_key_public': // Stamped API Key Public.
818
819 $text = __( 'Your unique Stamped.io store hash and API public key values are required to retrieve ratings and reviews from the Stamped.io service API.', 'wpsso' ) . ' ';
820
821 break;
822
823 /*
824 * SSO > Advanced Settings > Attributes and Metadata > Product Attributes tab.
825 */
826 case ( 0 === strpos( $msg_key, 'tooltip-plugin_attr_' ) ? true : false ):
827
828 $tp_frags = $this->get_tooltip_fragments( preg_replace( '/^tooltip-plugin_attr_/', '', $msg_key ) );
829 $attr_key = str_replace( 'tooltip-', '', $msg_key );
830 $attr_md_key = WpssoConfig::get_attr_md_index( $attr_key );
831 $is_multi = $attr_md_key ? WpssoConfig::get_md_keys_multi( $attr_md_key ) : false;
832 $def_attr = $this->p->opt->get_defaults( $attr_key );
833
834 if ( ! empty( $tp_frags ) ) { // Just in case.
835
836 $text = sprintf( __( 'The product attribute name allows %s to request a product attribute value from an e-commerce plugin.',
837 'wpsso' ), $this->p_name ) . ' ';
838
839 if ( ! empty( $def_attr ) ) {
840
841 $text .= sprintf( __( 'The default attribute name is "%s".', 'wpsso' ), $def_attr ) . ' ';
842 }
843
844 if ( ! empty( $tp_frags[ 'about' ] ) ) {
845
846 // translators: %1$s is a webpage URL and %2$s is a singular item reference, for example 'a product Google category'.
847 $text .= sprintf( __( '<a href="%1$s">See this webpage for more information about choosing %2$s value</a>.',
848 'wpsso' ), $tp_frags[ 'about' ], $tp_frags[ 'desc' ] ) . ' ';
849 }
850
851 if ( ! empty( $tp_frags[ 'values' ] ) ) {
852
853 $text .= sprintf( __( 'The product attribute value returned by the e-commerce plugin can be an empty string or one of these values (case sensitive): %s', 'wpsso' ), SucomUtil::array_to_list_html( $tp_frags[ 'values' ] ) ) . ' ';
854 }
855
856 if ( ! empty( $is_multi ) ) {
857
858 $text .= sprintf( __( 'Note that the "%s" option supports multiple values.', 'wpsso' ), $tp_frags[ 'label' ] ) . ' ';
859
860 $text .= __( 'The product attribute string will be split using the comma "," character.', 'wpsso' ) . ' ';
861 }
862 }
863
864 break;
865
866 /*
867 * SSO > Advanced Settings > Attributes and Metadata > Custom Fields tab.
868 */
869 case ( 0 === strpos( $msg_key, 'tooltip-plugin_cf_' ) ? true : false ):
870
871 $tp_frags = $this->get_tooltip_fragments( preg_replace( '/^tooltip-plugin_cf_/', '', $msg_key ) ); // Uses a local cache.
872 $cf_key = str_replace( 'tooltip-', '', $msg_key );
873 $cf_md_key = WpssoConfig::get_cf_md_index( $cf_key );
874 $is_multi = $cf_md_key ? WpssoConfig::get_md_keys_multi( $cf_md_key ) : false; // Uses a local cache.
875 $mb_title_transl = _x( $this->p->cf[ 'meta' ][ 'title' ], 'metabox title', 'wpsso' );
876
877 if ( ! empty( $tp_frags ) ) { // Just in case.
878
879 $text = sprintf( __( 'If your theme or another plugin provides a custom field (aka metadata) for %s, you may enter its custom field name here.', 'wpsso' ), $tp_frags[ 'desc' ] ) . ' ';
880
881 // translators: %1$s is the metabox name, %2$s is the option name.
882 $text .= sprintf( __( 'If a custom field matching this name is found, its value will be imported for the %1$s "%2$s" option value.', 'wpsso' ), $mb_title_transl, $tp_frags[ 'label' ] ) . ' ';
883
884 if ( ! empty( $tp_frags[ 'about' ] ) ) {
885
886 // translators: %1$s is a webpage URL and %2$s is a singular item reference, for example 'a product Google category'.
887 $text .= sprintf( __( '<a href="%1$s">See this webpage for more information about choosing %2$s value</a>.',
888 'wpsso' ), $tp_frags[ 'about' ], $tp_frags[ 'desc' ] ) . ' ';
889 }
890
891 if ( ! empty( $tp_frags[ 'values' ] ) ) {
892
893 $text .= sprintf( __( 'The custom field value can be an empty string or one of these values (case sensitive): %s',
894 'wpsso' ), SucomUtil::array_to_list_html( $tp_frags[ 'values' ] ) ) . ' ';
895 }
896
897 if ( ! empty( $is_multi ) ) {
898
899 $text .= sprintf( __( 'Note that the "%s" option supports multiple values.', 'wpsso' ), $tp_frags[ 'label' ] ) . ' ';
900
901 $text .= __( 'If the custom field value is a string, it will be split on the end of line character.', 'wpsso' ) . ' ';
902 }
903 }
904
905 break;
906
907 default:
908
909 $text = apply_filters( 'wpsso_messages_tooltip_plugin', $text, $msg_key, $info );
910
911 break;
912
913 } // End of 'tooltip-plugin' switch.
914
915 return $text;
916 }
917 }
918 }
919