Version Description
Release Date: January 7th, 2020
Welcome to another year of helping you achieve your goals with your site! Today, its time for the first in a long line of releases planned for 2020: Yoast SEO 12.8. In this release, youll find a number of bug fixes and performance enhancements. Find out more about this release in our 12.8 release post!
Bugfixes:
- Fixes a bug where clicking the notification center buttons would result in an incorrect icon and a misplaced focus style for the dismiss and restore buttons.
- Fixes a bug where
create
andupdate
actions would be done twice on multisite environments in combination with MultilingualPress. - Fixes a bug where an empty page title would cause the breadcrumbs schema to set a wrong url.
- Fixes a bug where author archives for authors without post would show up in the search results, even though the "Show archives for authors without posts in search results?" option was enabled.
- Fixes a bug where the styling was missing from admin error notices in WordPress 5.3.
- Fixes a bug where the results of the images alt attribute SEO assessment in the Classic Editor were incorrect when the image did not have an alt attribute but did have a title attribute.
Enhancements:
- Optimizes the options retrieval processes. Props to Alex Bouma for his testing and suggestions.
- Adds the possibility to declare an identifier when integrating with the Schema output.
Other:
- Fixes the documentation in the Schema HowTo file. Props to timvaniersel.
- Fixes the documentation in the Breadcrumbs file. Props to alfiosalanitri.
- Moves the paginated comments notice from the dashboard to WordPress' Site Health screen.
Download this release
Release Info
Developer | Yoast |
Plugin | Yoast SEO |
Version | 12.8 |
Comparing to | |
See all releases |
Code changes from version 12.7.1 to 12.8
- admin/capabilities/class-capability-utils.php +35 -0
- admin/class-admin-asset-manager.php +32 -131
- admin/class-admin-init.php +27 -43
- admin/class-admin.php +6 -1
- admin/class-helpscout.php +8 -8
- admin/class-yoast-form.php +55 -73
- admin/class-yoast-notification-center.php +105 -26
- admin/class-yoast-notification.php +37 -2
- admin/config-ui/class-configuration-page.php +0 -1
- admin/import/class-import-settings.php +3 -0
- admin/links/class-link-watcher.php +5 -0
- admin/metabox/class-metabox.php +8 -4
- admin/statistics/class-statistics-integration.php +5 -0
- admin/taxonomy/class-taxonomy.php +1 -0
- admin/tracking/class-tracking-server-data.php +6 -6
- admin/views/licenses.php +8 -8
- admin/views/sidebar.php +7 -7
- admin/views/tabs/metas/paper-content/general/knowledge-graph.php +3 -2
- admin/views/tabs/social/pinterest.php +1 -1
- admin/views/tabs/social/twitterbox.php +1 -1
- css/dist/admin-global-1271-rtl.min.css +0 -1
- css/dist/admin-global-1271.min.css +0 -1
- css/dist/admin-global-1280-rtl.min.css +1 -0
- css/dist/admin-global-1280.min.css +1 -0
- css/dist/{adminbar-1271-rtl.min.css → adminbar-1280-rtl.min.css} +0 -0
- css/dist/{adminbar-1271.min.css → adminbar-1280.min.css} +0 -0
- css/dist/alerts-1271-rtl.min.css +0 -1
- css/dist/alerts-1271.min.css +0 -1
- css/dist/alerts-1280-rtl.min.css +1 -0
- css/dist/alerts-1280.min.css +1 -0
- css/dist/{dashboard-1271-rtl.min.css → dashboard-1280-rtl.min.css} +0 -0
- css/dist/{dashboard-1271.min.css → dashboard-1280.min.css} +0 -0
- css/dist/{edit-page-1271-rtl.min.css → edit-page-1280-rtl.min.css} +0 -0
- css/dist/{edit-page-1271.min.css → edit-page-1280.min.css} +0 -0
- css/dist/{featured-image-1271-rtl.min.css → featured-image-1280-rtl.min.css} +0 -0
- css/dist/{featured-image-1271.min.css → featured-image-1280.min.css} +0 -0
- css/dist/{filter-explanation-1271-rtl.min.css → filter-explanation-1280-rtl.min.css} +0 -0
- css/dist/{filter-explanation-1271.min.css → filter-explanation-1280.min.css} +0 -0
- css/dist/{inside-editor-1271-rtl.min.css → inside-editor-1280-rtl.min.css} +0 -0
- css/dist/{inside-editor-1271.min.css → inside-editor-1280.min.css} +0 -0
- css/dist/metabox-1271-rtl.min.css +0 -1
- css/dist/metabox-1271.min.css +0 -5
- css/dist/metabox-1280-rtl.min.css +1 -0
- css/dist/metabox-1280.min.css +5 -0
- css/dist/{metabox-primary-category-1271-rtl.min.css → metabox-primary-category-1280-rtl.min.css} +0 -0
- css/dist/{metabox-primary-category-1271.min.css → metabox-primary-category-1280.min.css} +0 -0
- css/dist/search-appearance-1271-rtl.min.css +0 -1
- css/dist/search-appearance-1271.min.css +0 -1
- css/dist/search-appearance-1280-rtl.min.css +1 -0
- css/dist/search-appearance-1280.min.css +1 -0
- css/dist/structured-data-blocks-1271-rtl.min.css +0 -1
- css/dist/structured-data-blocks-1271.min.css +0 -1
- css/dist/structured-data-blocks-1280-rtl.min.css +1 -0
- css/dist/structured-data-blocks-1280.min.css +1 -0
- css/dist/toggle-switch-1271-rtl.min.css +0 -1
- css/dist/toggle-switch-1271.min.css +0 -1
- css/dist/toggle-switch-1280-rtl.min.css +1 -0
- css/dist/toggle-switch-1280.min.css +1 -0
- css/dist/{wpseo-dismissible-1271-rtl.min.css → wpseo-dismissible-1280-rtl.min.css} +1 -1
- css/dist/{wpseo-dismissible-1271.min.css → wpseo-dismissible-1280.min.css} +1 -1
- css/dist/yoast-components-1271-rtl.min.css +0 -1
- css/dist/yoast-components-1271.min.css +0 -1
- css/dist/yoast-components-1280-rtl.min.css +1 -0
- css/dist/yoast-components-1280.min.css +1 -0
- css/dist/yoast-extensions-1271-rtl.min.css +0 -1
- css/dist/yoast-extensions-1271.min.css +0 -1
- css/dist/yoast-extensions-1280-rtl.min.css +1 -0
- css/dist/yoast-extensions-1280.min.css +1 -0
- css/dist/yst_plugin_tools-1271-rtl.min.css +0 -1
- css/dist/yst_plugin_tools-1271.min.css +0 -1
- css/dist/yst_plugin_tools-1280-rtl.min.css +1 -0
- css/dist/yst_plugin_tools-1280.min.css +1 -0
- css/dist/{yst_seo_score-1271-rtl.min.css → yst_seo_score-1280-rtl.min.css} +0 -0
- css/dist/{yst_seo_score-1271.min.css → yst_seo_score-1280.min.css} +0 -0
- deprecated/admin/class-metabox-tab-section.php +3 -3
- deprecated/admin/config-ui/components/class-component-connect-google-search-console.php +2 -2
- deprecated/admin/config-ui/fields/class-field-connect-google-search-console.php +1 -1
- deprecated/admin/google-search-console/class-gsc-category-filters.php +1 -1
- deprecated/admin/google-search-console/class-gsc-config.php +3 -3
- deprecated/admin/google-search-console/class-gsc-count.php +1 -1
- deprecated/admin/google-search-console/class-gsc-issue.php +1 -1
- deprecated/admin/google-search-console/class-gsc-issues.php +1 -1
- deprecated/admin/google-search-console/class-gsc-modal.php +1 -1
- deprecated/admin/google-search-console/class-gsc-service.php +3 -3
- deprecated/admin/google-search-console/class-gsc-settings.php +1 -1
- deprecated/admin/google-search-console/class-gsc-table.php +1 -1
- deprecated/class-metabox-addon-section.php +3 -3
- deprecated/class-recalibration-beta.php +7 -7
- deprecated/class-wpseo-option-internallinks.php +1 -1
- deprecated/class-wpseo-option-permalinks.php +1 -1
- deprecated/class-yoast-form-fieldset.php +8 -8
- deprecated/inc/sitemaps/class-sitemap-timezone.php +52 -0
- frontend/class-breadcrumbs.php +1 -1
- frontend/class-frontend.php +5 -4
- frontend/schema/class-schema-breadcrumb.php +1 -1
- frontend/schema/class-schema-context.php +2 -2
- frontend/schema/class-schema-howto.php +3 -3
- frontend/schema/class-schema.php +8 -5
- inc/class-rewrite.php +0 -1
- inc/class-upgrade.php +12 -0
- inc/class-wpseo-utils.php +4 -7
- inc/date-helper.php +37 -0
- inc/health-check-page-comments.php +54 -0
- inc/health-check.php +12 -14
- inc/options/class-wpseo-option-ms.php +3 -3
- inc/options/class-wpseo-option-social.php +1 -1
- inc/options/class-wpseo-option-titles.php +2 -2
- inc/options/class-wpseo-option.php +19 -18
- inc/options/class-wpseo-options.php +33 -12
- inc/sitemaps/class-author-sitemap-provider.php +21 -5
- inc/sitemaps/class-sitemap-timezone.php +0 -123
- inc/sitemaps/class-sitemaps-renderer.php +6 -6
- inc/sitemaps/class-sitemaps-router.php +0 -1
- inc/sitemaps/class-sitemaps.php +10 -11
- inc/wpseo-non-ajax-functions.php +1 -3
- js/dist/analysis-1271.min.js +0 -14
admin/capabilities/class-capability-utils.php
CHANGED
@@ -25,6 +25,41 @@ class WPSEO_Capability_Utils {
|
|
25 |
return self::has_any( [ 'wpseo_manage_options', $capability ] );
|
26 |
}
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* Checks if the current user has at least one of the supplied capabilities.
|
30 |
*
|
25 |
return self::has_any( [ 'wpseo_manage_options', $capability ] );
|
26 |
}
|
27 |
|
28 |
+
/**
|
29 |
+
* Retrieves the users that have the specified capability.
|
30 |
+
*
|
31 |
+
* @param string $capability The name of the capability.
|
32 |
+
*
|
33 |
+
* @return array The users that have the capability.
|
34 |
+
*/
|
35 |
+
public static function get_applicable_users( $capability ) {
|
36 |
+
$applicable_roles = self::get_applicable_roles( $capability );
|
37 |
+
|
38 |
+
return get_users( [ 'role__in' => $applicable_roles ] );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Retrieves the roles that have the specified capability.
|
43 |
+
*
|
44 |
+
* @param string $capability The name of the capability.
|
45 |
+
*
|
46 |
+
* @return array The names of the roles that have the capability.
|
47 |
+
*/
|
48 |
+
public static function get_applicable_roles( $capability ) {
|
49 |
+
$roles = wp_roles();
|
50 |
+
|
51 |
+
$applicable_roles = [];
|
52 |
+
foreach ( $roles->get_names() as $role_name ) {
|
53 |
+
$role = $roles->get_role( $role_name );
|
54 |
+
// Add role if it has the capability.
|
55 |
+
if ( $role && in_array( $capability, $role['capabilities'], true ) ) {
|
56 |
+
$applicable_roles[] = $role['name'];
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
return $applicable_roles;
|
61 |
+
}
|
62 |
+
|
63 |
/**
|
64 |
* Checks if the current user has at least one of the supplied capabilities.
|
65 |
*
|
admin/class-admin-asset-manager.php
CHANGED
@@ -176,137 +176,6 @@ class WPSEO_Admin_Asset_Manager {
|
|
176 |
return new WPSEO_Admin_Asset_SEO_Location( WPSEO_FILE );
|
177 |
}
|
178 |
|
179 |
-
/**
|
180 |
-
* Registers the WordPress dependencies that exist in 5.0 in case they are not present.
|
181 |
-
*
|
182 |
-
* This function can be removed when WordPress 5.1 has been released, because from 5.0 wp-elements will be
|
183 |
-
* registered earlier, which means we don't have to reregister things.
|
184 |
-
*
|
185 |
-
* @return void
|
186 |
-
*/
|
187 |
-
public function register_wp_assets() {
|
188 |
-
|
189 |
-
global $wp_scripts;
|
190 |
-
|
191 |
-
$script = $wp_scripts->query( 'react' );
|
192 |
-
|
193 |
-
// IE11 needs wp-polyfill to be registered before react.
|
194 |
-
if ( $script && ! in_array( 'wp-polyfill', $script->deps, true ) ) {
|
195 |
-
$script->deps[] = 'wp-polyfill';
|
196 |
-
}
|
197 |
-
|
198 |
-
$flat_version = $this->flatten_version( WPSEO_VERSION );
|
199 |
-
|
200 |
-
wp_register_script(
|
201 |
-
'react',
|
202 |
-
plugins_url( 'js/vendor/react.min.js', WPSEO_FILE ),
|
203 |
-
[],
|
204 |
-
'v16.6.1',
|
205 |
-
true
|
206 |
-
);
|
207 |
-
|
208 |
-
wp_register_script(
|
209 |
-
'react-dom',
|
210 |
-
plugins_url( 'js/vendor/react-dom.min.js', WPSEO_FILE ),
|
211 |
-
[ 'react' ],
|
212 |
-
'v16.6.1',
|
213 |
-
true
|
214 |
-
);
|
215 |
-
|
216 |
-
wp_register_script(
|
217 |
-
'lodash-base',
|
218 |
-
plugins_url( 'js/vendor/lodash.min.js', WPSEO_FILE ),
|
219 |
-
[],
|
220 |
-
'4.17.5',
|
221 |
-
true
|
222 |
-
);
|
223 |
-
|
224 |
-
wp_register_script(
|
225 |
-
'lodash',
|
226 |
-
plugins_url( 'js/vendor/lodash-noconflict.js', WPSEO_FILE ),
|
227 |
-
[ 'lodash-base' ],
|
228 |
-
WPSEO_VERSION,
|
229 |
-
true
|
230 |
-
);
|
231 |
-
|
232 |
-
wp_register_script(
|
233 |
-
'wp-polyfill',
|
234 |
-
plugins_url( 'js/dist/babel-polyfill-' . $flat_version . '.min.js', WPSEO_FILE ),
|
235 |
-
[],
|
236 |
-
WPSEO_VERSION,
|
237 |
-
true
|
238 |
-
);
|
239 |
-
|
240 |
-
wp_register_script(
|
241 |
-
'wp-element',
|
242 |
-
plugins_url( 'js/dist/wp-element-' . $flat_version . '.min.js', WPSEO_FILE ),
|
243 |
-
[ 'lodash', 'wp-polyfill', 'react', 'react-dom' ],
|
244 |
-
WPSEO_VERSION,
|
245 |
-
true
|
246 |
-
);
|
247 |
-
|
248 |
-
wp_register_script(
|
249 |
-
'wp-api-fetch',
|
250 |
-
plugins_url( 'js/dist/wp-apiFetch-' . $flat_version . '.min.js', WPSEO_FILE ),
|
251 |
-
[ 'wp-i18n', 'wp-polyfill' ],
|
252 |
-
WPSEO_VERSION,
|
253 |
-
true
|
254 |
-
);
|
255 |
-
|
256 |
-
wp_register_script(
|
257 |
-
'wp-components',
|
258 |
-
plugins_url( 'js/dist/wp-components-' . $flat_version . '.min.js', WPSEO_FILE ),
|
259 |
-
[ 'lodash', 'wp-api-fetch', 'wp-i18n', 'wp-polyfill', 'wp-compose' ],
|
260 |
-
WPSEO_VERSION,
|
261 |
-
true
|
262 |
-
);
|
263 |
-
|
264 |
-
wp_register_script(
|
265 |
-
'wp-data',
|
266 |
-
plugins_url( 'js/dist/wp-data-' . $flat_version . '.min.js', WPSEO_FILE ),
|
267 |
-
[ 'lodash', 'wp-element', 'wp-polyfill', 'wp-compose' ],
|
268 |
-
WPSEO_VERSION,
|
269 |
-
true
|
270 |
-
);
|
271 |
-
|
272 |
-
wp_register_script(
|
273 |
-
'wp-i18n',
|
274 |
-
plugins_url( 'js/dist/wp-i18n-' . $flat_version . '.min.js', WPSEO_FILE ),
|
275 |
-
[ 'wp-polyfill' ],
|
276 |
-
WPSEO_VERSION,
|
277 |
-
true
|
278 |
-
);
|
279 |
-
|
280 |
-
wp_register_script(
|
281 |
-
'wp-rich-text',
|
282 |
-
plugins_url( 'js/dist/wp-rich-text-' . $flat_version . '.min.js', WPSEO_FILE ),
|
283 |
-
[ 'lodash', 'wp-polyfill', 'wp-data' ],
|
284 |
-
WPSEO_VERSION,
|
285 |
-
true
|
286 |
-
);
|
287 |
-
|
288 |
-
wp_register_script(
|
289 |
-
'wp-compose',
|
290 |
-
plugins_url( 'js/dist/wp-compose-' . $flat_version . '.min.js', WPSEO_FILE ),
|
291 |
-
[ 'lodash', 'wp-polyfill' ],
|
292 |
-
WPSEO_VERSION,
|
293 |
-
true
|
294 |
-
);
|
295 |
-
|
296 |
-
/*
|
297 |
-
* wp-annotations only exists from Gutenberg 4.3 and onwards, so we register a no-op in earlier versions.
|
298 |
-
* The no-op achieves that our scripts that depend on this are actually loaded. Because WordPress doesn't
|
299 |
-
* load a script if any of the dependencies are missing.
|
300 |
-
*
|
301 |
-
* @phpcs:disable WordPress.WP.EnqueuedResourceParameters -- The no-op does not require these settings.
|
302 |
-
*/
|
303 |
-
wp_register_script(
|
304 |
-
'wp-annotations',
|
305 |
-
null
|
306 |
-
);
|
307 |
-
// phpcs:enable -- End of disable.
|
308 |
-
}
|
309 |
-
|
310 |
/**
|
311 |
* Returns the scripts that need to be registered.
|
312 |
*
|
@@ -335,6 +204,7 @@ class WPSEO_Admin_Asset_Manager {
|
|
335 |
'src' => 'commons-' . $flat_version,
|
336 |
'in_footer' => false,
|
337 |
'deps' => [
|
|
|
338 |
'wp-polyfill',
|
339 |
],
|
340 |
],
|
@@ -452,6 +322,8 @@ class WPSEO_Admin_Asset_Manager {
|
|
452 |
'wp-api-fetch',
|
453 |
'wp-annotations',
|
454 |
'wp-compose',
|
|
|
|
|
455 |
self::PREFIX . 'replacevar-plugin',
|
456 |
self::PREFIX . 'shortcode-plugin',
|
457 |
self::PREFIX . 'analysis',
|
@@ -469,6 +341,8 @@ class WPSEO_Admin_Asset_Manager {
|
|
469 |
'wp-data',
|
470 |
'wp-api-fetch',
|
471 |
'wp-compose',
|
|
|
|
|
472 |
self::PREFIX . 'replacevar-plugin',
|
473 |
self::PREFIX . 'analysis',
|
474 |
self::PREFIX . 'components',
|
@@ -499,6 +373,7 @@ class WPSEO_Admin_Asset_Manager {
|
|
499 |
'jquery',
|
500 |
'jquery-ui-core',
|
501 |
'jquery-ui-progressbar',
|
|
|
502 |
self::PREFIX . 'analysis',
|
503 |
self::PREFIX . 'commons',
|
504 |
],
|
@@ -508,11 +383,13 @@ class WPSEO_Admin_Asset_Manager {
|
|
508 |
'src' => 'wp-seo-metabox-category-' . $flat_version,
|
509 |
'deps' => [
|
510 |
'jquery',
|
|
|
511 |
'wp-util',
|
512 |
'wp-element',
|
513 |
'wp-i18n',
|
514 |
'wp-components',
|
515 |
'wp-data',
|
|
|
516 |
self::PREFIX . 'analysis',
|
517 |
self::PREFIX . 'components',
|
518 |
self::PREFIX . 'commons',
|
@@ -617,6 +494,8 @@ class WPSEO_Admin_Asset_Manager {
|
|
617 |
'name' => 'components',
|
618 |
'src' => 'components-' . $flat_version,
|
619 |
'deps' => [
|
|
|
|
|
620 |
self::PREFIX . 'analysis',
|
621 |
self::PREFIX . 'styled-components',
|
622 |
self::PREFIX . 'commons',
|
@@ -629,6 +508,7 @@ class WPSEO_Admin_Asset_Manager {
|
|
629 |
'wp-blocks',
|
630 |
'wp-i18n',
|
631 |
'wp-element',
|
|
|
632 |
self::PREFIX . 'styled-components',
|
633 |
self::PREFIX . 'commons',
|
634 |
],
|
@@ -640,6 +520,14 @@ class WPSEO_Admin_Asset_Manager {
|
|
640 |
'wp-element',
|
641 |
],
|
642 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
643 |
[
|
644 |
'name' => 'help-scout-beacon',
|
645 |
'src' => 'help-scout-beacon-' . $flat_version,
|
@@ -767,4 +655,17 @@ class WPSEO_Admin_Asset_Manager {
|
|
767 |
|
768 |
return $this->asset_location->get_url( $asset, $type );
|
769 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
770 |
}
|
176 |
return new WPSEO_Admin_Asset_SEO_Location( WPSEO_FILE );
|
177 |
}
|
178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
/**
|
180 |
* Returns the scripts that need to be registered.
|
181 |
*
|
204 |
'src' => 'commons-' . $flat_version,
|
205 |
'in_footer' => false,
|
206 |
'deps' => [
|
207 |
+
'lodash',
|
208 |
'wp-polyfill',
|
209 |
],
|
210 |
],
|
322 |
'wp-api-fetch',
|
323 |
'wp-annotations',
|
324 |
'wp-compose',
|
325 |
+
'wp-is-shallow-equal',
|
326 |
+
self::PREFIX . 'redux',
|
327 |
self::PREFIX . 'replacevar-plugin',
|
328 |
self::PREFIX . 'shortcode-plugin',
|
329 |
self::PREFIX . 'analysis',
|
341 |
'wp-data',
|
342 |
'wp-api-fetch',
|
343 |
'wp-compose',
|
344 |
+
'wp-is-shallow-equal',
|
345 |
+
self::PREFIX . 'redux',
|
346 |
self::PREFIX . 'replacevar-plugin',
|
347 |
self::PREFIX . 'analysis',
|
348 |
self::PREFIX . 'components',
|
373 |
'jquery',
|
374 |
'jquery-ui-core',
|
375 |
'jquery-ui-progressbar',
|
376 |
+
self::PREFIX . 'jed',
|
377 |
self::PREFIX . 'analysis',
|
378 |
self::PREFIX . 'commons',
|
379 |
],
|
383 |
'src' => 'wp-seo-metabox-category-' . $flat_version,
|
384 |
'deps' => [
|
385 |
'jquery',
|
386 |
+
'wp-url',
|
387 |
'wp-util',
|
388 |
'wp-element',
|
389 |
'wp-i18n',
|
390 |
'wp-components',
|
391 |
'wp-data',
|
392 |
+
'wp-url',
|
393 |
self::PREFIX . 'analysis',
|
394 |
self::PREFIX . 'components',
|
395 |
self::PREFIX . 'commons',
|
494 |
'name' => 'components',
|
495 |
'src' => 'components-' . $flat_version,
|
496 |
'deps' => [
|
497 |
+
self::PREFIX . 'jed',
|
498 |
+
self::PREFIX . 'redux',
|
499 |
self::PREFIX . 'analysis',
|
500 |
self::PREFIX . 'styled-components',
|
501 |
self::PREFIX . 'commons',
|
508 |
'wp-blocks',
|
509 |
'wp-i18n',
|
510 |
'wp-element',
|
511 |
+
'wp-is-shallow-equal',
|
512 |
self::PREFIX . 'styled-components',
|
513 |
self::PREFIX . 'commons',
|
514 |
],
|
520 |
'wp-element',
|
521 |
],
|
522 |
],
|
523 |
+
[
|
524 |
+
'name' => 'redux',
|
525 |
+
'src' => 'redux-' . $flat_version,
|
526 |
+
],
|
527 |
+
[
|
528 |
+
'name' => 'jed',
|
529 |
+
'src' => 'jed-' . $flat_version,
|
530 |
+
],
|
531 |
[
|
532 |
'name' => 'help-scout-beacon',
|
533 |
'src' => 'help-scout-beacon-' . $flat_version,
|
655 |
|
656 |
return $this->asset_location->get_url( $asset, $type );
|
657 |
}
|
658 |
+
|
659 |
+
/* ********************* DEPRECATED METHODS ********************* */
|
660 |
+
|
661 |
+
/**
|
662 |
+
* This function is needed for backwards compatibility with Local SEO 12.5.
|
663 |
+
*
|
664 |
+
* @deprecated 12.8
|
665 |
+
* @codeCoverageIgnore
|
666 |
+
*
|
667 |
+
* @return void
|
668 |
+
*/
|
669 |
+
public function register_wp_assets() {
|
670 |
+
}
|
671 |
}
|
admin/class-admin-init.php
CHANGED
@@ -38,7 +38,6 @@ class WPSEO_Admin_Init {
|
|
38 |
add_action( 'admin_init', [ $this, 'tagline_notice' ], 15 );
|
39 |
add_action( 'admin_init', [ $this, 'blog_public_notice' ], 15 );
|
40 |
add_action( 'admin_init', [ $this, 'permalink_notice' ], 15 );
|
41 |
-
add_action( 'admin_init', [ $this, 'page_comments_notice' ], 15 );
|
42 |
add_action( 'admin_init', [ $this, 'yoast_plugin_suggestions_notification' ], 15 );
|
43 |
add_action( 'admin_init', [ $this, 'recalculate_notice' ], 15 );
|
44 |
add_action( 'admin_init', [ $this, 'unsupported_php_notice' ], 15 );
|
@@ -47,7 +46,9 @@ class WPSEO_Admin_Init {
|
|
47 |
add_action( 'admin_init', [ 'WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts' ] );
|
48 |
add_action( 'admin_init', [ $this, 'handle_notifications' ], 15 );
|
49 |
add_action( 'admin_notices', [ $this, 'permalink_settings_notice' ] );
|
50 |
-
|
|
|
|
|
51 |
|
52 |
$listeners = [];
|
53 |
$listeners[] = new WPSEO_Post_Type_Archive_Notification_Handler();
|
@@ -155,38 +156,6 @@ class WPSEO_Admin_Init {
|
|
155 |
}
|
156 |
}
|
157 |
|
158 |
-
/**
|
159 |
-
* Display notice to disable comment pagination.
|
160 |
-
*/
|
161 |
-
public function page_comments_notice() {
|
162 |
-
|
163 |
-
$info_message = __( 'Paging comments is enabled, this is not needed in 999 out of 1000 cases, we recommend to disable it.', 'wordpress-seo' );
|
164 |
-
$info_message .= '<br/>';
|
165 |
-
|
166 |
-
$info_message .= sprintf(
|
167 |
-
/* translators: %1$s resolves to the opening tag of the link to the comment setting page, %2$s resolves to the closing tag of the link */
|
168 |
-
__( 'To fix this uncheck the box in front of the "Break comments into pages..." on the %1$sComment settings page%2$s.', 'wordpress-seo' ),
|
169 |
-
'<a href="' . esc_url( admin_url( 'options-discussion.php' ) ) . '">',
|
170 |
-
'</a>'
|
171 |
-
);
|
172 |
-
|
173 |
-
$notification_options = [
|
174 |
-
'type' => Yoast_Notification::WARNING,
|
175 |
-
'id' => 'wpseo-dismiss-page_comments-notice',
|
176 |
-
'capabilities' => 'wpseo_manage_options',
|
177 |
-
];
|
178 |
-
|
179 |
-
$tagline_notification = new Yoast_Notification( $info_message, $notification_options );
|
180 |
-
|
181 |
-
$notification_center = Yoast_Notification_Center::get();
|
182 |
-
if ( $this->has_page_comments() ) {
|
183 |
-
$notification_center->add_notification( $tagline_notification );
|
184 |
-
}
|
185 |
-
else {
|
186 |
-
$notification_center->remove_notification( $tagline_notification );
|
187 |
-
}
|
188 |
-
}
|
189 |
-
|
190 |
/**
|
191 |
* Returns whether or not the site has the default tagline.
|
192 |
*
|
@@ -235,15 +204,6 @@ class WPSEO_Admin_Init {
|
|
235 |
}
|
236 |
}
|
237 |
|
238 |
-
/**
|
239 |
-
* Are page comments enabled.
|
240 |
-
*
|
241 |
-
* @return bool
|
242 |
-
*/
|
243 |
-
public function has_page_comments() {
|
244 |
-
return '1' === get_option( 'page_comments' );
|
245 |
-
}
|
246 |
-
|
247 |
/**
|
248 |
* Shows a notice to the user if they have Google Analytics for WordPress 5.4.3 installed because it causes an error
|
249 |
* on the google search console page.
|
@@ -637,4 +597,28 @@ class WPSEO_Admin_Init {
|
|
637 |
public function wordpress_upgrade_notice() {
|
638 |
_deprecated_function( __METHOD__, 'WPSEO 12.5' );
|
639 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
}
|
38 |
add_action( 'admin_init', [ $this, 'tagline_notice' ], 15 );
|
39 |
add_action( 'admin_init', [ $this, 'blog_public_notice' ], 15 );
|
40 |
add_action( 'admin_init', [ $this, 'permalink_notice' ], 15 );
|
|
|
41 |
add_action( 'admin_init', [ $this, 'yoast_plugin_suggestions_notification' ], 15 );
|
42 |
add_action( 'admin_init', [ $this, 'recalculate_notice' ], 15 );
|
43 |
add_action( 'admin_init', [ $this, 'unsupported_php_notice' ], 15 );
|
46 |
add_action( 'admin_init', [ 'WPSEO_Plugin_Conflict', 'hook_check_for_plugin_conflicts' ] );
|
47 |
add_action( 'admin_init', [ $this, 'handle_notifications' ], 15 );
|
48 |
add_action( 'admin_notices', [ $this, 'permalink_settings_notice' ] );
|
49 |
+
|
50 |
+
$page_comments = new WPSEO_Health_Check_Page_Comments();
|
51 |
+
$page_comments->register_test();
|
52 |
|
53 |
$listeners = [];
|
54 |
$listeners[] = new WPSEO_Post_Type_Archive_Notification_Handler();
|
156 |
}
|
157 |
}
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
/**
|
160 |
* Returns whether or not the site has the default tagline.
|
161 |
*
|
204 |
}
|
205 |
}
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
/**
|
208 |
* Shows a notice to the user if they have Google Analytics for WordPress 5.4.3 installed because it causes an error
|
209 |
* on the google search console page.
|
597 |
public function wordpress_upgrade_notice() {
|
598 |
_deprecated_function( __METHOD__, 'WPSEO 12.5' );
|
599 |
}
|
600 |
+
|
601 |
+
/**
|
602 |
+
* Display notice to disable comment pagination.
|
603 |
+
*
|
604 |
+
* @deprecated 12.8
|
605 |
+
* @codeCoverageIgnore
|
606 |
+
*/
|
607 |
+
public function page_comments_notice() {
|
608 |
+
_deprecated_function( __METHOD__, 'WPSEO 12.8' );
|
609 |
+
}
|
610 |
+
|
611 |
+
/**
|
612 |
+
* Are page comments enabled.
|
613 |
+
*
|
614 |
+
* @deprecated 12.8
|
615 |
+
* @codeCoverageIgnore
|
616 |
+
*
|
617 |
+
* @return bool
|
618 |
+
*/
|
619 |
+
public function has_page_comments() {
|
620 |
+
_deprecated_function( __METHOD__, 'WPSEO 12.8' );
|
621 |
+
|
622 |
+
return '1' === get_option( 'page_comments' );
|
623 |
+
}
|
624 |
}
|
admin/class-admin.php
CHANGED
@@ -130,6 +130,11 @@ class WPSEO_Admin {
|
|
130 |
* Schedules a rewrite flush to happen at shutdown.
|
131 |
*/
|
132 |
public function schedule_rewrite_flush() {
|
|
|
|
|
|
|
|
|
|
|
133 |
add_action( 'shutdown', 'flush_rewrite_rules' );
|
134 |
}
|
135 |
|
@@ -303,8 +308,8 @@ class WPSEO_Admin {
|
|
303 |
*/
|
304 |
private function localize_admin_global_script() {
|
305 |
return [
|
306 |
-
/* translators: %1$s: '%%term_title%%' variable used in titles and meta's template that's not compatible with the given template, %2$s: expands to 'HelpScout beacon' */
|
307 |
'variable_warning' => sprintf(
|
|
|
308 |
__( 'Warning: the variable %1$s cannot be used in this template. See the %2$s for more info.', 'wordpress-seo' ),
|
309 |
'<code>%s</code>',
|
310 |
'HelpScout beacon'
|
130 |
* Schedules a rewrite flush to happen at shutdown.
|
131 |
*/
|
132 |
public function schedule_rewrite_flush() {
|
133 |
+
// Bail if this is a multisite installation and the site has been switched.
|
134 |
+
if ( is_multisite() && ms_is_switched() ) {
|
135 |
+
return;
|
136 |
+
}
|
137 |
+
|
138 |
add_action( 'shutdown', 'flush_rewrite_rules' );
|
139 |
}
|
140 |
|
308 |
*/
|
309 |
private function localize_admin_global_script() {
|
310 |
return [
|
|
|
311 |
'variable_warning' => sprintf(
|
312 |
+
/* translators: %1$s: '%%term_title%%' variable used in titles and meta's template that's not compatible with the given template, %2$s: expands to 'HelpScout beacon' */
|
313 |
__( 'Warning: the variable %1$s cannot be used in this template. See the %2$s for more info.', 'wordpress-seo' ),
|
314 |
'<code>%s</code>',
|
315 |
'HelpScout beacon'
|
admin/class-helpscout.php
CHANGED
@@ -81,7 +81,7 @@ class WPSEO_HelpScout implements WPSEO_WordPress_Integration {
|
|
81 |
'<script type="text/javascript">window.%1$s(\'%2$s\', %3$s)</script>',
|
82 |
( $this->ask_consent ) ? 'wpseoHelpScoutBeaconConsent' : 'wpseoHelpScoutBeacon',
|
83 |
esc_html( $this->beacon_id ),
|
84 |
-
|
85 |
);
|
86 |
}
|
87 |
|
@@ -117,11 +117,11 @@ class WPSEO_HelpScout implements WPSEO_WordPress_Integration {
|
|
117 |
$current_user = wp_get_current_user();
|
118 |
|
119 |
$data = [
|
120 |
-
'name'
|
121 |
-
'email'
|
122 |
-
'WordPress Version'
|
123 |
-
'Server'
|
124 |
-
'<a href="' . admin_url( 'themes.php' ) . '">Theme</a>'
|
125 |
'<a href="' . admin_url( 'plugins.php' ) . '">Plugins</a>' => $this->get_active_plugins(),
|
126 |
];
|
127 |
|
@@ -138,7 +138,7 @@ class WPSEO_HelpScout implements WPSEO_WordPress_Integration {
|
|
138 |
}
|
139 |
}
|
140 |
|
141 |
-
return
|
142 |
}
|
143 |
|
144 |
/**
|
@@ -186,7 +186,7 @@ class WPSEO_HelpScout implements WPSEO_WordPress_Integration {
|
|
186 |
return '';
|
187 |
}
|
188 |
|
189 |
-
$product_info
|
190 |
$product_info .= '<tr><td>Version</td><td>' . $plugin->product->version . '</td></tr>';
|
191 |
$product_info .= '<tr><td>Expiration date</td><td>' . $plugin->expiry_date . '</td></tr>';
|
192 |
$product_info .= '</table>';
|
81 |
'<script type="text/javascript">window.%1$s(\'%2$s\', %3$s)</script>',
|
82 |
( $this->ask_consent ) ? 'wpseoHelpScoutBeaconConsent' : 'wpseoHelpScoutBeacon',
|
83 |
esc_html( $this->beacon_id ),
|
84 |
+
WPSEO_Utils::format_json_encode( $this->get_session_data() )
|
85 |
);
|
86 |
}
|
87 |
|
117 |
$current_user = wp_get_current_user();
|
118 |
|
119 |
$data = [
|
120 |
+
'name' => trim( $current_user->user_firstname . ' ' . $current_user->user_lastname ),
|
121 |
+
'email' => $current_user->user_email,
|
122 |
+
'WordPress Version' => $this->get_wordpress_version(),
|
123 |
+
'Server' => $this->get_server_info(),
|
124 |
+
'<a href="' . admin_url( 'themes.php' ) . '">Theme</a>' => $this->get_theme_info(),
|
125 |
'<a href="' . admin_url( 'plugins.php' ) . '">Plugins</a>' => $this->get_active_plugins(),
|
126 |
];
|
127 |
|
138 |
}
|
139 |
}
|
140 |
|
141 |
+
return WPSEO_Utils::format_json_encode( $data );
|
142 |
}
|
143 |
|
144 |
/**
|
186 |
return '';
|
187 |
}
|
188 |
|
189 |
+
$product_info = '<table>';
|
190 |
$product_info .= '<tr><td>Version</td><td>' . $plugin->product->version . '</td></tr>';
|
191 |
$product_info .= '<tr><td>Expiration date</td><td>' . $plugin->expiry_date . '</td></tr>';
|
192 |
$product_info .= '</table>';
|
admin/class-yoast-form.php
CHANGED
@@ -28,14 +28,6 @@ class Yoast_Form {
|
|
28 |
*/
|
29 |
public $option_name;
|
30 |
|
31 |
-
/**
|
32 |
-
* Option values for the WPSEO_Options.
|
33 |
-
*
|
34 |
-
* @var array
|
35 |
-
* @since 2.0
|
36 |
-
*/
|
37 |
-
public $options = [];
|
38 |
-
|
39 |
/**
|
40 |
* Option instance.
|
41 |
*
|
@@ -117,32 +109,12 @@ class Yoast_Form {
|
|
117 |
public function set_option( $option_name ) {
|
118 |
$this->option_name = $option_name;
|
119 |
|
120 |
-
$this->options = WPSEO_Options::get_option( $option_name );
|
121 |
-
if ( $this->options === null ) {
|
122 |
-
$this->options = (array) get_option( $option_name, [] );
|
123 |
-
}
|
124 |
-
|
125 |
$this->option_instance = WPSEO_Options::get_option_instance( $option_name );
|
126 |
if ( ! $this->option_instance ) {
|
127 |
$this->option_instance = null;
|
128 |
}
|
129 |
}
|
130 |
|
131 |
-
/**
|
132 |
-
* Sets a value in the options.
|
133 |
-
*
|
134 |
-
* @since 5.4
|
135 |
-
*
|
136 |
-
* @param string $key The key of the option to set.
|
137 |
-
* @param mixed $value The value to set the option to.
|
138 |
-
* @param bool $overwrite Whether to overwrite existing options. Default is false.
|
139 |
-
*/
|
140 |
-
public function set_options_value( $key, $value, $overwrite = false ) {
|
141 |
-
if ( $overwrite || ! array_key_exists( $key, $this->options ) ) {
|
142 |
-
$this->options[ $key ] = $value;
|
143 |
-
}
|
144 |
-
}
|
145 |
-
|
146 |
/**
|
147 |
* Generates the footer for admin pages.
|
148 |
*
|
@@ -269,12 +241,10 @@ class Yoast_Form {
|
|
269 |
* @param bool $label_left Whether the label should be left (true) or right (false).
|
270 |
*/
|
271 |
public function checkbox( $var, $label, $label_left = false ) {
|
272 |
-
|
273 |
-
$this->options[ $var ] = false;
|
274 |
-
}
|
275 |
|
276 |
-
if ( $
|
277 |
-
$
|
278 |
}
|
279 |
|
280 |
$class = '';
|
@@ -285,7 +255,7 @@ class Yoast_Form {
|
|
285 |
$class = 'double';
|
286 |
}
|
287 |
|
288 |
-
echo '<input class="checkbox ', esc_attr( $class ), '" type="checkbox" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $
|
289 |
|
290 |
if ( ! empty( $label ) ) {
|
291 |
$this->label( $label, [ 'for' => $var ] );
|
@@ -294,6 +264,35 @@ class Yoast_Form {
|
|
294 |
echo '<br class="clear" />';
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
/**
|
298 |
* Create a light switch input field using a single checkbox.
|
299 |
*
|
@@ -307,13 +306,10 @@ class Yoast_Form {
|
|
307 |
* @param bool $strong Whether the visual label is displayed in strong text. Default is false.
|
308 |
*/
|
309 |
public function light_switch( $var, $label, $buttons = [], $reverse = true, $help = '', $strong = false ) {
|
|
|
310 |
|
311 |
-
if (
|
312 |
-
$
|
313 |
-
}
|
314 |
-
|
315 |
-
if ( $this->options[ $var ] === true ) {
|
316 |
-
$this->options[ $var ] = 'on';
|
317 |
}
|
318 |
|
319 |
$class = 'switch-light switch-candy switch-yoast-seo';
|
@@ -328,9 +324,6 @@ class Yoast_Form {
|
|
328 |
|
329 |
list( $off_button, $on_button ) = $buttons;
|
330 |
|
331 |
-
$help_class = '';
|
332 |
-
$screen_reader_text_class = '';
|
333 |
-
|
334 |
$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';
|
335 |
|
336 |
$strong_class = ( $strong ) ? ' switch-light-visual-label__strong' : '';
|
@@ -338,7 +331,7 @@ class Yoast_Form {
|
|
338 |
echo '<div class="switch-container', $help_class, '">',
|
339 |
'<span class="switch-light-visual-label' . $strong_class . '" id="', esc_attr( $var . '-label' ), '">', esc_html( $label ), '</span>' . $help,
|
340 |
'<label class="', $class, '"><b class="switch-yoast-seo-jaws-a11y"> </b>',
|
341 |
-
'<input type="checkbox" aria-labelledby="', esc_attr( $var . '-label' ), '" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $
|
342 |
'<span aria-hidden="true">
|
343 |
<span>', esc_html( $off_button ) ,'</span>
|
344 |
<span>', esc_html( $on_button ) ,'</span>
|
@@ -370,7 +363,7 @@ class Yoast_Form {
|
|
370 |
'class' => '',
|
371 |
];
|
372 |
$attr = wp_parse_args( $attr, $defaults );
|
373 |
-
$val =
|
374 |
$attributes = isset( $attr['autocomplete'] ) ? ' autocomplete="' . esc_attr( $attr['autocomplete'] ) . '"' : '';
|
375 |
if ( isset( $attr['disabled'] ) && $attr['disabled'] ) {
|
376 |
$attributes .= ' disabled';
|
@@ -416,7 +409,7 @@ class Yoast_Form {
|
|
416 |
'class' => '',
|
417 |
];
|
418 |
$attr = wp_parse_args( $attr, $defaults );
|
419 |
-
$val = (
|
420 |
|
421 |
$this->label(
|
422 |
$label,
|
@@ -437,7 +430,7 @@ class Yoast_Form {
|
|
437 |
* @param string $id The ID of the element.
|
438 |
*/
|
439 |
public function hidden( $var, $id = '' ) {
|
440 |
-
$val = (
|
441 |
if ( is_bool( $val ) ) {
|
442 |
$val = ( $val === true ) ? 'true' : 'false';
|
443 |
}
|
@@ -478,7 +471,7 @@ class Yoast_Form {
|
|
478 |
}
|
479 |
|
480 |
$select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $var ) . ']';
|
481 |
-
$active_option = (
|
482 |
$wrapper_start_tag = '';
|
483 |
$wrapper_end_tag = '';
|
484 |
|
@@ -511,9 +504,9 @@ class Yoast_Form {
|
|
511 |
* @param string $label The label to show for the variable.
|
512 |
*/
|
513 |
public function file_upload( $var, $label ) {
|
514 |
-
$val = '';
|
515 |
-
if (
|
516 |
-
$val = $
|
517 |
}
|
518 |
|
519 |
$var_esc = esc_attr( $var );
|
@@ -527,7 +520,7 @@ class Yoast_Form {
|
|
527 |
echo '<input type="file" value="' . esc_attr( $val ) . '" class="textinput" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" id="' . $var_esc . '"', disabled( $this->is_control_disabled( $var ), true, false ), '/>';
|
528 |
|
529 |
// Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API.
|
530 |
-
if ( ! empty( $
|
531 |
$this->hidden( 'file', $this->option_name . '_file' );
|
532 |
$this->hidden( 'url', $this->option_name . '_url' );
|
533 |
$this->hidden( 'type', $this->option_name . '_type' );
|
@@ -544,15 +537,8 @@ class Yoast_Form {
|
|
544 |
* @param string $label Label message.
|
545 |
*/
|
546 |
public function media_input( $var, $label ) {
|
547 |
-
$val
|
548 |
-
|
549 |
-
$val = $this->options[ $var ];
|
550 |
-
}
|
551 |
-
|
552 |
-
$id_value = '';
|
553 |
-
if ( isset( $this->options[ $var . '_id' ] ) ) {
|
554 |
-
$id_value = $this->options[ $var . '_id' ];
|
555 |
-
}
|
556 |
|
557 |
$var_esc = esc_attr( $var );
|
558 |
|
@@ -613,9 +599,7 @@ class Yoast_Form {
|
|
613 |
if ( ! is_array( $values ) || $values === [] ) {
|
614 |
return;
|
615 |
}
|
616 |
-
|
617 |
-
$this->options[ $var ] = false;
|
618 |
-
}
|
619 |
|
620 |
$var_esc = esc_attr( $var );
|
621 |
|
@@ -643,7 +627,7 @@ class Yoast_Form {
|
|
643 |
}
|
644 |
|
645 |
$key_esc = esc_attr( $key );
|
646 |
-
echo '<input type="radio" class="radio" id="' . $var_esc . '-' . $key_esc . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $
|
647 |
$this->label(
|
648 |
$label,
|
649 |
[
|
@@ -672,14 +656,12 @@ class Yoast_Form {
|
|
672 |
if ( ! is_array( $values ) || $values === [] ) {
|
673 |
return;
|
674 |
}
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
if ( $this->options[ $var ] === true ) {
|
679 |
-
$this->options[ $var ] = 'on';
|
680 |
}
|
681 |
-
if ( $
|
682 |
-
$
|
683 |
}
|
684 |
|
685 |
$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';
|
@@ -703,7 +685,7 @@ class Yoast_Form {
|
|
703 |
|
704 |
$key_esc = esc_attr( $key );
|
705 |
$for = $var_esc . '-' . $key_esc;
|
706 |
-
echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $
|
707 |
'<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html,'</label>';
|
708 |
}
|
709 |
|
28 |
*/
|
29 |
public $option_name;
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
/**
|
32 |
* Option instance.
|
33 |
*
|
109 |
public function set_option( $option_name ) {
|
110 |
$this->option_name = $option_name;
|
111 |
|
|
|
|
|
|
|
|
|
|
|
112 |
$this->option_instance = WPSEO_Options::get_option_instance( $option_name );
|
113 |
if ( ! $this->option_instance ) {
|
114 |
$this->option_instance = null;
|
115 |
}
|
116 |
}
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
/**
|
119 |
* Generates the footer for admin pages.
|
120 |
*
|
241 |
* @param bool $label_left Whether the label should be left (true) or right (false).
|
242 |
*/
|
243 |
public function checkbox( $var, $label, $label_left = false ) {
|
244 |
+
$val = WPSEO_Options::get( $var, false );
|
|
|
|
|
245 |
|
246 |
+
if ( $val === true ) {
|
247 |
+
$val = 'on';
|
248 |
}
|
249 |
|
250 |
$class = '';
|
255 |
$class = 'double';
|
256 |
}
|
257 |
|
258 |
+
echo '<input class="checkbox ', esc_attr( $class ), '" type="checkbox" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $val, 'on', false ), disabled( $this->is_control_disabled( $var ), true, false ), '/>';
|
259 |
|
260 |
if ( ! empty( $label ) ) {
|
261 |
$this->label( $label, [ 'for' => $var ] );
|
264 |
echo '<br class="clear" />';
|
265 |
}
|
266 |
|
267 |
+
/**
|
268 |
+
* Creates a Checkbox input field list.
|
269 |
+
*
|
270 |
+
* @since 12.8
|
271 |
+
*
|
272 |
+
* @param string $variable The variables within the option to create the checkbox list for.
|
273 |
+
* @param string $labels The labels to show for the variable.
|
274 |
+
*/
|
275 |
+
public function checkbox_list( $variable, $labels ) {
|
276 |
+
$values = WPSEO_Options::get( $variable, [] );
|
277 |
+
|
278 |
+
foreach ( $labels as $name => $label ) {
|
279 |
+
printf(
|
280 |
+
'<input class="checkbox double" id="%1$s" type="checkbox" name="%2$s" %3$s value="%4$s"/>',
|
281 |
+
esc_attr( $variable . '-' . $name ),
|
282 |
+
esc_attr( $this->option_name ) . '[' . esc_attr( $variable ) . '][' . $name . ']',
|
283 |
+
checked( ! empty( $values[ $name ] ), true, false ),
|
284 |
+
esc_attr( $name )
|
285 |
+
);
|
286 |
+
|
287 |
+
printf(
|
288 |
+
'<label class="checkbox" for="%1$s">%2$s</label>',
|
289 |
+
esc_attr( $variable . '-' . $name ), // #1
|
290 |
+
esc_html( $label )
|
291 |
+
);
|
292 |
+
echo '<br class="clear">';
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
/**
|
297 |
* Create a light switch input field using a single checkbox.
|
298 |
*
|
306 |
* @param bool $strong Whether the visual label is displayed in strong text. Default is false.
|
307 |
*/
|
308 |
public function light_switch( $var, $label, $buttons = [], $reverse = true, $help = '', $strong = false ) {
|
309 |
+
$val = WPSEO_Options::get( $var, false );
|
310 |
|
311 |
+
if ( $val === true ) {
|
312 |
+
$val = 'on';
|
|
|
|
|
|
|
|
|
313 |
}
|
314 |
|
315 |
$class = 'switch-light switch-candy switch-yoast-seo';
|
324 |
|
325 |
list( $off_button, $on_button ) = $buttons;
|
326 |
|
|
|
|
|
|
|
327 |
$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';
|
328 |
|
329 |
$strong_class = ( $strong ) ? ' switch-light-visual-label__strong' : '';
|
331 |
echo '<div class="switch-container', $help_class, '">',
|
332 |
'<span class="switch-light-visual-label' . $strong_class . '" id="', esc_attr( $var . '-label' ), '">', esc_html( $label ), '</span>' . $help,
|
333 |
'<label class="', $class, '"><b class="switch-yoast-seo-jaws-a11y"> </b>',
|
334 |
+
'<input type="checkbox" aria-labelledby="', esc_attr( $var . '-label' ), '" id="', esc_attr( $var ), '" name="', esc_attr( $this->option_name ), '[', esc_attr( $var ), ']" value="on"', checked( $val, 'on', false ), disabled( $this->is_control_disabled( $var ), true, false ), '/>',
|
335 |
'<span aria-hidden="true">
|
336 |
<span>', esc_html( $off_button ) ,'</span>
|
337 |
<span>', esc_html( $on_button ) ,'</span>
|
363 |
'class' => '',
|
364 |
];
|
365 |
$attr = wp_parse_args( $attr, $defaults );
|
366 |
+
$val = WPSEO_Options::get( $var, '' );
|
367 |
$attributes = isset( $attr['autocomplete'] ) ? ' autocomplete="' . esc_attr( $attr['autocomplete'] ) . '"' : '';
|
368 |
if ( isset( $attr['disabled'] ) && $attr['disabled'] ) {
|
369 |
$attributes .= ' disabled';
|
409 |
'class' => '',
|
410 |
];
|
411 |
$attr = wp_parse_args( $attr, $defaults );
|
412 |
+
$val = WPSEO_Options::get( $var, '' );
|
413 |
|
414 |
$this->label(
|
415 |
$label,
|
430 |
* @param string $id The ID of the element.
|
431 |
*/
|
432 |
public function hidden( $var, $id = '' ) {
|
433 |
+
$val = WPSEO_Options::get( $var, '' );
|
434 |
if ( is_bool( $val ) ) {
|
435 |
$val = ( $val === true ) ? 'true' : 'false';
|
436 |
}
|
471 |
}
|
472 |
|
473 |
$select_name = esc_attr( $this->option_name ) . '[' . esc_attr( $var ) . ']';
|
474 |
+
$active_option = WPSEO_Options::get( $var, '' );
|
475 |
$wrapper_start_tag = '';
|
476 |
$wrapper_end_tag = '';
|
477 |
|
504 |
* @param string $label The label to show for the variable.
|
505 |
*/
|
506 |
public function file_upload( $var, $label ) {
|
507 |
+
$val = WPSEO_Options::get( $var, '' );
|
508 |
+
if ( is_array( $val ) ) {
|
509 |
+
$val = $val['url'];
|
510 |
}
|
511 |
|
512 |
$var_esc = esc_attr( $var );
|
520 |
echo '<input type="file" value="' . esc_attr( $val ) . '" class="textinput" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" id="' . $var_esc . '"', disabled( $this->is_control_disabled( $var ), true, false ), '/>';
|
521 |
|
522 |
// Need to save separate array items in hidden inputs, because empty file inputs type will be deleted by settings API.
|
523 |
+
if ( ! empty( $val ) ) {
|
524 |
$this->hidden( 'file', $this->option_name . '_file' );
|
525 |
$this->hidden( 'url', $this->option_name . '_url' );
|
526 |
$this->hidden( 'type', $this->option_name . '_type' );
|
537 |
* @param string $label Label message.
|
538 |
*/
|
539 |
public function media_input( $var, $label ) {
|
540 |
+
$val = WPSEO_Options::get( $var, '' );
|
541 |
+
$id_value = WPSEO_Options::get( $var . '_id', '' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
542 |
|
543 |
$var_esc = esc_attr( $var );
|
544 |
|
599 |
if ( ! is_array( $values ) || $values === [] ) {
|
600 |
return;
|
601 |
}
|
602 |
+
$val = WPSEO_Options::get( $var, false );
|
|
|
|
|
603 |
|
604 |
$var_esc = esc_attr( $var );
|
605 |
|
627 |
}
|
628 |
|
629 |
$key_esc = esc_attr( $key );
|
630 |
+
echo '<input type="radio" class="radio" id="' . $var_esc . '-' . $key_esc . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $val, $key_esc, false ) . disabled( $this->is_control_disabled( $var ), true, false ) . ' />';
|
631 |
$this->label(
|
632 |
$label,
|
633 |
[
|
656 |
if ( ! is_array( $values ) || $values === [] ) {
|
657 |
return;
|
658 |
}
|
659 |
+
$val = WPSEO_Options::get( $var, false );
|
660 |
+
if ( $val === true ) {
|
661 |
+
$val = 'on';
|
|
|
|
|
662 |
}
|
663 |
+
if ( $val === false ) {
|
664 |
+
$val = 'off';
|
665 |
}
|
666 |
|
667 |
$help_class = ! empty( $help ) ? ' switch-container__has-help' : '';
|
685 |
|
686 |
$key_esc = esc_attr( $key );
|
687 |
$for = $var_esc . '-' . $key_esc;
|
688 |
+
echo '<input type="radio" id="' . $for . '" name="' . esc_attr( $this->option_name ) . '[' . $var_esc . ']" value="' . $key_esc . '" ' . checked( $val, $key_esc, false ) . disabled( $this->is_control_disabled( $var ), true, false ) . ' />',
|
689 |
'<label for="', $for, '">', esc_html( $value ), $screen_reader_text_html,'</label>';
|
690 |
}
|
691 |
|
admin/class-yoast-notification-center.php
CHANGED
@@ -27,7 +27,7 @@ class Yoast_Notification_Center {
|
|
27 |
/**
|
28 |
* Holds the notifications.
|
29 |
*
|
30 |
-
* @var \Yoast_Notification[]
|
31 |
*/
|
32 |
private $notifications = [];
|
33 |
|
@@ -41,7 +41,7 @@ class Yoast_Notification_Center {
|
|
41 |
/**
|
42 |
* Notifications that were resolved this execution.
|
43 |
*
|
44 |
-
* @var
|
45 |
*/
|
46 |
private $resolved = 0;
|
47 |
|
@@ -128,7 +128,7 @@ class Yoast_Notification_Center {
|
|
128 |
*/
|
129 |
public static function is_notification_dismissed( Yoast_Notification $notification, $user_id = null ) {
|
130 |
|
131 |
-
$user_id = (
|
132 |
$dismissal_key = $notification->get_dismissal_key();
|
133 |
|
134 |
// This checks both the site-specific user option and the meta value.
|
@@ -271,7 +271,7 @@ class Yoast_Notification_Center {
|
|
271 |
* @return void
|
272 |
*/
|
273 |
public function setup_current_notifications() {
|
274 |
-
$this->retrieve_notifications_from_storage();
|
275 |
|
276 |
foreach ( $this->queued_transactions as $transaction ) {
|
277 |
list( $callback, $args ) = $transaction;
|
@@ -301,12 +301,13 @@ class Yoast_Notification_Center {
|
|
301 |
}
|
302 |
|
303 |
$notification_id = $notification->get_id();
|
|
|
304 |
|
305 |
// Empty notifications are always added.
|
306 |
if ( $notification_id !== '' ) {
|
307 |
|
308 |
// If notification ID exists in notifications, don't add again.
|
309 |
-
$present_notification = $this->get_notification_by_id( $notification_id );
|
310 |
if ( ! is_null( $present_notification ) ) {
|
311 |
$this->remove_notification( $present_notification, false );
|
312 |
}
|
@@ -317,19 +318,23 @@ class Yoast_Notification_Center {
|
|
317 |
}
|
318 |
|
319 |
// Add to list.
|
320 |
-
$this->notifications[] = $notification;
|
321 |
}
|
322 |
|
323 |
/**
|
324 |
-
* Get the notification by ID.
|
325 |
*
|
326 |
* @param string $notification_id The ID of the notification to search for.
|
|
|
327 |
*
|
328 |
* @return null|Yoast_Notification
|
329 |
*/
|
330 |
-
public function get_notification_by_id( $notification_id ) {
|
|
|
|
|
|
|
331 |
|
332 |
-
foreach ( $
|
333 |
if ( $notification_id === $notification->get_id() ) {
|
334 |
return $notification;
|
335 |
}
|
@@ -397,9 +402,13 @@ class Yoast_Notification_Center {
|
|
397 |
|
398 |
$index = false;
|
399 |
|
|
|
|
|
|
|
|
|
400 |
// Match persistent Notifications by ID, non persistent by item in the array.
|
401 |
if ( $notification->is_persistent() ) {
|
402 |
-
foreach ( $
|
403 |
if ( $present_notification->get_id() === $notification->get_id() ) {
|
404 |
$index = $current_index;
|
405 |
break;
|
@@ -407,7 +416,7 @@ class Yoast_Notification_Center {
|
|
407 |
}
|
408 |
}
|
409 |
else {
|
410 |
-
$index = array_search( $notification, $
|
411 |
}
|
412 |
|
413 |
if ( false === $index ) {
|
@@ -419,8 +428,8 @@ class Yoast_Notification_Center {
|
|
419 |
$this->clear_dismissal( $notification );
|
420 |
}
|
421 |
|
422 |
-
unset( $
|
423 |
-
$this->notifications = array_values( $
|
424 |
}
|
425 |
|
426 |
/**
|
@@ -450,7 +459,7 @@ class Yoast_Notification_Center {
|
|
450 |
*/
|
451 |
public function get_notification_count( $dismissed = false ) {
|
452 |
|
453 |
-
$notifications = $this->
|
454 |
$notifications = array_filter( $notifications, [ $this, 'filter_persistent_notifications' ] );
|
455 |
|
456 |
if ( ! $dismissed ) {
|
@@ -478,8 +487,7 @@ class Yoast_Notification_Center {
|
|
478 |
* @return array|Yoast_Notification[] Sorted Notifications
|
479 |
*/
|
480 |
public function get_sorted_notifications() {
|
481 |
-
|
482 |
-
$notifications = $this->get_notifications();
|
483 |
if ( empty( $notifications ) ) {
|
484 |
return [];
|
485 |
}
|
@@ -511,6 +519,39 @@ class Yoast_Notification_Center {
|
|
511 |
$this->clear_notifications();
|
512 |
}
|
513 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
514 |
/**
|
515 |
* Save persistent notifications to storage.
|
516 |
*
|
@@ -522,14 +563,24 @@ class Yoast_Notification_Center {
|
|
522 |
*/
|
523 |
public function update_storage() {
|
524 |
|
525 |
-
$notifications = $this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
|
527 |
/**
|
528 |
* Filter: 'yoast_notifications_before_storage' - Allows developer to filter notifications before saving them.
|
529 |
*
|
530 |
* @api Yoast_Notification[] $notifications
|
531 |
*/
|
532 |
-
$
|
|
|
|
|
533 |
|
534 |
// No notifications to store, clear storage if it was previously present.
|
535 |
if ( empty( $notifications ) ) {
|
@@ -538,10 +589,20 @@ class Yoast_Notification_Center {
|
|
538 |
return;
|
539 |
}
|
540 |
|
541 |
-
$notifications
|
|
|
542 |
|
543 |
-
|
544 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
545 |
}
|
546 |
|
547 |
/**
|
@@ -550,8 +611,24 @@ class Yoast_Notification_Center {
|
|
550 |
* @return array|Yoast_Notification[] Registered notifications.
|
551 |
*/
|
552 |
public function get_notifications() {
|
|
|
|
|
|
|
|
|
|
|
553 |
|
554 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
555 |
}
|
556 |
|
557 |
/**
|
@@ -585,9 +662,11 @@ class Yoast_Notification_Center {
|
|
585 |
/**
|
586 |
* Retrieve the notifications from storage.
|
587 |
*
|
|
|
|
|
588 |
* @return array|void Yoast_Notification[] Notifications.
|
589 |
*/
|
590 |
-
private function retrieve_notifications_from_storage() {
|
591 |
|
592 |
if ( $this->notifications_retrieved ) {
|
593 |
return;
|
@@ -595,7 +674,7 @@ class Yoast_Notification_Center {
|
|
595 |
|
596 |
$this->notifications_retrieved = true;
|
597 |
|
598 |
-
$stored_notifications = get_user_option( self::STORAGE_KEY,
|
599 |
|
600 |
// Check if notifications are stored.
|
601 |
if ( empty( $stored_notifications ) ) {
|
@@ -607,7 +686,7 @@ class Yoast_Notification_Center {
|
|
607 |
// Apply array_values to ensure we get a 0-indexed array.
|
608 |
$notifications = array_values( array_filter( $notifications, [ $this, 'filter_notification_current_user' ] ) );
|
609 |
|
610 |
-
$this->notifications = $notifications;
|
611 |
}
|
612 |
}
|
613 |
|
@@ -671,7 +750,7 @@ class Yoast_Notification_Center {
|
|
671 |
*/
|
672 |
private function filter_dismissed_notifications( Yoast_Notification $notification ) {
|
673 |
|
674 |
-
return !
|
675 |
}
|
676 |
|
677 |
/**
|
27 |
/**
|
28 |
* Holds the notifications.
|
29 |
*
|
30 |
+
* @var \Yoast_Notification[][]
|
31 |
*/
|
32 |
private $notifications = [];
|
33 |
|
41 |
/**
|
42 |
* Notifications that were resolved this execution.
|
43 |
*
|
44 |
+
* @var int
|
45 |
*/
|
46 |
private $resolved = 0;
|
47 |
|
128 |
*/
|
129 |
public static function is_notification_dismissed( Yoast_Notification $notification, $user_id = null ) {
|
130 |
|
131 |
+
$user_id = self::get_user_id( $user_id );
|
132 |
$dismissal_key = $notification->get_dismissal_key();
|
133 |
|
134 |
// This checks both the site-specific user option and the meta value.
|
271 |
* @return void
|
272 |
*/
|
273 |
public function setup_current_notifications() {
|
274 |
+
$this->retrieve_notifications_from_storage( get_current_user_id() );
|
275 |
|
276 |
foreach ( $this->queued_transactions as $transaction ) {
|
277 |
list( $callback, $args ) = $transaction;
|
301 |
}
|
302 |
|
303 |
$notification_id = $notification->get_id();
|
304 |
+
$user_id = $notification->get_user_id();
|
305 |
|
306 |
// Empty notifications are always added.
|
307 |
if ( $notification_id !== '' ) {
|
308 |
|
309 |
// If notification ID exists in notifications, don't add again.
|
310 |
+
$present_notification = $this->get_notification_by_id( $notification_id, $user_id );
|
311 |
if ( ! is_null( $present_notification ) ) {
|
312 |
$this->remove_notification( $present_notification, false );
|
313 |
}
|
318 |
}
|
319 |
|
320 |
// Add to list.
|
321 |
+
$this->notifications[ $user_id ][] = $notification;
|
322 |
}
|
323 |
|
324 |
/**
|
325 |
+
* Get the notification by ID and user ID.
|
326 |
*
|
327 |
* @param string $notification_id The ID of the notification to search for.
|
328 |
+
* @param int $user_id The ID of the user.
|
329 |
*
|
330 |
* @return null|Yoast_Notification
|
331 |
*/
|
332 |
+
public function get_notification_by_id( $notification_id, $user_id = null ) {
|
333 |
+
$user_id = self::get_user_id( $user_id );
|
334 |
+
|
335 |
+
$notifications = $this->get_notifications_for_user( $user_id );
|
336 |
|
337 |
+
foreach ( $notifications as $notification ) {
|
338 |
if ( $notification_id === $notification->get_id() ) {
|
339 |
return $notification;
|
340 |
}
|
402 |
|
403 |
$index = false;
|
404 |
|
405 |
+
// ID of the user to show the notification for, defaults to current user id.
|
406 |
+
$user_id = $notification->get_user_id();
|
407 |
+
$notifications = $this->get_notifications_for_user( $user_id );
|
408 |
+
|
409 |
// Match persistent Notifications by ID, non persistent by item in the array.
|
410 |
if ( $notification->is_persistent() ) {
|
411 |
+
foreach ( $notifications as $current_index => $present_notification ) {
|
412 |
if ( $present_notification->get_id() === $notification->get_id() ) {
|
413 |
$index = $current_index;
|
414 |
break;
|
416 |
}
|
417 |
}
|
418 |
else {
|
419 |
+
$index = array_search( $notification, $notifications, true );
|
420 |
}
|
421 |
|
422 |
if ( false === $index ) {
|
428 |
$this->clear_dismissal( $notification );
|
429 |
}
|
430 |
|
431 |
+
unset( $notifications[ $index ] );
|
432 |
+
$this->notifications[ $user_id ] = array_values( $notifications );
|
433 |
}
|
434 |
|
435 |
/**
|
459 |
*/
|
460 |
public function get_notification_count( $dismissed = false ) {
|
461 |
|
462 |
+
$notifications = $this->get_notifications_for_user( get_current_user_id() );
|
463 |
$notifications = array_filter( $notifications, [ $this, 'filter_persistent_notifications' ] );
|
464 |
|
465 |
if ( ! $dismissed ) {
|
487 |
* @return array|Yoast_Notification[] Sorted Notifications
|
488 |
*/
|
489 |
public function get_sorted_notifications() {
|
490 |
+
$notifications = $this->get_notifications_for_user( get_current_user_id() );
|
|
|
491 |
if ( empty( $notifications ) ) {
|
492 |
return [];
|
493 |
}
|
519 |
$this->clear_notifications();
|
520 |
}
|
521 |
|
522 |
+
/**
|
523 |
+
* Returns the given user ID if it exists.
|
524 |
+
* Otherwise, this function returns the ID of the current user.
|
525 |
+
*
|
526 |
+
* @param int $user_id The user ID to check.
|
527 |
+
*
|
528 |
+
* @return int The user ID to use.
|
529 |
+
*/
|
530 |
+
private static function get_user_id( $user_id ) {
|
531 |
+
if ( $user_id ) {
|
532 |
+
return $user_id;
|
533 |
+
}
|
534 |
+
return get_current_user_id();
|
535 |
+
}
|
536 |
+
|
537 |
+
/**
|
538 |
+
* Splits the notifications on user ID.
|
539 |
+
*
|
540 |
+
* In other terms, it returns an associative array,
|
541 |
+
* mapping user ID to a list of notifications for this user.
|
542 |
+
*
|
543 |
+
* @param array|Yoast_Notification[] $notifications The notifications to split.
|
544 |
+
*
|
545 |
+
* @return array The notifications, split on user ID.
|
546 |
+
*/
|
547 |
+
private function split_on_user_id( $notifications ) {
|
548 |
+
$split_notifications = [];
|
549 |
+
foreach ( $notifications as $notification ) {
|
550 |
+
$split_notifications[ $notification->get_user_id() ][] = $notification;
|
551 |
+
}
|
552 |
+
return $split_notifications;
|
553 |
+
}
|
554 |
+
|
555 |
/**
|
556 |
* Save persistent notifications to storage.
|
557 |
*
|
563 |
*/
|
564 |
public function update_storage() {
|
565 |
|
566 |
+
$notifications = $this->notifications;
|
567 |
+
|
568 |
+
/**
|
569 |
+
* @var Yoast_Notification[] $merged_notifications
|
570 |
+
*/
|
571 |
+
$merged_notifications = [];
|
572 |
+
if ( ! empty( $notifications ) ) {
|
573 |
+
$merged_notifications = array_merge( ...$notifications );
|
574 |
+
}
|
575 |
|
576 |
/**
|
577 |
* Filter: 'yoast_notifications_before_storage' - Allows developer to filter notifications before saving them.
|
578 |
*
|
579 |
* @api Yoast_Notification[] $notifications
|
580 |
*/
|
581 |
+
$merged_notifications = apply_filters( 'yoast_notifications_before_storage', $merged_notifications );
|
582 |
+
|
583 |
+
$notifications = $this->split_on_user_id( $merged_notifications );
|
584 |
|
585 |
// No notifications to store, clear storage if it was previously present.
|
586 |
if ( empty( $notifications ) ) {
|
589 |
return;
|
590 |
}
|
591 |
|
592 |
+
array_walk( $notifications , [ $this, 'store_notifications_for_user' ] );
|
593 |
+
}
|
594 |
|
595 |
+
/**
|
596 |
+
* Stores the notifications to its respective user's storage.
|
597 |
+
*
|
598 |
+
* @param array|Yoast_Notification[] $notifications The notifications to store.
|
599 |
+
* @param int $user_id The ID of the user for which to store the notifications.
|
600 |
+
*
|
601 |
+
* @return void
|
602 |
+
*/
|
603 |
+
private function store_notifications_for_user( $notifications, $user_id ) {
|
604 |
+
$notifications_as_arrays = array_map( [ $this, 'notification_to_array' ], $notifications );
|
605 |
+
update_user_option( $user_id, self::STORAGE_KEY, $notifications_as_arrays );
|
606 |
}
|
607 |
|
608 |
/**
|
611 |
* @return array|Yoast_Notification[] Registered notifications.
|
612 |
*/
|
613 |
public function get_notifications() {
|
614 |
+
if ( ! $this->notifications ) {
|
615 |
+
return [];
|
616 |
+
}
|
617 |
+
return array_merge( ...$this->notifications );
|
618 |
+
}
|
619 |
|
620 |
+
/**
|
621 |
+
* Returns the notifications for the given user.
|
622 |
+
*
|
623 |
+
* @param int $user_id The id of the user to check.
|
624 |
+
*
|
625 |
+
* @return Yoast_Notification[] The notifications for the user with the given ID.
|
626 |
+
*/
|
627 |
+
public function get_notifications_for_user( $user_id ) {
|
628 |
+
if ( array_key_exists( $user_id, $this->notifications ) ) {
|
629 |
+
return $this->notifications[ $user_id ];
|
630 |
+
}
|
631 |
+
return [];
|
632 |
}
|
633 |
|
634 |
/**
|
662 |
/**
|
663 |
* Retrieve the notifications from storage.
|
664 |
*
|
665 |
+
* @param int $user_id The ID of the user to retrieve notifications for.
|
666 |
+
*
|
667 |
* @return array|void Yoast_Notification[] Notifications.
|
668 |
*/
|
669 |
+
private function retrieve_notifications_from_storage( $user_id ) {
|
670 |
|
671 |
if ( $this->notifications_retrieved ) {
|
672 |
return;
|
674 |
|
675 |
$this->notifications_retrieved = true;
|
676 |
|
677 |
+
$stored_notifications = get_user_option( self::STORAGE_KEY, $user_id );
|
678 |
|
679 |
// Check if notifications are stored.
|
680 |
if ( empty( $stored_notifications ) ) {
|
686 |
// Apply array_values to ensure we get a 0-indexed array.
|
687 |
$notifications = array_values( array_filter( $notifications, [ $this, 'filter_notification_current_user' ] ) );
|
688 |
|
689 |
+
$this->notifications[ $user_id ] = $notifications;
|
690 |
}
|
691 |
}
|
692 |
|
750 |
*/
|
751 |
private function filter_dismissed_notifications( Yoast_Notification $notification ) {
|
752 |
|
753 |
+
return ! self::maybe_dismiss_notification( $notification );
|
754 |
}
|
755 |
|
756 |
/**
|
admin/class-yoast-notification.php
CHANGED
@@ -72,6 +72,7 @@ class Yoast_Notification {
|
|
72 |
private $defaults = [
|
73 |
'type' => self::UPDATED,
|
74 |
'id' => '',
|
|
|
75 |
'nonce' => null,
|
76 |
'priority' => 0.5,
|
77 |
'data_json' => [],
|
@@ -108,6 +109,29 @@ class Yoast_Notification {
|
|
108 |
return $this->options['id'];
|
109 |
}
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
/**
|
112 |
* Retrieve nonce identifier.
|
113 |
*
|
@@ -196,7 +220,7 @@ class Yoast_Notification {
|
|
196 |
*/
|
197 |
public function match_capabilities() {
|
198 |
// Super Admin can do anything.
|
199 |
-
if ( is_multisite() && is_super_admin() ) {
|
200 |
return true;
|
201 |
}
|
202 |
|
@@ -256,7 +280,13 @@ class Yoast_Notification {
|
|
256 |
* @return bool
|
257 |
*/
|
258 |
private function has_capability( $capability ) {
|
259 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
}
|
261 |
|
262 |
/**
|
@@ -371,6 +401,11 @@ class Yoast_Notification {
|
|
371 |
$options['capabilities'] = [ 'wpseo_manage_options' ];
|
372 |
}
|
373 |
|
|
|
|
|
|
|
|
|
|
|
374 |
return $options;
|
375 |
}
|
376 |
|
72 |
private $defaults = [
|
73 |
'type' => self::UPDATED,
|
74 |
'id' => '',
|
75 |
+
'user' => null,
|
76 |
'nonce' => null,
|
77 |
'priority' => 0.5,
|
78 |
'data_json' => [],
|
109 |
return $this->options['id'];
|
110 |
}
|
111 |
|
112 |
+
/**
|
113 |
+
* Retrieve the user to show the notification for.
|
114 |
+
*
|
115 |
+
* @return WP_User The user to show this notification for.
|
116 |
+
*/
|
117 |
+
public function get_user() {
|
118 |
+
return $this->options['user'];
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Retrieve the is of the user to show the notification for.
|
123 |
+
*
|
124 |
+
* Returns the id of the current user if not user has been sent.
|
125 |
+
*
|
126 |
+
* @return integer The user id
|
127 |
+
*/
|
128 |
+
public function get_user_id() {
|
129 |
+
if ( $this->get_user() !== null ) {
|
130 |
+
return $this->get_user()->ID;
|
131 |
+
}
|
132 |
+
return get_current_user_id();
|
133 |
+
}
|
134 |
+
|
135 |
/**
|
136 |
* Retrieve nonce identifier.
|
137 |
*
|
220 |
*/
|
221 |
public function match_capabilities() {
|
222 |
// Super Admin can do anything.
|
223 |
+
if ( is_multisite() && is_super_admin( $this->options['user']->ID ) ) {
|
224 |
return true;
|
225 |
}
|
226 |
|
280 |
* @return bool
|
281 |
*/
|
282 |
private function has_capability( $capability ) {
|
283 |
+
$user = $this->options['user'];
|
284 |
+
|
285 |
+
$role_caps = $user->get_role_caps();
|
286 |
+
if ( array_key_exists( $capability, $role_caps ) ) {
|
287 |
+
return $role_caps[ $capability ];
|
288 |
+
}
|
289 |
+
return false;
|
290 |
}
|
291 |
|
292 |
/**
|
401 |
$options['capabilities'] = [ 'wpseo_manage_options' ];
|
402 |
}
|
403 |
|
404 |
+
// Set to the current user if not supplied.
|
405 |
+
if ( $options['user'] === null ) {
|
406 |
+
$options['user'] = wp_get_current_user();
|
407 |
+
}
|
408 |
+
|
409 |
return $options;
|
410 |
}
|
411 |
|
admin/config-ui/class-configuration-page.php
CHANGED
@@ -84,7 +84,6 @@ class WPSEO_Configuration_Page {
|
|
84 |
*/
|
85 |
wp_enqueue_style( 'forms' );
|
86 |
$asset_manager = new WPSEO_Admin_Asset_Manager();
|
87 |
-
$asset_manager->register_wp_assets();
|
88 |
$asset_manager->register_assets();
|
89 |
$asset_manager->enqueue_script( 'configuration-wizard' );
|
90 |
$asset_manager->enqueue_style( 'yoast-components' );
|
84 |
*/
|
85 |
wp_enqueue_style( 'forms' );
|
86 |
$asset_manager = new WPSEO_Admin_Asset_Manager();
|
|
|
87 |
$asset_manager->register_assets();
|
88 |
$asset_manager->enqueue_script( 'configuration-wizard' );
|
89 |
$asset_manager->enqueue_style( 'yoast-components' );
|
admin/import/class-import-settings.php
CHANGED
@@ -110,5 +110,8 @@ class WPSEO_Import_Settings {
|
|
110 |
|
111 |
$this->status->set_msg( __( 'Settings successfully imported.', 'wordpress-seo' ) );
|
112 |
$this->status->set_status( true );
|
|
|
|
|
|
|
113 |
}
|
114 |
}
|
110 |
|
111 |
$this->status->set_msg( __( 'Settings successfully imported.', 'wordpress-seo' ) );
|
112 |
$this->status->set_status( true );
|
113 |
+
|
114 |
+
// Reset the cached option values.
|
115 |
+
WPSEO_Options::fill_cache();
|
116 |
}
|
117 |
}
|
admin/links/class-link-watcher.php
CHANGED
@@ -45,6 +45,11 @@ class WPSEO_Link_Watcher {
|
|
45 |
* @return void
|
46 |
*/
|
47 |
public function save_post( $post_id, WP_Post $post ) {
|
|
|
|
|
|
|
|
|
|
|
48 |
/**
|
49 |
* Filter: 'wpseo_should_index_links' - Allows disabling of Yoast's links indexation.
|
50 |
*
|
45 |
* @return void
|
46 |
*/
|
47 |
public function save_post( $post_id, WP_Post $post ) {
|
48 |
+
// Bail if this is a multisite installation and the site has been switched.
|
49 |
+
if ( is_multisite() && ms_is_switched() ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
/**
|
54 |
* Filter: 'wpseo_should_index_links' - Allows disabling of Yoast's links indexation.
|
55 |
*
|
admin/metabox/class-metabox.php
CHANGED
@@ -72,9 +72,13 @@ class WPSEO_Metabox extends WPSEO_Meta {
|
|
72 |
* @return bool Whether the request comes from an IE 11 browser.
|
73 |
*/
|
74 |
public static function is_internet_explorer() {
|
75 |
-
|
|
|
|
|
|
|
|
|
76 |
|
77 |
-
if (
|
78 |
return false;
|
79 |
}
|
80 |
|
@@ -154,8 +158,8 @@ class WPSEO_Metabox extends WPSEO_Meta {
|
|
154 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-nofollow']['options']['0'] = __( 'Yes', 'wordpress-seo' );
|
155 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-nofollow']['options']['1'] = __( 'No', 'wordpress-seo' );
|
156 |
|
157 |
-
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['title']
|
158 |
-
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['description']
|
159 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['noimageindex'] = __( 'No Image Index', 'wordpress-seo' );
|
160 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['noarchive'] = __( 'No Archive', 'wordpress-seo' );
|
161 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['nosnippet'] = __( 'No Snippet', 'wordpress-seo' );
|
72 |
* @return bool Whether the request comes from an IE 11 browser.
|
73 |
*/
|
74 |
public static function is_internet_explorer() {
|
75 |
+
if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) {
|
76 |
+
return false;
|
77 |
+
}
|
78 |
+
|
79 |
+
$user_agent = sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) );
|
80 |
|
81 |
+
if ( stripos( $user_agent, 'Trident/7.0' ) === false ) {
|
82 |
return false;
|
83 |
}
|
84 |
|
158 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-nofollow']['options']['0'] = __( 'Yes', 'wordpress-seo' );
|
159 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-nofollow']['options']['1'] = __( 'No', 'wordpress-seo' );
|
160 |
|
161 |
+
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['title'] = __( 'Meta robots advanced', 'wordpress-seo' );
|
162 |
+
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['description'] = __( 'If you want to apply advanced <code>meta</code> robots settings for this page, please define them in the following field.', 'wordpress-seo' );
|
163 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['noimageindex'] = __( 'No Image Index', 'wordpress-seo' );
|
164 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['noarchive'] = __( 'No Archive', 'wordpress-seo' );
|
165 |
WPSEO_Meta::$meta_fields['advanced']['meta-robots-adv']['options']['nosnippet'] = __( 'No Snippet', 'wordpress-seo' );
|
admin/statistics/class-statistics-integration.php
CHANGED
@@ -26,6 +26,11 @@ class WPSEO_Statistic_Integration implements WPSEO_WordPress_Integration {
|
|
26 |
* @return void
|
27 |
*/
|
28 |
public function clear_cache() {
|
|
|
|
|
|
|
|
|
|
|
29 |
delete_transient( WPSEO_Statistics_Service::CACHE_TRANSIENT_KEY );
|
30 |
}
|
31 |
}
|
26 |
* @return void
|
27 |
*/
|
28 |
public function clear_cache() {
|
29 |
+
// Bail if this is a multisite installation and the site has been switched.
|
30 |
+
if ( is_multisite() && ms_is_switched() ) {
|
31 |
+
return;
|
32 |
+
}
|
33 |
+
|
34 |
delete_transient( WPSEO_Statistics_Service::CACHE_TRANSIENT_KEY );
|
35 |
}
|
36 |
}
|
admin/taxonomy/class-taxonomy.php
CHANGED
@@ -195,6 +195,7 @@ class WPSEO_Taxonomy {
|
|
195 |
* @param string $taxonomy The taxonomy the term belongs to.
|
196 |
*/
|
197 |
public function update_term( $term_id, $tt_id, $taxonomy ) {
|
|
|
198 |
if ( is_multisite() && ms_is_switched() ) {
|
199 |
return;
|
200 |
}
|
195 |
* @param string $taxonomy The taxonomy the term belongs to.
|
196 |
*/
|
197 |
public function update_term( $term_id, $tt_id, $taxonomy ) {
|
198 |
+
// Bail if this is a multisite installation and the site has been switched.
|
199 |
if ( is_multisite() && ms_is_switched() ) {
|
200 |
return;
|
201 |
}
|
admin/tracking/class-tracking-server-data.php
CHANGED
@@ -74,12 +74,12 @@ class WPSEO_Tracking_Server_Data implements WPSEO_Collection {
|
|
74 |
*/
|
75 |
protected function get_php_extensions() {
|
76 |
return [
|
77 |
-
'imagick'
|
78 |
-
'filter'
|
79 |
-
'bcmath'
|
80 |
-
'
|
81 |
-
'
|
82 |
-
'
|
83 |
];
|
84 |
}
|
85 |
}
|
74 |
*/
|
75 |
protected function get_php_extensions() {
|
76 |
return [
|
77 |
+
'imagick' => extension_loaded( 'imagick' ),
|
78 |
+
'filter' => extension_loaded( 'filter' ),
|
79 |
+
'bcmath' => extension_loaded( 'bcmath' ),
|
80 |
+
'pcre' => extension_loaded( 'pcre' ),
|
81 |
+
'xml' => extension_loaded( 'xml' ),
|
82 |
+
'pdo_mysql' => extension_loaded( 'pdo_mysql' ),
|
83 |
];
|
84 |
}
|
85 |
}
|
admin/views/licenses.php
CHANGED
@@ -158,7 +158,7 @@ $new_tab_message = sprintf(
|
|
158 |
<?php if ( $has_valid_premium_subscription ) : ?>
|
159 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-activated"><?php esc_html_e( 'Activated', 'wordpress-seo' ); ?></div>
|
160 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13k' ); ?>"
|
161 |
-
|
162 |
<?php
|
163 |
printf(
|
164 |
/* translators: %s expands to the extension title */
|
@@ -173,7 +173,7 @@ $new_tab_message = sprintf(
|
|
173 |
<?php else : ?>
|
174 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-not-activated"><?php esc_html_e( 'Not activated', 'wordpress-seo' ); ?></div>
|
175 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>"
|
176 |
-
|
177 |
<?php
|
178 |
printf(
|
179 |
/* translators: %s expands to the extension title */
|
@@ -190,7 +190,7 @@ $new_tab_message = sprintf(
|
|
190 |
<?php else : ?>
|
191 |
|
192 |
<a target="_blank" href="<?php echo esc_url( $premium_extension->get_buy_url() ); ?>"
|
193 |
-
|
194 |
<?php
|
195 |
printf(
|
196 |
/* translators: $s expands to Yoast SEO Premium */
|
@@ -205,7 +205,7 @@ $new_tab_message = sprintf(
|
|
205 |
</a>
|
206 |
|
207 |
<a target="_blank" href="<?php echo esc_url( $premium_extension->get_info_url() ); ?>"
|
208 |
-
|
209 |
<?php
|
210 |
printf(
|
211 |
/* translators: Text between 1: and 2: will only be shown to screen readers. 3: expands to the product name. */
|
@@ -264,7 +264,7 @@ $new_tab_message = sprintf(
|
|
264 |
<?php if ( $addon_manager->has_valid_subscription( $slug ) ) : ?>
|
265 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-activated"><?php esc_html_e( 'Activated', 'wordpress-seo' ); ?></div>
|
266 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13k' ); ?>"
|
267 |
-
|
268 |
<?php
|
269 |
printf(
|
270 |
/* translators: %s expands to the extension title */
|
@@ -279,7 +279,7 @@ $new_tab_message = sprintf(
|
|
279 |
<?php else : ?>
|
280 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-not-activated"><?php esc_html_e( 'Not activated', 'wordpress-seo' ); ?></div>
|
281 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>"
|
282 |
-
|
283 |
<?php
|
284 |
printf(
|
285 |
/* translators: %s expands to the extension title */
|
@@ -294,7 +294,7 @@ $new_tab_message = sprintf(
|
|
294 |
<?php endif; ?>
|
295 |
<?php else : ?>
|
296 |
<a target="_blank" class="yoast-button-upsell"
|
297 |
-
|
298 |
<?php
|
299 |
printf(
|
300 |
/* translators: %s expands to the product name */
|
@@ -309,7 +309,7 @@ $new_tab_message = sprintf(
|
|
309 |
</a>
|
310 |
|
311 |
<a target="_blank" class="yoast-link--more-info"
|
312 |
-
|
313 |
<?php
|
314 |
printf(
|
315 |
/* translators: Text between 1: and 2: will only be shown to screen readers. 3: expands to the product name. */
|
158 |
<?php if ( $has_valid_premium_subscription ) : ?>
|
159 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-activated"><?php esc_html_e( 'Activated', 'wordpress-seo' ); ?></div>
|
160 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13k' ); ?>"
|
161 |
+
class="yoast-link--license">
|
162 |
<?php
|
163 |
printf(
|
164 |
/* translators: %s expands to the extension title */
|
173 |
<?php else : ?>
|
174 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-not-activated"><?php esc_html_e( 'Not activated', 'wordpress-seo' ); ?></div>
|
175 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>"
|
176 |
+
class="yoast-link--license">
|
177 |
<?php
|
178 |
printf(
|
179 |
/* translators: %s expands to the extension title */
|
190 |
<?php else : ?>
|
191 |
|
192 |
<a target="_blank" href="<?php echo esc_url( $premium_extension->get_buy_url() ); ?>"
|
193 |
+
class="yoast-button-upsell">
|
194 |
<?php
|
195 |
printf(
|
196 |
/* translators: $s expands to Yoast SEO Premium */
|
205 |
</a>
|
206 |
|
207 |
<a target="_blank" href="<?php echo esc_url( $premium_extension->get_info_url() ); ?>"
|
208 |
+
class="yoast-link--more-info">
|
209 |
<?php
|
210 |
printf(
|
211 |
/* translators: Text between 1: and 2: will only be shown to screen readers. 3: expands to the product name. */
|
264 |
<?php if ( $addon_manager->has_valid_subscription( $slug ) ) : ?>
|
265 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-activated"><?php esc_html_e( 'Activated', 'wordpress-seo' ); ?></div>
|
266 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13k' ); ?>"
|
267 |
+
class="yoast-link--license">
|
268 |
<?php
|
269 |
printf(
|
270 |
/* translators: %s expands to the extension title */
|
279 |
<?php else : ?>
|
280 |
<div class="yoast-button yoast-button--noarrow yoast-button--extension yoast-button--extension-not-activated"><?php esc_html_e( 'Not activated', 'wordpress-seo' ); ?></div>
|
281 |
<a target="_blank" href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/13i' ); ?>"
|
282 |
+
class="yoast-link--license">
|
283 |
<?php
|
284 |
printf(
|
285 |
/* translators: %s expands to the extension title */
|
294 |
<?php endif; ?>
|
295 |
<?php else : ?>
|
296 |
<a target="_blank" class="yoast-button-upsell"
|
297 |
+
href="<?php echo esc_url( $extension->get_buy_url() ); ?>">
|
298 |
<?php
|
299 |
printf(
|
300 |
/* translators: %s expands to the product name */
|
309 |
</a>
|
310 |
|
311 |
<a target="_blank" class="yoast-link--more-info"
|
312 |
+
href="<?php echo esc_url( $extension->get_info_url() ); ?>">
|
313 |
<?php
|
314 |
printf(
|
315 |
/* translators: Text between 1: and 2: will only be shown to screen readers. 3: expands to the product name. */
|
admin/views/sidebar.php
CHANGED
@@ -40,7 +40,7 @@ $new_tab_message = WPSEO_Admin_Utils::get_new_tab_message();
|
|
40 |
</ul>
|
41 |
|
42 |
<a id="wpseo-premium-button" class="yoast-button-upsell"
|
43 |
-
|
44 |
<?php
|
45 |
/* translators: %s expands to Yoast SEO Premium */
|
46 |
printf( esc_html__( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' );
|
@@ -62,7 +62,7 @@ $new_tab_message = WPSEO_Admin_Utils::get_new_tab_message();
|
|
62 |
<p>
|
63 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jq' ); ?>" target="_blank">
|
64 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/local_plugin_assistant.svg' ); ?>"
|
65 |
-
|
66 |
<strong>Be found on Google Maps!</strong>
|
67 |
<?php
|
68 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
@@ -76,8 +76,8 @@ $new_tab_message = WPSEO_Admin_Utils::get_new_tab_message();
|
|
76 |
<p>
|
77 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jo' ); ?>" target="_blank">
|
78 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/video_plugin_assistant.svg' ); ?>"
|
79 |
-
|
80 |
-
|
81 |
<strong>Rank in Google Video</strong>
|
82 |
<?php
|
83 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
@@ -91,7 +91,7 @@ $new_tab_message = WPSEO_Admin_Utils::get_new_tab_message();
|
|
91 |
<p>
|
92 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jp' ); ?>" target="_blank">
|
93 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/woo_plugin_assistant.svg' ); ?>"
|
94 |
-
|
95 |
<strong>WooCommerce SEO</strong>
|
96 |
<?php
|
97 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
@@ -105,8 +105,8 @@ $new_tab_message = WPSEO_Admin_Utils::get_new_tab_message();
|
|
105 |
<p>
|
106 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jr' ); ?>" target="_blank">
|
107 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/news_plugin_assistant.svg' ); ?>"
|
108 |
-
|
109 |
-
|
110 |
<strong>Rank in Google News</strong>
|
111 |
<?php
|
112 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
40 |
</ul>
|
41 |
|
42 |
<a id="wpseo-premium-button" class="yoast-button-upsell"
|
43 |
+
href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jj' ); ?>" target="_blank">
|
44 |
<?php
|
45 |
/* translators: %s expands to Yoast SEO Premium */
|
46 |
printf( esc_html__( 'Get %s', 'wordpress-seo' ), 'Yoast SEO Premium' );
|
62 |
<p>
|
63 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jq' ); ?>" target="_blank">
|
64 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/local_plugin_assistant.svg' ); ?>"
|
65 |
+
alt="">
|
66 |
<strong>Be found on Google Maps!</strong>
|
67 |
<?php
|
68 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
76 |
<p>
|
77 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jo' ); ?>" target="_blank">
|
78 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/video_plugin_assistant.svg' ); ?>"
|
79 |
+
class="alignleft"
|
80 |
+
alt="">
|
81 |
<strong>Rank in Google Video</strong>
|
82 |
<?php
|
83 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
91 |
<p>
|
92 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jp' ); ?>" target="_blank">
|
93 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/woo_plugin_assistant.svg' ); ?>"
|
94 |
+
alt="">
|
95 |
<strong>WooCommerce SEO</strong>
|
96 |
<?php
|
97 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
105 |
<p>
|
106 |
<a href="<?php WPSEO_Shortlinker::show( 'https://yoa.st/jr' ); ?>" target="_blank">
|
107 |
<img src="<?php echo esc_url( $wpseo_plugin_dir_url . 'images/news_plugin_assistant.svg' ); ?>"
|
108 |
+
class="alignleft"
|
109 |
+
alt="">
|
110 |
<strong>Rank in Google News</strong>
|
111 |
<?php
|
112 |
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: $new_tab_message is properly escaped.
|
admin/views/tabs/metas/paper-content/general/knowledge-graph.php
CHANGED
@@ -50,8 +50,9 @@ $knowledge_graph_help = new WPSEO_Admin_Help_Panel(
|
|
50 |
* Render the `knowledge-graph-company-warning` div when the company name or logo are not set.
|
51 |
* This div is used as React render root in `js/src/search-appearance.js`.
|
52 |
*/
|
53 |
-
$
|
54 |
-
|
|
|
55 |
?>
|
56 |
<div id="knowledge-graph-company-warning"></div>
|
57 |
<?php endif; ?>
|
50 |
* Render the `knowledge-graph-company-warning` div when the company name or logo are not set.
|
51 |
* This div is used as React render root in `js/src/search-appearance.js`.
|
52 |
*/
|
53 |
+
$yoast_seo_company_name = WPSEO_Options::get( 'company_name', '' );
|
54 |
+
$yoast_seo_company_logo = WPSEO_Options::get( 'company_logo', '' );
|
55 |
+
if ( empty( $yoast_seo_company_name ) || empty( $yoast_seo_company_logo ) ) :
|
56 |
?>
|
57 |
<div id="knowledge-graph-company-warning"></div>
|
58 |
<?php endif; ?>
|
admin/views/tabs/social/pinterest.php
CHANGED
@@ -17,7 +17,7 @@ echo '<h2>' . esc_html__( 'Pinterest settings', 'wordpress-seo' ) . '</h2>';
|
|
17 |
|
18 |
printf(
|
19 |
'<p>%s</p>',
|
20 |
-
esc_html__( 'Pinterest uses Open Graph metadata just like Facebook, so be sure to keep the Open Graph
|
21 |
);
|
22 |
printf(
|
23 |
'<p>%s</p>',
|
17 |
|
18 |
printf(
|
19 |
'<p>%s</p>',
|
20 |
+
esc_html__( 'Pinterest uses Open Graph metadata just like Facebook, so be sure to keep the "Add Open Graph meta data" setting on the Facebook tab enabled if you want to optimize your site for Pinterest.', 'wordpress-seo' )
|
21 |
);
|
22 |
printf(
|
23 |
'<p>%s</p>',
|
admin/views/tabs/social/twitterbox.php
CHANGED
@@ -18,7 +18,7 @@ echo '<h2>' . esc_html__( 'Twitter settings', 'wordpress-seo' ) . '</h2>';
|
|
18 |
|
19 |
printf(
|
20 |
'<p>%s</p>',
|
21 |
-
esc_html__( 'Twitter uses Open Graph metadata just like Facebook, so be sure to keep the Open Graph
|
22 |
);
|
23 |
|
24 |
$yform->light_switch( 'twitter', __( 'Add Twitter card meta data', 'wordpress-seo' ), [], true, '', true );
|
18 |
|
19 |
printf(
|
20 |
'<p>%s</p>',
|
21 |
+
esc_html__( 'Twitter uses Open Graph metadata just like Facebook, so be sure to keep the "Add Open Graph meta data" setting on the Facebook tab enabled if you want to optimize your site for Twitter.', 'wordpress-seo' )
|
22 |
);
|
23 |
|
24 |
$yform->light_switch( 'twitter', __( 'Add Twitter card meta data', 'wordpress-seo' ), [], true, '', true );
|
css/dist/admin-global-1271-rtl.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-w:after{left:100%;bottom:50%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;right:100%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{left:auto;right:50%;-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-left:10px;margin-left:6px;margin-right:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-right:0;margin-left:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 100% 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;padding:0;margin-left:0;margin-right:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-right:1.5em}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:left}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}.yoast-button-upsell{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{-ms-transform:translateY(1px);transform:translateY(1px);box-shadow:none;filter:none}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.yoast-button-upsell:after{display:inline-block;content:"";min-height:32px}}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{-ms-flex-negative:0;flex-shrink:0;width:8px;height:16px;margin:0 6px 0 -2px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{right:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{right:0}}.wpseo-admin-submit{z-index:5;display:-ms-flexbox;display:flex;padding:16px 0;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:baseline;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;right:160px;left:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 0 0 16px;padding:0;color:#008a00}.yoast-alert-box{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-left:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
|
|
css/dist/admin-global-1271.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{-ms-transform:translateX(50%);transform:translateX(50%)}.yoast-tooltip-w:after{right:100%;bottom:50%;margin-right:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;left:100%;margin-left:5px;-ms-transform:translateY(50%);transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:separate;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{right:auto;left:50%;-ms-transform:translateX(-50%);transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-right:10px;margin-right:6px;margin-left:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-left:0;margin-right:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 0 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;padding:0;margin-right:0;margin-left:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-left:1.5em}.yoast_help.yoast-help-button{overflow:visible;position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:right}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}.yoast-button-upsell{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{-ms-transform:translateY(1px);transform:translateY(1px);box-shadow:none;filter:none}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.yoast-button-upsell:after{display:inline-block;content:"";min-height:32px}}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{-ms-flex-negative:0;flex-shrink:0;width:8px;height:16px;margin:0 -2px 0 6px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{left:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{left:0}}.wpseo-admin-submit{z-index:5;display:-ms-flexbox;display:flex;padding:16px 0;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:baseline;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;left:160px;right:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 16px 0 0;padding:0;color:#008a00}.yoast-alert-box{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-right:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
|
|
css/dist/admin-global-1280-rtl.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 2px -3px 0;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;left:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;left:50%;bottom:-5px;margin-left:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-sw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{left:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;left:50%;bottom:auto;margin-left:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{left:auto;right:50%;margin-right:-15px}.yoast-tooltip-nw:after{margin-left:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(-50%)}.yoast-tooltip-w:after{left:100%;bottom:50%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;right:-5px;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;right:100%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;left:-5px;bottom:50%;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{left:auto;right:50%;transform:translateX(50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{left:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-left:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 0 0 10px;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;right:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-right:220px}.yoast-settings h2{margin-bottom:0;margin-right:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-left:10px;margin-left:6px;margin-right:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 0 10px 4px}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-right:0;margin-left:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 100% 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 100% 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-right:0}.yoast-settings h2{margin-right:0}.yoast-settings label{width:auto;padding:0;margin-left:0;margin-right:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-right:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:left}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-left:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;right:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:right;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 85px 0 0}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 6px 0 -2px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{right:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{right:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;right:160px;left:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 0 0 16px;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-left:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
|
css/dist/admin-global-1280.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.wpseo-premium-indicator{width:1px;height:1px;display:inline-block}#adminmenu .wpseo-premium-indicator{margin:-2px 0 -3px 2px;color:inherit}.wpseo-premium-indicator svg{height:100%;width:auto;display:none}.yoast-tooltip{position:relative}button.yoast-tooltip{overflow:visible}.yoast-tooltip:after{display:none;position:absolute;z-index:1000000;padding:6px 8px 5px;border-radius:3px;opacity:0;color:#fff;background:rgba(0,0,0,.8);text-shadow:none;font:normal normal 11px/1.45454545 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;text-align:center;white-space:pre;text-decoration:none;letter-spacing:normal;text-transform:none;word-wrap:break-word;content:attr(aria-label);pointer-events:none;-webkit-font-smoothing:subpixel-antialiased}.yoast-tooltip-alt:after{content:attr(data-label)}.yoast-tooltip:before{display:none;position:absolute;z-index:1000001;width:0;height:0;border:5px solid transparent;opacity:0;color:rgba(0,0,0,.8);content:"\00a0";pointer-events:none}@keyframes yoast-tooltip-appear{0%{opacity:0}to{opacity:1}}.yoast-tooltip:active:after,.yoast-tooltip:active:before,.yoast-tooltip:focus:after,.yoast-tooltip:focus:before,.yoast-tooltip:hover:after,.yoast-tooltip:hover:before{display:inline-block;text-decoration:none;animation-name:yoast-tooltip-appear;animation-duration:.1s;animation-timing-function:ease-in;animation-delay:.4s;animation-fill-mode:forwards}.yoast-tooltip-no-delay:active:after,.yoast-tooltip-no-delay:active:before,.yoast-tooltip-no-delay:focus:after,.yoast-tooltip-no-delay:focus:before,.yoast-tooltip-no-delay:hover:after,.yoast-tooltip-no-delay:hover:before{opacity:1;animation:none}.yoast-tooltip-multiline:active:after,.yoast-tooltip-multiline:focus:after,.yoast-tooltip-multiline:hover:after{display:table-cell}.yoast-tooltip-s:after,.yoast-tooltip-se:after,.yoast-tooltip-sw:after{top:100%;right:50%;margin-top:5px}.yoast-tooltip-s:before,.yoast-tooltip-se:before,.yoast-tooltip-sw:before{top:auto;right:50%;bottom:-5px;margin-right:-5px;border-bottom-color:rgba(0,0,0,.8)}.yoast-tooltip-se:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-sw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-ne:after,.yoast-tooltip-nw:after{right:50%;bottom:100%;margin-bottom:5px}.yoast-tooltip-n:before,.yoast-tooltip-ne:before,.yoast-tooltip-nw:before{top:-5px;right:50%;bottom:auto;margin-right:-5px;border-top-color:rgba(0,0,0,.8)}.yoast-tooltip-ne:after{right:auto;left:50%;margin-left:-15px}.yoast-tooltip-nw:after{margin-right:-15px}.yoast-tooltip-n:after,.yoast-tooltip-s:after{transform:translateX(50%)}.yoast-tooltip-w:after{right:100%;bottom:50%;margin-right:5px;transform:translateY(50%)}.yoast-tooltip-w:before{top:50%;bottom:50%;left:-5px;margin-top:-5px;border-left-color:rgba(0,0,0,.8)}.yoast-tooltip-e:after{bottom:50%;left:100%;margin-left:5px;transform:translateY(50%)}.yoast-tooltip-e:before{top:50%;right:-5px;bottom:50%;margin-top:-5px;border-right-color:rgba(0,0,0,.8)}.yoast-tooltip-multiline:after{width:250px;width:-webkit-max-content;width:max-content;max-width:250px;border-collapse:initial;white-space:pre-line;word-wrap:normal;word-break:break-word}.yoast-tooltip-multiline.yoast-tooltip-n:after,.yoast-tooltip-multiline.yoast-tooltip-s:after{right:auto;left:50%;transform:translateX(-50%)}.yoast-tooltip-multiline.yoast-tooltip-e:after,.yoast-tooltip-multiline.yoast-tooltip-w:after{right:100%}@media screen and (min-width:0\0){.yoast-tooltip-multiline:after{width:250px}}.yoast-tooltip-sticky:after,.yoast-tooltip-sticky:before{display:inline-block}.yoast-tooltip-sticky.yoast-tooltip-multiline:after{display:table-cell}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.yoast-tooltip-w:after{margin-right:4.5px}}.yoast-tooltip.yoast-tooltip-hidden:after,.yoast-tooltip.yoast-tooltip-hidden:before{display:none}.yoast-measure{max-width:600px}#TB_window .wpseo_content_wrapper p{font-size:14px;font-style:normal}#TB_window .wpseo_content_wrapper label{margin:0 10px 0 0;font-size:14px;font-weight:600}.wpseo-premium-popup-title{margin:1em 0!important;padding:0!important;font-size:1.3em!important;font-weight:600!important}.wpseo-premium-popup-icon{margin:10px}.edit-tags-php .column-description img{max-width:100%;height:auto}.select2-container .select2-search--dropdown .select2-search__field{margin:0;padding:0 8px;min-height:30px}.select2-results__option,.select2-search--inline,.select2-selection__choice{margin-bottom:0}.select2-container .select2-search--inline .select2-search__field{margin-top:6px!important;line-height:inherit;min-height:0}.wpseo-admin-page .select2-container .select2-selection--single,.wpseo-metabox .select2-container .select2-selection--single{height:auto}.wpseo-admin-page .select2-container .select2-selection--single .select2-selection__arrow,.wpseo-metabox .select2-container .select2-selection--single .select2-selection__arrow{height:100%}.yoast-label-strong{font-weight:600}.yoast-video-container-max-width{max-width:560px}.yoast-video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.yoast-video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.yoast-settings{margin-bottom:2em;padding-left:220px}.yoast-settings h2{margin-bottom:0;margin-left:-220px}.yoast-settings label{display:inline-block;width:200px;padding-top:4px;padding-right:10px;margin-right:6px;margin-left:-220px;font-size:14px;line-height:1.3;font-weight:600;color:#23282d;vertical-align:top}.yoast-settings fieldset,.yoast-settings input[type=text],.yoast-settings label,.yoast-settings select,.yoast-settings textarea,.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{margin-top:2em;margin-bottom:.5em}.yoast-settings__textarea--medium{width:100%;max-width:600px}.yoast .yoast-settings__checkbox,.yoast .yoast-settings__radio{vertical-align:top;position:relative;top:1px}.yoast-settings__group--checkbox,.yoast-settings__group--radio{padding-top:1em}.yoast-settings__group--checkbox .yoast-settings__checkbox,.yoast-settings__group--radio .yoast-settings__radio{margin:0 4px 10px 0}.yoast-settings__checkbox+label,.yoast-settings__radio+label{width:auto;margin-left:0;margin-right:0;padding:0;max-width:calc(100% - 25px)}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{margin-top:0;margin-bottom:10px;font-weight:400}.yoast-settings legend{font-size:14px;font-weight:600;color:#23282d}.yoast-settings .description{margin-top:0;font-size:14px}td .wpseo-score-icon{display:inline-block;width:12px;height:12px;margin-left:5px;border-radius:50%;background:#888;line-height:16px;margin-top:3px}.fixed th.column-wpseo-linked,.fixed th.column-wpseo-links,.fixed th.column-wpseo-score,.fixed th.column-wpseo-score-readability{width:3em;padding:0}th.column-wpseo-linked a,th.column-wpseo-links a,th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{overflow:visible;display:inline-block;vertical-align:middle;padding:8px 0}th.column-wpseo-score-readability .yoast-tooltip,th.column-wpseo-score .yoast-tooltip{padding:8px 11px}.column-wpseo-links .yoast-tooltip-multiline:after{max-width:160px}.column-wpseo-linked .yoast-tooltip-multiline:after{max-width:170px}.yoast-column-header-has-tooltip{position:relative}.manage-column .yoast-column-header-has-tooltip:before{content:"";display:inline-block;width:20px;height:20px;padding:0;vertical-align:top;text-decoration:none!important;color:#444}.manage-column .yoast-linked-to:before{background:transparent url(../../images/link-out-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-linked-from:before{background:transparent url(../../images/link-in-icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-seo-score:before{background:transparent url(../../images/Yoast_SEO_negative_icon.svg) no-repeat 0 0;background-size:20px}.manage-column .yoast-column-readability:before{background:transparent url(../../images/readability-icon.svg) no-repeat 0 0;background-size:20px}td.column-wpseo-linked,td.column-wpseo-links{word-wrap:normal}@media screen and (max-width:782px){.yoast-settings{padding-left:0}.yoast-settings h2{margin-left:0}.yoast-settings label{width:auto;padding:0;margin-right:0;margin-left:0}.yoast-settings__radio+label,.yoast .yoast-settings__radio{margin-bottom:1em}.yoast-settings__checkbox+label,.yoast-settings__radio+label{max-width:calc(100% - 35px);padding-top:8px}.yoast-settings__group--checkbox .yoast-settings__checkbox+label,.yoast-settings__group--radio .yoast-settings__radio+label{padding-top:4px}.yoast-settings input[type=text],.yoast-settings select,.yoast-settings textarea{display:block;width:100%;margin-top:0;margin-bottom:0;padding:7px 10px;max-width:none;line-height:1.5;box-sizing:border-box}.screen-reader-text.wpseo-score-text{position:static!important;-webkit-clip-path:none;clip-path:none;width:auto;height:auto;margin:0}}.react-tabs__tab-panel{max-width:900px;margin:0 auto}.react-tabs__tab-panel li{max-width:none!important}.contact-premium-support{text-align:center}.contact-premium-support__content{margin:0 auto 1.5em;font-size:.9375rem;line-height:1.4}.contact-premium-support__content:nth-child(2){max-width:610px}.contact-premium-support__content:nth-child(3){max-width:560px}.contact-premium-support .contact-premium-support__button{margin-bottom:48px}.wpseo-premium-description{margin-top:.5em}.wpseo-premium-advantages-list{list-style:disc;padding-left:1.5em}.yoast_help.yoast-help-button{position:relative;width:20px;height:20px;margin:0;padding:0;border:0;outline:none;color:#72777c;background:transparent;box-shadow:none;vertical-align:top;cursor:pointer}.yoast-section .yoast_help.yoast-help-button{float:right}.help-button-inline .yoast_help.yoast-help-button{margin-top:-4px}.yoast-section .yoast_help.yoast-help-button{margin-top:-44px}.wpseo-admin-page .yoast_help.yoast-help-button{margin-right:6px}.yoast_help .yoast-help-icon:before{position:absolute;top:0;left:0;padding:4px;content:"\f223"}.yoast_help.yoast-help-button:focus,.yoast_help.yoast-help-button:hover{color:#0073aa}.assessment-results__mark:focus,.yoast_help.yoast-help-button:focus .yoast-help-icon:before{border-radius:100%;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-help-panel{display:none;clear:both;max-width:30em!important;padding:0 0 1em;font-weight:400;white-space:normal}.wpseo-admin-page .yoast-help-panel{max-width:600px!important}.copy-home-meta-description .yoast-help-panel{max-width:400px!important}.yoast-modal_is-open{overflow:hidden}.yoast-alert .yoast-seo-icon{float:left;margin:20px 10px}.yoast-alert .yoast-seo-icon-wrap{margin:0 0 0 85px}.yoast-button-upsell{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:8px 1em;font-size:16px;line-height:1.5;font-family:Arial,sans-serif;color:#000;border-radius:4px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.2);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));text-decoration:none;background-color:#fec228}.yoast-button-upsell:active,.yoast-button-upsell:focus,.yoast-button-upsell:hover{color:#000;background-color:#f2ae01}.yoast-button-upsell:focus{box-shadow:inset 0 -4px 0 rgba(0,0,0,.2),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.yoast-button-upsell:active{transform:translateY(1px);box-shadow:none;filter:none}.yoast-button-upsell#wpseo-premium-button{color:#000}.yoast-button-upsell__caret{flex-shrink:0;width:8px;height:16px;margin:0 -2px 0 6px;background:transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M%200%20384%2E662%20V%20127%2E338%20c%200%20%2D17%2E818%2021%2E543%20%2D26%2E741%2034%2E142%20%2D14%2E142%20l%20128%2E662%20128%2E662%20c%207%2E81%207%2E81%207%2E81%2020%2E474%200%2028%2E284%20L%2034%2E142%20398%2E804%20C%2021%2E543%20411%2E404%200%20402%2E48%200%20384%2E662%20Z%22%2F%3E%3C%2Fsvg%3E") 50% no-repeat}.rtl .yoast-button-upsell__caret{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%20192%20512%22%20xmlns%3D%22http%3A%2F%2Fwww%2Ew3%2Eorg%2F2000%2Fsvg%22%20role%3D%22img%22%20aria%2Dhidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M192%20127%2E338v257%2E324c0%2017%2E818%2D21%2E543%2026%2E741%2D34%2E142%2014%2E142L29%2E196%20270%2E142c%2D7%2E81%2D7%2E81%2D7%2E81%2D20%2E474%200%2D28%2E284l128%2E662%2D128%2E662c12%2E599%2D12%2E6%2034%2E142%2D3%2E676%2034%2E142%2014%2E142z%22%2F%3E%3C%2Fsvg%3E")}body.folded .wpseo-admin-submit-fixed{left:36px}@media screen and (max-width:782px){body.folded .wpseo-admin-submit-fixed{left:0}}.wpseo-admin-submit{z-index:5;display:flex;padding:16px 0;justify-content:flex-start;align-items:baseline;margin:0}.wpseo-admin-submit.wpseo-admin-submit-fixed{padding:16px;position:fixed;bottom:0;left:160px;right:281px;background-color:#fff;max-width:800px;box-shadow:0 1px 8px 1px rgba(0,0,0,.5);margin:0 16px}@media screen and (max-width:1024px){.wpseo-admin-submit.wpseo-admin-submit-fixed{right:0}}@media only screen and (max-width:960px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:36px}}@media screen and (max-width:782px){.wpseo-admin-submit.wpseo-admin-submit-fixed{left:0;margin:0}}.wpseo-admin-submit p.submit{padding:0;margin:0}.wpseo-admin-submit p.wpseo-message{margin:0 16px 0 0;padding:0;color:#008a00}.yoast-alert-box{display:flex;align-items:baseline;position:relative;padding:16px;border:1px solid rgba(0,0,0,.2);font-size:14px;font-weight:400;line-height:1.5;margin:16px 0}.yoast-alert-box span.icon{display:block;margin-right:8px}.yoast-alert-box a{color:#004973;text-decoration:underline}.yoast-alert-box__warning{color:#674e00;background:#fff3cd}
|
css/dist/{adminbar-1271-rtl.min.css → adminbar-1280-rtl.min.css}
RENAMED
File without changes
|
css/dist/{adminbar-1271.min.css → adminbar-1280.min.css}
RENAMED
File without changes
|
css/dist/alerts-1271-rtl.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);width:1px;height:1px;border:0;padding:0;overflow:hidden;word-wrap:normal!important}.yoast-alert{padding:0 12px;border-right:4px solid #fff;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.yoast-container{position:relative;max-width:1280px;margin:20px 0 1px;padding:20px 20px 0;border:1px solid #e5e5e5;background-color:#fdfdfd;box-shadow:0 1px 1px rgba(0,0,0,.04)}.yoast-alerts>h2:first-child{margin:0;padding:9px 0 4px;font-size:23px;font-weight:400;line-height:29px}.yoast-alerts .yoast-container h3{margin:-20px -20px 0;padding:1em;border-bottom:1px solid #ccc;background-color:#fdfdfd;font-size:1.4em}.yoast-container .container{max-width:980px}.yoast-container .yoast-alert-holder{display:-ms-flexbox;display:flex;position:relative}.dismiss .dashicons,.restore .dashicons{font-size:20px;width:20px;height:20px}.yoast-bottom-spacing{margin-bottom:20px}.yoast-alerts .button.dismiss,.yoast-alerts .button.restore{position:absolute;left:0;width:52px;height:100%;line-height:inherit;padding:0;outline:none;cursor:pointer;background:transparent;border:none;box-shadow:none;border-radius:0}.yoast-alerts .button.dismiss:focus,.yoast-alerts .button.dismiss:hover,.yoast-alerts .button.restore:focus,.yoast-alerts .button.restore:hover{background:transparent}.yoast-alerts .button.dismiss:focus:before,.yoast-alerts .button.restore:focus:before{content:"";display:block;width:32px;height:32px;border-radius:50%;position:absolute;top:50%;right:50%;-ms-transform:translate(50%,-50%);transform:translate(50%,-50%);box-shadow:0 0 0 1px #007cba;outline:2px solid transparent}.yoast-container .separator{margin-top:1em;margin-bottom:1em;border-top:1px soli |