Version Description
Release Date: April 28th, 2020
Today is a special day. Today, a project weve been working on for a year sees the light of day. Yoast SEO 14.0 rewrites the playbook on how a WordPress SEO plugin can work. Thanks to an approach we call indexables, we bring you a much faster experience and a new foundation that helps us get ready for an exciting future! Read more about this release in our release post!
Bugfixes:
- Fixes a bug where the Open Graph image would be set as Twitter image when Open Graph was disabled.
- Fixes a bug where the
article:publisher
meta tag would not contain the Person's Facebook account if the Knowledge Graph was set to Person. - Fixes a bug where no
title
meta tag would be output when no post or page-specific title was specified. - Fixes a bug where the date archive description from the Search Appearance settings would not be used for the
og:description
meta tag. - Fixes a bug where a notice would be thrown when a field in the FAQ or HowTo block was left empty.
- Fixes a bug where the Help Scout beacon was aligned to the right on settings pages on installations with a right-to-left language.
- Fixes a bug where UTF-8 encoded urls were not always readable in the snippet preview.
- Fixes a bug where the embedding of posts on LinkedIn was broken.
Enhancements:
- Adds a notification that appears when your content hasn't been fully indexed yet.
- Adds a button to the SEO > Tools page to index all your content.
- Adds a feature toggle to disable the headless REST routes.
- No longer outputs the
og:type
meta tag on 404 pages. - No longer outputs a
twitter:title
,twitter:image
and/ortwitter:description
meta tag when there is already anog:title
,og:image
and/orog:description
meta tag specified in the frontend output and theyre not specifically set to something else. - No longer outputs an
article:section
andarticle:tag
meta tag as none of the Open Graph consumers seems to use it. - No longer outputs an
og:updated_time
meta tag as it was the same asarticle:modified_time
and all Open Graph consumers seem to prefer that. - No longer outputs an
og:image:secure_url
meta tag as it was the same asog:image
and all Open Graph consumers seem to prefer that. - Strips all HTML tags from text fields in the schema output.
- Adds
Term hierarchy
as a taxonomy snippet variable. - Uses the Gravatar image as a fallback for author archive's
og:image
andtwitter:image
. - Improves the way gallery images are retrieved . Props to stodorovic.
- Bing has added support for the same opt-in
meta robots
values as Google has, see their announcement post. We have decided to opt-in users of Yoast SEO by default to Bingbot crawling. - No longer removes the default robots meta values.
Other:
- Deprecates the
wpseo_twitter_taxonomy_image
andwpseo_twitter_metatag_key
filters. - Deprecates the
wp_seo_get_bc_ancestors
filter. Developers should use thewpseo_breadcrumb_links
filter instead to add and/or replace breadcrumbs. - Deprecates the
wpseo_opengraph
andwpseo_twitter
actions. - Adds the following filters:
-
wpseo_debug_markers
, which allows users to disable the debug markers. -
wpseo_frontend_presenter_classes
, which enables the filtering of presenters. -
wpseo_frontend_presenters
, which enables the filtering of presenter instances. -
wpseo_googlebot
, which enables the filtering of the googlebot meta output. -
wpseo_og_article_publisher
, which enables the filtering of the article publishers Facebook URL. -
wpseo_og_locale
, which enables the filtering of the Open Graph locale. -
wpseo_post_indexation_limit
, which enables the filtering of the amount of posts indexed during each indexing pass. -
wpseo_post_type_archive_indexation_limit
, which enables the filtering of the amount of post type archives indexed during each indexing pass. -
wpseo_term_indexation_limit
, which enables the filtering of the amount of terms indexed during each indexing pass. -
wpseo_post_types_reset_permalinks
, which enables the filtering of the post types to reset permalinks for. -
wpseo_public_post_statuses
, which enables the filtering of the list of public post statuses.
-
- No longer calls the third-party
thematic_doctitle
andwoo_title
filters. - Adds the
/wp-json/yoast/v1/get_head
endpoint to get the our head for an URL. This endpoint takes a single parameter,url
which should be the absolute URL of the page to get the head for. - Removes the minimum and maximum size requirements when outputting
og:image
meta tags.
Download this release
Release Info
Developer | Yoast |
Plugin | Yoast SEO |
Version | 14.0 |
Comparing to | |
See all releases |
Code changes from version 13.5 to 14.0
- admin/class-admin-asset-manager.php +23 -3
- admin/class-admin-editor-specific-replace-vars.php +3 -3
- admin/class-admin-init.php +20 -0
- admin/class-admin-recommended-replace-vars.php +2 -2
- admin/class-admin.php +1 -0
- admin/class-gutenberg-compatibility.php +2 -2
- admin/metabox/class-metabox.php +1 -0
- admin/taxonomy/class-taxonomy.php +4 -3
- admin/tracking/class-tracking-settings-data.php +0 -1
- admin/tracking/class-tracking.php +8 -1
- admin/views/class-yoast-feature-toggles.php +10 -0
- config/dependency-injection/container-compiler.php +4 -0
- config/dependency-injection/custom-loader.php +0 -25
- config/dependency-injection/loader-pass.php +12 -13
- config/dependency-injection/services.php +19 -11
- css/dist/{admin-global-1350-rtl.css → admin-global-1400-rtl.css} +0 -0
- css/dist/{admin-global-1350.css → admin-global-1400.css} +0 -0
- css/dist/{adminbar-1350-rtl.css → adminbar-1400-rtl.css} +0 -0
- css/dist/{adminbar-1350.css → adminbar-1400.css} +0 -0
- css/dist/{alerts-1350-rtl.css → alerts-1400-rtl.css} +0 -0
- css/dist/{alerts-1350.css → alerts-1400.css} +0 -0
- css/dist/{dashboard-1350-rtl.css → dashboard-1400-rtl.css} +0 -0
- css/dist/{dashboard-1350.css → dashboard-1400.css} +0 -0
- css/dist/{edit-page-1350-rtl.css → edit-page-1400-rtl.css} +0 -0
- css/dist/{edit-page-1350.css → edit-page-1400.css} +0 -0
- css/dist/{featured-image-1350-rtl.css → featured-image-1400-rtl.css} +0 -0
- css/dist/{featured-image-1350.css → featured-image-1400.css} +0 -0
- css/dist/{filter-explanation-1350-rtl.css → filter-explanation-1400-rtl.css} +0 -0
- css/dist/{filter-explanation-1350.css → filter-explanation-1400.css} +0 -0
- css/dist/{inside-editor-1350-rtl.css → inside-editor-1400-rtl.css} +0 -0
- css/dist/{inside-editor-1350.css → inside-editor-1400.css} +0 -0
- css/dist/{metabox-1350-rtl.css → metabox-1400-rtl.css} +0 -0
- css/dist/{metabox-1350.css → metabox-1400.css} +0 -0
- css/dist/{metabox-primary-category-1350-rtl.css → metabox-primary-category-1400-rtl.css} +0 -0
- css/dist/{metabox-primary-category-1350.css → metabox-primary-category-1400.css} +0 -0
- css/dist/monorepo-1400-rtl.css +1 -0
- css/dist/monorepo-1400.css +1 -0
- css/dist/{search-appearance-1350-rtl.css → search-appearance-1400-rtl.css} +0 -0
- css/dist/{search-appearance-1350.css → search-appearance-1400.css} +0 -0
- css/dist/{structured-data-blocks-1350-rtl.css → structured-data-blocks-1400-rtl.css} +0 -0
- css/dist/{structured-data-blocks-1350.css → structured-data-blocks-1400.css} +0 -0
- css/dist/{toggle-switch-1350-rtl.css → toggle-switch-1400-rtl.css} +0 -0
- css/dist/{toggle-switch-1350.css → toggle-switch-1400.css} +0 -0
- css/dist/{wpseo-dismissible-1350-rtl.css → wpseo-dismissible-1400-rtl.css} +0 -0
- css/dist/{wpseo-dismissible-1350.css → wpseo-dismissible-1400.css} +0 -0
- css/dist/{yoast-components-1350-rtl.css → yoast-components-1400-rtl.css} +0 -0
- css/dist/{yoast-components-1350.css → yoast-components-1400.css} +0 -0
- css/dist/{yoast-extensions-1350-rtl.css → yoast-extensions-1400-rtl.css} +0 -0
- css/dist/{yoast-extensions-1350.css → yoast-extensions-1400.css} +0 -0
- css/dist/{yst_plugin_tools-1350-rtl.css → yst_plugin_tools-1400-rtl.css} +0 -0
- css/dist/{yst_plugin_tools-1350.css → yst_plugin_tools-1400.css} +0 -0
- css/dist/{yst_seo_score-1350-rtl.css → yst_seo_score-1400-rtl.css} +0 -0
- css/dist/{yst_seo_score-1350.css → yst_seo_score-1400.css} +0 -0
- deprecated/frontend/class-handle-404.php +46 -0
- deprecated/frontend/class-opengraph-image.php +38 -0
- deprecated/frontend/class-opengraph-oembed.php +46 -0
- deprecated/frontend/class-opengraph.php +314 -0
- deprecated/frontend/class-primary-category.php +39 -0
- deprecated/frontend/class-twitter.php +64 -0
- deprecated/frontend/schema/class-schema-article.php +87 -0
- deprecated/frontend/schema/class-schema-author.php +137 -0
- deprecated/frontend/schema/class-schema-breadcrumb.php +65 -0
- deprecated/frontend/schema/class-schema-faq-question-list.php +43 -0
- deprecated/frontend/schema/class-schema-faq-questions.php +69 -0
- {frontend → deprecated/frontend}/schema/class-schema-faq.php +40 -37
- deprecated/frontend/schema/class-schema-howto.php +122 -0
- {frontend → deprecated/frontend}/schema/class-schema-ids.php +2 -0
- deprecated/frontend/schema/class-schema-image.php +88 -0
- deprecated/frontend/schema/class-schema-main-image.php +115 -0
- deprecated/frontend/schema/class-schema-organization.php +63 -0
- deprecated/frontend/schema/class-schema-person.php +151 -0
- {frontend → deprecated/frontend}/schema/class-schema-utils.php +18 -19
- deprecated/frontend/schema/class-schema-webpage.php +102 -0
- deprecated/frontend/schema/class-schema-website.php +67 -0
- deprecated/frontend/schema/class-schema.php +54 -0
- {frontend → deprecated/frontend}/schema/interface-wpseo-graph-piece.php +2 -0
- frontend/class-breadcrumbs.php +0 -1050
- frontend/class-frontend.php +0 -1960
- frontend/class-handle-404.php +0 -92
- frontend/class-opengraph-image.php +0 -674
- frontend/class-opengraph-oembed.php +0 -72
- frontend/class-opengraph.php +0 -771
- frontend/class-primary-category.php +0 -71
- frontend/class-remove-reply-to-com.php +0 -83
- frontend/class-twitter.php +0 -676
- frontend/class-woocommerce-shop-page.php +19 -29
- frontend/schema/class-schema-article.php +0 -216
- frontend/schema/class-schema-author.php +0 -145
- frontend/schema/class-schema-breadcrumb.php +0 -153
- frontend/schema/class-schema-context.php +0 -243
- frontend/schema/class-schema-faq-question-list.php +0 -115
- frontend/schema/class-schema-faq-questions.php +0 -112
- frontend/schema/class-schema-howto.php +0 -244
- frontend/schema/class-schema-image.php +0 -156
- frontend/schema/class-schema-main-image.php +0 -146
- frontend/schema/class-schema-organization.php +0 -114
- frontend/schema/class-schema-webpage.php +0 -202
- frontend/schema/class-schema-website.php +0 -120
- frontend/schema/class-schema.php +0 -198
- inc/class-wpseo-admin-bar-menu.php +7 -1
- inc/class-wpseo-custom-fields.php +2 -4
- inc/class-wpseo-replace-vars.php +45 -70
- inc/class-wpseo-utils.php +24 -28
- inc/options/class-wpseo-option-ms.php +11 -10
- inc/options/class-wpseo-option-titles.php +0 -5
- inc/options/class-wpseo-option-wpseo.php +12 -8
- inc/sitemaps/class-sitemaps-renderer.php +0 -27
- inc/wpseo-functions-deprecated.php +12 -0
- inc/wpseo-functions.php +6 -12
- js/dist/{analysis-1350.js → analysis-1400.js} +0 -0
- js/dist/{babel-polyfill-1350.js → babel-polyfill-1400.js} +0 -0
- js/dist/{commons-1350.js → commons-1400.js} +0 -0
- js/dist/{components-1350.js → components-1400.js} +4 -4
admin/class-admin-asset-manager.php
CHANGED
@@ -267,12 +267,13 @@ class WPSEO_Admin_Asset_Manager {
|
|
267 |
],
|
268 |
],
|
269 |
[
|
270 |
-
'name'
|
271 |
-
'src'
|
272 |
-
'deps'
|
273 |
'jquery',
|
274 |
self::PREFIX . 'commons',
|
275 |
],
|
|
|
276 |
],
|
277 |
[
|
278 |
'name' => 'metabox',
|
@@ -436,6 +437,17 @@ class WPSEO_Admin_Asset_Manager {
|
|
436 |
self::PREFIX . 'commons',
|
437 |
],
|
438 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
[
|
440 |
'name' => 'edit-page-script',
|
441 |
'src' => 'wp-seo-edit-page-' . $flat_version,
|
@@ -631,6 +643,14 @@ class WPSEO_Admin_Asset_Manager {
|
|
631 |
'name' => 'search-appearance',
|
632 |
'src' => 'search-appearance-' . $flat_version,
|
633 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
[
|
635 |
'name' => 'structured-data-blocks',
|
636 |
'src' => 'structured-data-blocks-' . $flat_version,
|
267 |
],
|
268 |
],
|
269 |
[
|
270 |
+
'name' => 'admin-global-script',
|
271 |
+
'src' => 'wp-seo-admin-global-' . $flat_version,
|
272 |
+
'deps' => [
|
273 |
'jquery',
|
274 |
self::PREFIX . 'commons',
|
275 |
],
|
276 |
+
'in_footer' => false,
|
277 |
],
|
278 |
[
|
279 |
'name' => 'metabox',
|
437 |
self::PREFIX . 'commons',
|
438 |
],
|
439 |
],
|
440 |
+
[
|
441 |
+
'name' => 'indexation',
|
442 |
+
'src' => 'wp-seo-indexation-' . $flat_version,
|
443 |
+
'deps' => [
|
444 |
+
'jquery',
|
445 |
+
'jquery-ui-core',
|
446 |
+
'jquery-ui-progressbar',
|
447 |
+
self::PREFIX . 'admin-global-script',
|
448 |
+
self::PREFIX . 'commons',
|
449 |
+
],
|
450 |
+
],
|
451 |
[
|
452 |
'name' => 'edit-page-script',
|
453 |
'src' => 'wp-seo-edit-page-' . $flat_version,
|
643 |
'name' => 'search-appearance',
|
644 |
'src' => 'search-appearance-' . $flat_version,
|
645 |
],
|
646 |
+
|
647 |
+
/*
|
648 |
+
* Temporarily commented out to prevent unwanted monorepo styles seeping through.
|
649 |
+
* [
|
650 |
+
* 'name' => 'monorepo',
|
651 |
+
* 'src' => 'monorepo-' . $flat_version,
|
652 |
+
* ],
|
653 |
+
*/
|
654 |
[
|
655 |
'name' => 'structured-data-blocks',
|
656 |
'src' => 'structured-data-blocks-' . $flat_version,
|
admin/class-admin-editor-specific-replace-vars.php
CHANGED
@@ -25,11 +25,11 @@ class WPSEO_Admin_Editor_Specific_Replace_Vars {
|
|
25 |
'custom-post-type_archive' => [ 'pt_single', 'pt_plural' ],
|
26 |
|
27 |
// Taxonomies.
|
28 |
-
'category' => [ 'term_title', 'term_description', 'category_description', 'parent_title' ],
|
29 |
'post_tag' => [ 'term_title', 'term_description', 'tag_description' ],
|
30 |
'post_format' => [],
|
31 |
// Custom taxonomy.
|
32 |
-
'term-in-custom-taxonomy' => [ 'term_title', 'term_description', 'category_description', 'parent_title' ],
|
33 |
|
34 |
// Settings - special pages.
|
35 |
'search' => [ 'searchphrase' ],
|
@@ -45,7 +45,7 @@ class WPSEO_Admin_Editor_Specific_Replace_Vars {
|
|
45 |
);
|
46 |
|
47 |
$this->add_for_page_types(
|
48 |
-
[ 'post', 'term-in-custom-
|
49 |
WPSEO_Custom_Taxonomies::get_custom_taxonomies()
|
50 |
);
|
51 |
}
|
25 |
'custom-post-type_archive' => [ 'pt_single', 'pt_plural' ],
|
26 |
|
27 |
// Taxonomies.
|
28 |
+
'category' => [ 'term_title', 'term_description', 'category_description', 'parent_title', 'term_hierarchy' ],
|
29 |
'post_tag' => [ 'term_title', 'term_description', 'tag_description' ],
|
30 |
'post_format' => [],
|
31 |
// Custom taxonomy.
|
32 |
+
'term-in-custom-taxonomy' => [ 'term_title', 'term_description', 'category_description', 'parent_title', 'term_hierarchy' ],
|
33 |
|
34 |
// Settings - special pages.
|
35 |
'search' => [ 'searchphrase' ],
|
45 |
);
|
46 |
|
47 |
$this->add_for_page_types(
|
48 |
+
[ 'post', 'term-in-custom-taxonomy' ],
|
49 |
WPSEO_Custom_Taxonomies::get_custom_taxonomies()
|
50 |
);
|
51 |
}
|
admin/class-admin-init.php
CHANGED
@@ -440,6 +440,26 @@ class WPSEO_Admin_Init {
|
|
440 |
'version' => '9.4',
|
441 |
'alternative' => null,
|
442 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
];
|
444 |
|
445 |
// Determine which filters have been registered.
|
440 |
'version' => '9.4',
|
441 |
'alternative' => null,
|
442 |
],
|
443 |
+
'wpseo_opengraph' => [
|
444 |
+
'version' => '14.0',
|
445 |
+
'alternative' => null,
|
446 |
+
],
|
447 |
+
'wpseo_twitter' => [
|
448 |
+
'version' => '14.0',
|
449 |
+
'alternative' => null,
|
450 |
+
],
|
451 |
+
'wpseo_twitter_taxonomy_image' => [
|
452 |
+
'version' => '14.0',
|
453 |
+
'alternative' => null,
|
454 |
+
],
|
455 |
+
'wpseo_twitter_metatag_key' => [
|
456 |
+
'version' => '14.0',
|
457 |
+
'alternative' => null,
|
458 |
+
],
|
459 |
+
'wp_seo_get_bc_ancestors' => [
|
460 |
+
'version' => '14.0',
|
461 |
+
'alternative' => 'wpseo_breadcrumb_links',
|
462 |
+
],
|
463 |
];
|
464 |
|
465 |
// Determine which filters have been registered.
|
admin/class-admin-recommended-replace-vars.php
CHANGED
@@ -25,12 +25,12 @@ class WPSEO_Admin_Recommended_Replace_Vars {
|
|
25 |
'custom_post_type' => [ 'sitename', 'title', 'sep' ],
|
26 |
|
27 |
// Taxonomies.
|
28 |
-
'category' => [ 'sitename', 'term_title', 'sep' ],
|
29 |
'post_tag' => [ 'sitename', 'term_title', 'sep' ],
|
30 |
'post_format' => [ 'sitename', 'term_title', 'sep', 'page' ],
|
31 |
|
32 |
// Custom taxonomy.
|
33 |
-
'term-in-custom-taxomomy' => [ 'sitename', 'term_title', 'sep' ],
|
34 |
|
35 |
// Settings - archive pages.
|
36 |
'author_archive' => [ 'sitename', 'title', 'sep', 'page' ],
|
25 |
'custom_post_type' => [ 'sitename', 'title', 'sep' ],
|
26 |
|
27 |
// Taxonomies.
|
28 |
+
'category' => [ 'sitename', 'term_title', 'sep', 'term_hierarchy' ],
|
29 |
'post_tag' => [ 'sitename', 'term_title', 'sep' ],
|
30 |
'post_format' => [ 'sitename', 'term_title', 'sep', 'page' ],
|
31 |
|
32 |
// Custom taxonomy.
|
33 |
+
'term-in-custom-taxomomy' => [ 'sitename', 'term_title', 'sep', 'term_hierarchy' ],
|
34 |
|
35 |
// Settings - archive pages.
|
36 |
'author_archive' => [ 'sitename', 'title', 'sep', 'page' ],
|
admin/class-admin.php
CHANGED
@@ -308,6 +308,7 @@ class WPSEO_Admin {
|
|
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' ),
|
308 |
*/
|
309 |
private function localize_admin_global_script() {
|
310 |
return [
|
311 |
+
'isRtl' => is_rtl(),
|
312 |
'variable_warning' => sprintf(
|
313 |
/* 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' */
|
314 |
__( 'Warning: the variable %1$s cannot be used in this template. See the %2$s for more info.', 'wordpress-seo' ),
|
admin/class-gutenberg-compatibility.php
CHANGED
@@ -15,14 +15,14 @@ class WPSEO_Gutenberg_Compatibility {
|
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
-
const CURRENT_RELEASE = '7.
|
19 |
|
20 |
/**
|
21 |
* The minimally supported version of Gutenberg by the plugin.
|
22 |
*
|
23 |
* @var string
|
24 |
*/
|
25 |
-
const MINIMUM_SUPPORTED = '7.
|
26 |
|
27 |
/**
|
28 |
* Holds the current version.
|
15 |
*
|
16 |
* @var string
|
17 |
*/
|
18 |
+
const CURRENT_RELEASE = '7.9.1';
|
19 |
|
20 |
/**
|
21 |
* The minimally supported version of Gutenberg by the plugin.
|
22 |
*
|
23 |
* @var string
|
24 |
*/
|
25 |
+
const MINIMUM_SUPPORTED = '7.9.1';
|
26 |
|
27 |
/**
|
28 |
* Holds the current version.
|
admin/metabox/class-metabox.php
CHANGED
@@ -834,6 +834,7 @@ class WPSEO_Metabox extends WPSEO_Meta {
|
|
834 |
$asset_manager->enqueue_style( 'metabox-css' );
|
835 |
$asset_manager->enqueue_style( 'scoring' );
|
836 |
$asset_manager->enqueue_style( 'select2' );
|
|
|
837 |
|
838 |
$asset_manager->enqueue_script( 'metabox' );
|
839 |
$asset_manager->enqueue_script( 'admin-media' );
|
834 |
$asset_manager->enqueue_style( 'metabox-css' );
|
835 |
$asset_manager->enqueue_style( 'scoring' );
|
836 |
$asset_manager->enqueue_style( 'select2' );
|
837 |
+
$asset_manager->enqueue_style( 'monorepo' );
|
838 |
|
839 |
$asset_manager->enqueue_script( 'metabox' );
|
840 |
$asset_manager->enqueue_script( 'admin-media' );
|
admin/taxonomy/class-taxonomy.php
CHANGED
@@ -125,6 +125,7 @@ class WPSEO_Taxonomy {
|
|
125 |
|
126 |
$asset_manager = new WPSEO_Admin_Asset_Manager();
|
127 |
$asset_manager->enqueue_style( 'scoring' );
|
|
|
128 |
|
129 |
$tag_id = filter_input( INPUT_GET, 'tag_ID' );
|
130 |
if (
|
@@ -377,6 +378,7 @@ class WPSEO_Taxonomy {
|
|
377 |
'page',
|
378 |
'term_title',
|
379 |
'term_description',
|
|
|
380 |
'category_description',
|
381 |
'tag_description',
|
382 |
'searchphrase',
|
@@ -434,9 +436,8 @@ class WPSEO_Taxonomy {
|
|
434 |
* @return string Content with shortcodes filtered out.
|
435 |
*/
|
436 |
public function custom_category_descriptions_add_shortcode_support( $desc ) {
|
437 |
-
_deprecated_function( __FUNCTION__, 'WPSEO 7.9.0'
|
438 |
|
439 |
-
|
440 |
-
return $frontend->custom_category_descriptions_add_shortcode_support( $desc );
|
441 |
}
|
442 |
}
|
125 |
|
126 |
$asset_manager = new WPSEO_Admin_Asset_Manager();
|
127 |
$asset_manager->enqueue_style( 'scoring' );
|
128 |
+
$asset_manager->enqueue_style( 'monorepo' );
|
129 |
|
130 |
$tag_id = filter_input( INPUT_GET, 'tag_ID' );
|
131 |
if (
|
378 |
'page',
|
379 |
'term_title',
|
380 |
'term_description',
|
381 |
+
'term_hierarchy',
|
382 |
'category_description',
|
383 |
'tag_description',
|
384 |
'searchphrase',
|
436 |
* @return string Content with shortcodes filtered out.
|
437 |
*/
|
438 |
public function custom_category_descriptions_add_shortcode_support( $desc ) {
|
439 |
+
_deprecated_function( __FUNCTION__, 'WPSEO 7.9.0' );
|
440 |
|
441 |
+
return '';
|
|
|
442 |
}
|
443 |
}
|
admin/tracking/class-tracking-settings-data.php
CHANGED
@@ -80,7 +80,6 @@ class WPSEO_Tracking_Settings_Data implements WPSEO_Collection {
|
|
80 |
'company_name',
|
81 |
'company_or_person',
|
82 |
'person_name',
|
83 |
-
'title_test',
|
84 |
'forcerewritetitle',
|
85 |
'separator',
|
86 |
'title-home-wpseo',
|
80 |
'company_name',
|
81 |
'company_or_person',
|
82 |
'person_name',
|
|
|
83 |
'forcerewritetitle',
|
84 |
'separator',
|
85 |
'title-home-wpseo',
|
admin/tracking/class-tracking.php
CHANGED
@@ -105,9 +105,16 @@ class WPSEO_Tracking implements WPSEO_WordPress_Integration {
|
|
105 |
return;
|
106 |
}
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
$collector = $this->get_collector();
|
109 |
|
110 |
-
$request = new WPSEO_Remote_Request( $this->endpoint );
|
111 |
$request->set_body( $collector->get_as_json() );
|
112 |
$request->send();
|
113 |
|
105 |
return;
|
106 |
}
|
107 |
|
108 |
+
// Set a 'content-type' header of 'application/json'.
|
109 |
+
$tracking_request_args = [
|
110 |
+
'headers' => [
|
111 |
+
'content-type:' => 'application/json',
|
112 |
+
],
|
113 |
+
];
|
114 |
+
|
115 |
$collector = $this->get_collector();
|
116 |
|
117 |
+
$request = new WPSEO_Remote_Request( $this->endpoint, $tracking_request_args );
|
118 |
$request->set_body( $collector->get_as_json() );
|
119 |
$request->send();
|
120 |
|
admin/views/class-yoast-feature-toggles.php
CHANGED
@@ -143,6 +143,16 @@ class Yoast_Feature_Toggles {
|
|
143 |
),
|
144 |
'order' => 90,
|
145 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
];
|
147 |
|
148 |
/**
|
143 |
),
|
144 |
'order' => 90,
|
145 |
],
|
146 |
+
(object) [
|
147 |
+
'name' => __( 'REST API: Head endpoint', 'wordpress-seo' ),
|
148 |
+
'setting' => 'enable_headless_rest_endpoints',
|
149 |
+
'label' => sprintf(
|
150 |
+
/* translators: 1: Yoast SEO */
|
151 |
+
__( 'This %1$s REST API endpoint gives you all the metadata you need for a specific URL. This will make it very easy for headless WordPress sites to use %1$s for all their SEO meta output.', 'wordpress-seo' ),
|
152 |
+
'Yoast SEO'
|
153 |
+
),
|
154 |
+
'order' => 100,
|
155 |
+
],
|
156 |
];
|
157 |
|
158 |
/**
|
config/dependency-injection/container-compiler.php
CHANGED
@@ -30,6 +30,10 @@ class Container_Compiler {
|
|
30 |
$cache = new ConfigCache( $file, $debug );
|
31 |
|
32 |
if ( ! $cache->isFresh() ) {
|
|
|
|
|
|
|
|
|
33 |
$container_builder = new ContainerBuilder();
|
34 |
$container_builder->addCompilerPass( new Loader_Pass() );
|
35 |
$loader = new Custom_Loader( $container_builder );
|
30 |
$cache = new ConfigCache( $file, $debug );
|
31 |
|
32 |
if ( ! $cache->isFresh() ) {
|
33 |
+
if ( ! defined( 'WPSEO_VERSION' ) ) {
|
34 |
+
define( 'WPSEO_VERSION', 'COMPILING' );
|
35 |
+
}
|
36 |
+
|
37 |
$container_builder = new ContainerBuilder();
|
38 |
$container_builder->addCompilerPass( new Loader_Pass() );
|
39 |
$loader = new Custom_Loader( $container_builder );
|
config/dependency-injection/custom-loader.php
CHANGED
@@ -105,31 +105,6 @@ class Custom_Loader extends PhpFileLoader {
|
|
105 |
}
|
106 |
}
|
107 |
|
108 |
-
/**
|
109 |
-
* Registers a definition in the container with its instanceof-conditionals.
|
110 |
-
*
|
111 |
-
* @param string $id The ID of the definition.
|
112 |
-
* @param \Symfony\Component\DependencyInjection\Definition $definition The definition.
|
113 |
-
*
|
114 |
-
* @throws InvalidArgumentException If invalid arguments were supplied.
|
115 |
-
*
|
116 |
-
* @return void
|
117 |
-
*/
|
118 |
-
protected function setDefinition( $id, Definition $definition ) {
|
119 |
-
$this->container->removeBindings( $id );
|
120 |
-
|
121 |
-
// @codingStandardsIgnoreLine WordPress.NamingConventions.ValidVariableName.NotSnakeCaseMemberVar This is from an inherited class not abiding by that standard.
|
122 |
-
if ( $this->isLoadingInstanceof ) {
|
123 |
-
if ( ! $definition instanceof ChildDefinition ) {
|
124 |
-
throw new InvalidArgumentException( \sprintf( 'Invalid type definition "%s": ChildDefinition expected, "%s" given.', $id, \get_class( $definition ) ) );
|
125 |
-
}
|
126 |
-
$this->instanceof[ $id ] = $definition;
|
127 |
-
}
|
128 |
-
else {
|
129 |
-
$this->container->setDefinition( $id, ( $definition instanceof ChildDefinition ) ? $definition : $definition->setInstanceofConditionals( $this->instanceof ) );
|
130 |
-
}
|
131 |
-
}
|
132 |
-
|
133 |
/**
|
134 |
* Finds classes based on a given pattern and exclude pattern.
|
135 |
*
|
105 |
}
|
106 |
}
|
107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
/**
|
109 |
* Finds classes based on a given pattern and exclude pattern.
|
110 |
*
|
config/dependency-injection/loader-pass.php
CHANGED
@@ -10,11 +10,11 @@ namespace Yoast\WP\SEO\Dependency_Injection;
|
|
10 |
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
11 |
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
12 |
use Symfony\Component\DependencyInjection\Definition;
|
13 |
-
use
|
14 |
-
use Yoast\WP\SEO\
|
|
|
15 |
use Yoast\WP\SEO\Loader;
|
16 |
-
use Yoast\WP\SEO\
|
17 |
-
use Yoast\WP\SEO\WordPress\Integration;
|
18 |
|
19 |
/**
|
20 |
* A pass is a step in the compilation process of the container.
|
@@ -36,9 +36,6 @@ class Loader_Pass implements CompilerPassInterface {
|
|
36 |
}
|
37 |
|
38 |
$loader_definition = $container->getDefinition( Loader::class );
|
39 |
-
$loader_definition->setArgument( 0, new Reference( 'service_container' ) );
|
40 |
-
$loader_definition->setPublic( true );
|
41 |
-
|
42 |
$definitions = $container->getDefinitions();
|
43 |
|
44 |
foreach ( $definitions as $definition ) {
|
@@ -55,18 +52,20 @@ class Loader_Pass implements CompilerPassInterface {
|
|
55 |
private function process_definition( Definition $definition, Definition $loader_definition ) {
|
56 |
$class = $definition->getClass();
|
57 |
|
58 |
-
if ( \is_subclass_of( $class,
|
59 |
$loader_definition->addMethodCall( 'register_initializer', [ $class ] );
|
60 |
-
$definition->setPublic( true );
|
61 |
}
|
62 |
|
63 |
-
if ( \is_subclass_of( $class,
|
64 |
$loader_definition->addMethodCall( 'register_integration', [ $class ] );
|
65 |
-
$definition->setPublic( true );
|
66 |
}
|
67 |
|
68 |
-
if ( \is_subclass_of( $class,
|
69 |
-
$
|
|
|
|
|
|
|
|
|
70 |
}
|
71 |
}
|
72 |
}
|
10 |
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
11 |
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
12 |
use Symfony\Component\DependencyInjection\Definition;
|
13 |
+
use Yoast\WP\SEO\Commands\Command_Interface;
|
14 |
+
use Yoast\WP\SEO\Initializers\Initializer_Interface;
|
15 |
+
use Yoast\WP\SEO\Integrations\Integration_Interface;
|
16 |
use Yoast\WP\SEO\Loader;
|
17 |
+
use Yoast\WP\SEO\Routes\Route_Interface;
|
|
|
18 |
|
19 |
/**
|
20 |
* A pass is a step in the compilation process of the container.
|
36 |
}
|
37 |
|
38 |
$loader_definition = $container->getDefinition( Loader::class );
|
|
|
|
|
|
|
39 |
$definitions = $container->getDefinitions();
|
40 |
|
41 |
foreach ( $definitions as $definition ) {
|
52 |
private function process_definition( Definition $definition, Definition $loader_definition ) {
|
53 |
$class = $definition->getClass();
|
54 |
|
55 |
+
if ( \is_subclass_of( $class, Initializer_Interface::class ) ) {
|
56 |
$loader_definition->addMethodCall( 'register_initializer', [ $class ] );
|
|
|
57 |
}
|
58 |
|
59 |
+
if ( \is_subclass_of( $class, Integration_Interface::class ) ) {
|
60 |
$loader_definition->addMethodCall( 'register_integration', [ $class ] );
|
|
|
61 |
}
|
62 |
|
63 |
+
if ( \is_subclass_of( $class, Route_Interface::class ) ) {
|
64 |
+
$loader_definition->addMethodCall( 'register_route', [ $class ] );
|
65 |
+
}
|
66 |
+
|
67 |
+
if ( \is_subclass_of( $class, Command_Interface::class ) ) {
|
68 |
+
$loader_definition->addMethodCall( 'register_command', [ $class ] );
|
69 |
}
|
70 |
}
|
71 |
}
|
config/dependency-injection/services.php
CHANGED
@@ -8,23 +8,28 @@
|
|
8 |
namespace Yoast\WP\SEO\Dependency_Injection;
|
9 |
|
10 |
use Symfony\Component\DependencyInjection\Definition;
|
11 |
-
use
|
12 |
-
use
|
13 |
-
use
|
14 |
-
use
|
15 |
use Yoast\WP\SEO\WordPress\Wrapper;
|
|
|
16 |
|
17 |
/* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
|
18 |
|
19 |
// WordPress factory functions.
|
20 |
$container->register( 'wpdb', 'wpdb' )->setFactory( [ Wrapper::class, 'get_wpdb' ] );
|
21 |
-
$container->register( 'wp_query', 'WP_Query' )->setFactory( [ Wrapper::class, 'get_wp_query' ] );
|
22 |
|
23 |
-
//
|
24 |
-
$container->register(
|
25 |
-
$container->register(
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
$excluded_files = [
|
30 |
'main.php',
|
@@ -36,6 +41,9 @@ $excluded_directories = [
|
|
36 |
'wordpress',
|
37 |
'generated',
|
38 |
'orm',
|
|
|
|
|
|
|
39 |
];
|
40 |
|
41 |
$excluded = \implode( ',', \array_merge( $excluded_directories, $excluded_files ) );
|
@@ -45,7 +53,7 @@ $base_definition = new Definition();
|
|
45 |
$base_definition
|
46 |
->setAutowired( true )
|
47 |
->setAutoconfigured( true )
|
48 |
-
->setPublic(
|
49 |
|
50 |
/* @var $loader \Yoast\WP\SEO\Dependency_Injection\Custom_Loader */
|
51 |
$loader->registerClasses( $base_definition, 'Yoast\\WP\\SEO\\', 'src/*', 'src/{' . $excluded . '}' );
|
8 |
namespace Yoast\WP\SEO\Dependency_Injection;
|
9 |
|
10 |
use Symfony\Component\DependencyInjection\Definition;
|
11 |
+
use WPSEO_Admin_Asset_Manager;
|
12 |
+
use WPSEO_Breadcrumbs;
|
13 |
+
use WPSEO_Frontend;
|
14 |
+
use WPSEO_Replace_Vars;
|
15 |
use Yoast\WP\SEO\WordPress\Wrapper;
|
16 |
+
use YoastSEO_Vendor\Symfony\Component\DependencyInjection\ContainerInterface;
|
17 |
|
18 |
/* @var $container \Symfony\Component\DependencyInjection\ContainerBuilder */
|
19 |
|
20 |
// WordPress factory functions.
|
21 |
$container->register( 'wpdb', 'wpdb' )->setFactory( [ Wrapper::class, 'get_wpdb' ] );
|
|
|
22 |
|
23 |
+
// Legacy classes.
|
24 |
+
$container->register( WPSEO_Replace_Vars::class, WPSEO_Replace_Vars::class )->setFactory( [ Wrapper::class, 'get_replace_vars' ] )->setPublic( true );
|
25 |
+
$container->register( WPSEO_Admin_Asset_Manager::class, WPSEO_Admin_Asset_Manager::class )->setFactory( [ Wrapper::class, 'get_admin_asset_manager' ] )->setPublic( true );
|
26 |
+
|
27 |
+
// Backwards-compatibility classes in the global namespace.
|
28 |
+
$container->register( WPSEO_Breadcrumbs::class, WPSEO_Breadcrumbs::class )->setAutowired( true )->setPublic( true );
|
29 |
+
$container->register( WPSEO_Frontend::class, WPSEO_Frontend::class )->setAutowired( true )->setPublic( true );
|
30 |
+
|
31 |
+
// The container itself.
|
32 |
+
$container->setAlias( ContainerInterface::class, 'service_container' );
|
33 |
|
34 |
$excluded_files = [
|
35 |
'main.php',
|
41 |
'wordpress',
|
42 |
'generated',
|
43 |
'orm',
|
44 |
+
'backwards-compatibility',
|
45 |
+
'surfaces/values',
|
46 |
+
'presenters',
|
47 |
];
|
48 |
|
49 |
$excluded = \implode( ',', \array_merge( $excluded_directories, $excluded_files ) );
|
53 |
$base_definition
|
54 |
->setAutowired( true )
|
55 |
->setAutoconfigured( true )
|
56 |
+
->setPublic( true );
|
57 |
|
58 |
/* @var $loader \Yoast\WP\SEO\Dependency_Injection\Custom_Loader */
|
59 |
$loader->registerClasses( $base_definition, 'Yoast\\WP\\SEO\\', 'src/*', 'src/{' . $excluded . '}' );
|
css/dist/{admin-global-1350-rtl.css → admin-global-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{admin-global-1350.css → admin-global-1400.css}
RENAMED
File without changes
|
css/dist/{adminbar-1350-rtl.css → adminbar-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{adminbar-1350.css → adminbar-1400.css}
RENAMED
File without changes
|
css/dist/{alerts-1350-rtl.css → alerts-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{alerts-1350.css → alerts-1400.css}
RENAMED
File without changes
|
css/dist/{dashboard-1350-rtl.css → dashboard-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{dashboard-1350.css → dashboard-1400.css}
RENAMED
File without changes
|
css/dist/{edit-page-1350-rtl.css → edit-page-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{edit-page-1350.css → edit-page-1400.css}
RENAMED
File without changes
|
css/dist/{featured-image-1350-rtl.css → featured-image-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{featured-image-1350.css → featured-image-1400.css}
RENAMED
File without changes
|
css/dist/{filter-explanation-1350-rtl.css → filter-explanation-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{filter-explanation-1350.css → filter-explanation-1400.css}
RENAMED
File without changes
|
css/dist/{inside-editor-1350-rtl.css → inside-editor-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{inside-editor-1350.css → inside-editor-1400.css}
RENAMED
File without changes
|
css/dist/{metabox-1350-rtl.css → metabox-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{metabox-1350.css → metabox-1400.css}
RENAMED
File without changes
|
css/dist/{metabox-primary-category-1350-rtl.css → metabox-primary-category-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{metabox-primary-category-1350.css → metabox-primary-category-1400.css}
RENAMED
File without changes
|
css/dist/monorepo-1400-rtl.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.yoast .yoast-button{display:inline-block;position:relative;padding:10px 16px 12px;text-decoration:none;border-radius:4px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 -2px 0 rgba(0,0,0,.3);transition:background-color .15s ease-out 0s;line-height:1.2;font-size:14px;cursor:pointer}.yoast .yoast-button:active{box-shadow:none;padding-bottom:12px;top:2px}.yoast .yoast-button--primary{color:var(--color-white);background-color:var(--color-primary);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:visited{color:var(--color-white);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:active,.yoast .yoast-button--primary:hover{color:var(--color-white);background-color:var(--color-primary-darker);border:1px solid rgba(0,0,0,.2)}.yoast-close{display:flex;justify-content:center;align-items:center;border:none;background:none;height:44px;width:44px;cursor:pointer;box-shadow:none;padding:0}.yoast-close svg{fill:var(--color-default);width:14px}@media screen and (max-width:782px){.yoast-close svg{width:10px}}.yoast-data-model{padding:0;list-style:none;width:275px}.yoast-data-model li{line-height:1.4;padding:0 8px;position:relative;z-index:2;font-weight:var(--font-weight-bold)}.yoast-data-model span{float:left;font-weight:var(--font-weight-default)}.yoast-data-model li+li{margin-top:9px}.yoast-data-model li:after{position:absolute;right:0;height:20px;background:#f5d6e6;content:"";width:var(--width);z-index:-1}.yoast-field-group,.yoast fieldset{position:relative;border:none;padding:0;margin:0 0 24px}.yoast-field-group__title{display:flex;align-items:center;font-weight:var(--font-weight-bold);margin:0 0 8px;color:var(--color-label);line-height:1.2;float:right;padding:0}.yoast-field-group__help{border-radius:50%;padding:4px;width:12px;height:12px;display:block;float:right;margin-top:-5px}.yoast-field-group__help+*{clear:both}.yoast-field-group__help-icon svg{width:12px;height:12px;fill:var(--color-label-help);transition:var(--transition-default)}.yoast-field-group__help:hover svg{fill:var(--color-link)}.yoast-field-group .description{margin:0}:root{--color-placeholder:#707070}.yoast-field-group__inputfield,.yoast-field-group__textarea,.yoast input,.yoast textarea{width:100%;font-size:var(--font-size-default);padding:8px;background:#fff;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);box-sizing:border-box}.yoast-field-group__inputfield,.yoast input{height:40px}.yoast-field-group__textarea,.yoast textarea{min-height:200px}.yoast-field-group .description+.yoast-field-group__inputfield,.yoast-field-group .description+input,.yoast-field-group__inputfield+.description,.yoast input+.description{margin-top:8px;margin-bottom:24px}::-ms-input-placeholder,::-webkit-input-placeholder,::placeholder{color:var(--color-placeholder)}.yoast-field-group__radiobutton{display:flex;align-items:center}.yoast-field-group__radiobutton--vertical:not(:last-of-type){margin-bottom:8px}.yoast-field-group__radiobutton label{cursor:pointer;margin-left:16px}.yoast-field-group__radiobutton input[type=radio],.yoast input[type=radio]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:0 0 0 8px;border-radius:50%;transition:all .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden;cursor:pointer}.yoast-field-group__radiobutton input[type=radio]:checked,.yoast input[type=radio]:checked{border-color:var(--color-primary)}.yoast-field-group__radiobutton input[type=radio]:checked:after,.yoast input[type=radio]:checked:after{width:10px;height:10px;background:var(--color-primary);position:absolute;right:3px;top:3px;content:"";display:block;border-radius:50%}.yoast-field-group__select{display:flex;cursor:pointer;align-items:center}.select2-container--default,.yoast-field-group__select select,.yoast select{-webkit-appearance:none;-moz-appearance:none;width:100%;font-size:var(--font-size-default);padding:10px 8px 11px;background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path d="M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z"/></svg>');background-position:left 15px center;background-repeat:no-repeat;background-size:10px auto;border-radius:0;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;max-width:300px;display:block}.select2-container--default{background-image:none;padding:8px 8px 3px}.select2-container--default.select2-container--focus .select2-selection--multiple{outline:inherit;border:0}.select2-container--default .yoast-multiselect{border:0;min-height:0}.select2-container--default .yoast-multiselect ul{display:flex;margin:0;padding:0;list-style:none}.select2-container--default .yoast-multiselect .select2-selection__choice{background-color:var(--color-primary);border:0;border-radius:12px;color:var(--color-white);padding-top:0;padding-right:10px;padding-left:10px;margin-top:0;margin-left:8px;line-height:1.7;font-weight:500}.select2-container--default .yoast-multiselect .select2-selection__choice__remove{margin-left:8px;color:var(--color-white)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--color-white)}.select2-dropdown{border-color:var(--color-border--default);border-radius:0}.select2-container--open .select2-dropdown{top:-2px;right:-1px}.select2-results__option{padding:8px;border-top:var(--border-default)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--color-primary-lighter);color:var(--color-font-default)}.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--color-primary);color:var(--color-white)}.yoast-field-group__toggle{display:flex;align-items:center;width:600px;justify-content:space-between}.yoast-field-group__toggle input{position:absolute;right:0;opacity:0}.yoast-field-group__toggle label{position:relative;z-index:2;cursor:pointer}.yoast-field-group__toggle input:checked+label{color:var(--color-toggle-on)}.yoast-field-group__toggle input:not(:checked)+label{color:var(--color-toggle-off)}.yoast-field-group__toggle a{display:inline-block;width:34px;height:14px;border-radius:5px;background:#b6cf94;position:relative;margin:0 9px}.yoast-field-group__toggle input:first-of-type:checked~a{background:#9e9e9e}.yoast-field-group__toggle a:after{content:"";display:block;height:20px;width:20px;position:absolute;left:-2px;background:#6ea029;border-radius:50%;top:-3px;transition:all .1s ease-out}.yoast-field-group__toggle input:first-of-type:checked~a:after{left:calc(100% - 18px);background:#f1f1f1;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.2),0 2px 1px -1px rgba(0,0,0,.12)}.yoast-field-group__checkbox{display:flex;cursor:pointer;align-items:center}.yoast-field-group__checkbox:not(.yoast-field-group__checkbox--horizontal)+.yoast-field-group__checkbox{margin-top:4px}.yoast-field-group__checkbox input[type=checkbox],.yoast input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:2px 0 0 8px;border-radius:2px;transition:background-color .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden}.yoast label+input[type=checkbox]{margin-right:16px}.yoast-field-group__checkbox input[type=checkbox]:checked,.yoast input[type=checkbox]:checked{background:var(--checkmark--white) var(--color-primary) no-repeat 50%/13px;border:1px solid var(--color-primary);box-shadow:none}.yoast-modal__screen-overlay{position:fixed;top:0;left:0;bottom:0;right:0;background-color:rgba(164,40,106,.6);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.yoast-modal{background:#fff;display:flex;flex-direction:column;overflow:hidden;position:fixed;height:calc(100% - 96px);top:48px;bottom:48px;right:calc(50% - 440px);max-width:880px;width:100%}.yoast-tabs .yoast-modal__content{display:grid;grid-template-areas:"heading heading" "menu content" "menu footer";grid-template-rows:72px 1fr 89px;grid-template-columns:280px 1fr}.yoast-modal__heading{padding:13px 24px 14px;display:flex;align-items:center;border-bottom:var(--border-default);grid-area:heading;background:var(--color-white);height:72px}.yoast-modal__heading .yoast-close{position:absolute;left:16px}.yoast-modal__heading h1{font-size:20px}.yoast-modal__heading-icon{fill:var(--color-primary);margin-left:16px;width:19px;height:20px;flex-shrink:0}.yoast-modal__menu{grid-area:menu;border-left:var(--border-default);overflow-y:auto}.yoast-modal__menu ul{padding:0;margin:0;list-style:none}.yoast-modal__menu li{padding:12px 16px 11px;border-bottom:var(--border-default);font-size:16px;cursor:pointer;text-decoration:none;color:var(--color-default);display:block}.yoast-modal__menu li:hover{background-color:#edd4e1}.yoast-modal__menu li.yoast-tabs__tab--selected{background-color:var(--color-primary);border-bottom:var(--border-default);color:#fff}.yoast-modal__content,.yoast-modal__section{grid-area:content;overflow-y:auto;flex-grow:1;position:relative;display:flex;flex-direction:column}.yoast-modal__section *{max-width:600px}.yoast-modal__section-header{position:-webkit-sticky;position:sticky;top:0;background:var(--color-white);padding:24px 24px 0;z-index:10}.yoast-modal__section .yoast-h2{border-bottom:var(--border-default);padding-bottom:24px}.yoast-modal__footer{grid-area:footer;padding:24px 0;border-top:var(--border-default);display:flex;align-self:flex-end;align-items:center;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:0;background:var(--color-white);margin:0 24px;z-index:10;height:89px;width:calc(100% - 48px)}.yoast-modal__settings-saved{position:relative;margin-left:16px;display:inline-flex;align-items:center}.yoast-modal__settings-saved:before{content:"";background:var(--checkmark--green) no-repeat 50%;height:13px;width:14px;display:inline-block;margin-left:8px}.yoast-modal__footer .yoast-button{display:block}.yoast-modal__section-content{padding:24px;flex-grow:1}@media screen and (max-width:880px){.yoast-modal{position:fixed;top:0;bottom:0;right:0;left:0}}@media screen and (max-width:782px){.yoast-modal{overflow-y:initial;height:auto;padding-bottom:72px}.yoast-modal__heading{padding:14px 16px 15px;position:fixed;top:0;width:100%;z-index:11;height:auto}.yoast-close svg{width:10px}.yoast-modal__heading-icon{height:15px;margin-left:8px}.yoast .yoast-close{left:3px}.yoast-modal__heading .yoast-h2{font-size:var(--font-size-default)}.yoast-modal__section{overflow:initial;flex-grow:0}.yoast-modal__section-content{padding:24px 0;margin:0 16px}.yoast-modal__section:first-of-type{margin-top:46px}.yoast-modal__section:last-of-type{margin-bottom:72px}.yoast-modal__section-header{top:46px;position:-webkit-sticky;position:sticky;padding:0;margin:0}.yoast-modal__section-open .yoast-modal__section-header{padding-right:0;padding-left:0;margin-right:16px;margin-left:16px}.yoast-modal__section-open{border-bottom:var(--border-default)}.yoast-modal__footer{margin:0;width:100%;position:fixed;z-index:11;height:72px;padding:24px 16px}.yoast-modal-collapsible .yoast-modal__section-content{padding:24px 16px;border-bottom:var(--border-default);margin:0}.yoast-collapsible__hidden{display:none}.yoast-collapsible__trigger{padding:16px;border:none;border-bottom:var(--border-default);cursor:pointer;justify-content:space-between;font-size:var(--font-size-default);width:100%;text-align:right;background:#fff;color:var(--color-primary)}.yoast-collapsible__trigger[aria-expanded=true] .yoast-collapsible__icon{transform:rotate(-180deg)}.yoast-collapsible__trigger[aria-expanded=true]{padding:16px 0;width:calc(100% - 32px);margin:0 16px}.yoast-collapsible__icon{background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23404040'%3E%3Cpath d='M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px auto;width:19px;height:19px;border:none;display:block;float:left}.yoast-collapsible-block{width:100%;margin-top:46px}.yoast-collapsible-block+.yoast-collapsible-block{margin-top:0}}:root{--border-default:1px solid rgba(0,0,0,0.2);--color-default:#404040;--color-primary:#a4286a;--color-secondary:#f7f7f7;--color-white:#fff;--color-green:#6ea029;--color-primary-darker:#7b1e50;--color-primary-lighter:#f5d6e6;--color-secondary-darker:#d9d9d9;--color-button-upsell:#fec228;--color-button-upsell-hover:#f2ae01;--color-dark:#303030;--color-sale:#fec228;--color-label:#303030;--color-label-help:#707070;--color-toggle-on:#303030;--color-toggle-off:#707070;--transition-default:all 150ms ease-out;--color-link:#006dac;--color-border--default:rgba(0,0,0,0.2);--checkmark--white:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--svg-icon-caret-right:url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"/></svg>');--checkmark--green:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236EA029' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--exclamation-mark:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23DC3232' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E")}[class*=yoast-]{box-sizing:border-box}[class*=yoast-]:focus{box-shadow:0 0 0 2px #007fff,0 0 0 5px #bfdfff;border-radius:0;outline:none}:root{--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--font-size-default:14px;--font-weight-default:400;--font-weight-bold:600;--color-font-default:#404040}.yoast-h1,.yoast-h2,.yoast-h3,.yoast h1,.yoast h2,.yoast h3{font-weight:400;color:var(--color-primary);line-height:1.2;margin:0}.yoast-h1 a,.yoast-h2 a,.yoast-h3 a{color:var(--color-primary);text-decoration:none}.yoast-h1,.yoast h1{font-size:24px}.yoast-h2,.yoast h2{font-size:20px}.yoast-h3,.yoast h4{font-size:16px}.yoast-paragraph,.yoast p{font-size:var(--font-size-default);margin-top:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}@media (max-width:782px){.yoast-show-on-mobile{display:initial!important}}@media (min-width:782px){.yoast-hide-on-desktop{display:none}}
|
css/dist/monorepo-1400.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.yoast .yoast-button{display:inline-block;position:relative;padding:10px 16px 12px;text-decoration:none;border-radius:4px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 -2px 0 rgba(0,0,0,.3);transition:background-color .15s ease-out 0s;line-height:1.2;font-size:14px;cursor:pointer}.yoast .yoast-button:active{box-shadow:none;padding-bottom:12px;top:2px}.yoast .yoast-button--primary{color:var(--color-white);background-color:var(--color-primary);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:visited{color:var(--color-white);border:1px solid rgba(0,0,0,.2)}.yoast .yoast-button--primary:active,.yoast .yoast-button--primary:hover{color:var(--color-white);background-color:var(--color-primary-darker);border:1px solid rgba(0,0,0,.2)}.yoast-close{display:flex;justify-content:center;align-items:center;border:none;background:none;height:44px;width:44px;cursor:pointer;box-shadow:none;padding:0}.yoast-close svg{fill:var(--color-default);width:14px}@media screen and (max-width:782px){.yoast-close svg{width:10px}}.yoast-data-model{padding:0;list-style:none;width:275px}.yoast-data-model li{line-height:1.4;padding:0 8px;position:relative;z-index:2;font-weight:var(--font-weight-bold)}.yoast-data-model span{float:right;font-weight:var(--font-weight-default)}.yoast-data-model li+li{margin-top:9px}.yoast-data-model li:after{position:absolute;left:0;height:20px;background:#f5d6e6;content:"";width:var(--width);z-index:-1}.yoast-field-group,.yoast fieldset{position:relative;border:none;padding:0;margin:0 0 24px}.yoast-field-group__title{display:flex;align-items:center;font-weight:var(--font-weight-bold);margin:0 0 8px;color:var(--color-label);line-height:1.2;float:left;padding:0}.yoast-field-group__help{border-radius:50%;padding:4px;width:12px;height:12px;display:block;float:left;margin-top:-5px}.yoast-field-group__help+*{clear:both}.yoast-field-group__help-icon svg{width:12px;height:12px;fill:var(--color-label-help);transition:var(--transition-default)}.yoast-field-group__help:hover svg{fill:var(--color-link)}.yoast-field-group .description{margin:0}:root{--color-placeholder:#707070}.yoast-field-group__inputfield,.yoast-field-group__textarea,.yoast input,.yoast textarea{width:100%;font-size:var(--font-size-default);padding:8px;background:#fff;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);box-sizing:border-box}.yoast-field-group__inputfield,.yoast input{height:40px}.yoast-field-group__textarea,.yoast textarea{min-height:200px}.yoast-field-group .description+.yoast-field-group__inputfield,.yoast-field-group .description+input,.yoast-field-group__inputfield+.description,.yoast input+.description{margin-top:8px;margin-bottom:24px}::-ms-input-placeholder,::-webkit-input-placeholder,::placeholder{color:var(--color-placeholder)}.yoast-field-group__radiobutton{display:flex;align-items:center}.yoast-field-group__radiobutton--vertical:not(:last-of-type){margin-bottom:8px}.yoast-field-group__radiobutton label{cursor:pointer;margin-right:16px}.yoast-field-group__radiobutton input[type=radio],.yoast input[type=radio]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:0 8px 0 0;border-radius:50%;transition:all .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden;cursor:pointer}.yoast-field-group__radiobutton input[type=radio]:checked,.yoast input[type=radio]:checked{border-color:var(--color-primary)}.yoast-field-group__radiobutton input[type=radio]:checked:after,.yoast input[type=radio]:checked:after{width:10px;height:10px;background:var(--color-primary);position:absolute;left:3px;top:3px;content:"";display:block;border-radius:50%}.yoast-field-group__select{display:flex;cursor:pointer;align-items:center}.select2-container--default,.yoast-field-group__select select,.yoast select{-webkit-appearance:none;-moz-appearance:none;width:100%;font-size:var(--font-size-default);padding:10px 8px 11px;background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path d="M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z"/></svg>');background-position:right 15px center;background-repeat:no-repeat;background-size:10px auto;border-radius:0;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;max-width:300px;display:block}.select2-container--default{background-image:none;padding:8px 8px 3px}.select2-container--default.select2-container--focus .select2-selection--multiple{outline:inherit;border:0}.select2-container--default .yoast-multiselect{border:0;min-height:0}.select2-container--default .yoast-multiselect ul{display:flex;margin:0;padding:0;list-style:none}.select2-container--default .yoast-multiselect .select2-selection__choice{background-color:var(--color-primary);border:0;border-radius:12px;color:var(--color-white);padding-top:0;padding-left:10px;padding-right:10px;margin-top:0;margin-right:8px;line-height:1.7;font-weight:500}.select2-container--default .yoast-multiselect .select2-selection__choice__remove{margin-right:8px;color:var(--color-white)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:var(--color-white)}.select2-dropdown{border-color:var(--color-border--default);border-radius:0}.select2-container--open .select2-dropdown{top:-2px;left:-1px}.select2-results__option{padding:8px;border-top:var(--border-default)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:var(--color-primary-lighter);color:var(--color-font-default)}.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--color-primary);color:var(--color-white)}.yoast-field-group__toggle{display:flex;align-items:center;width:600px;justify-content:space-between}.yoast-field-group__toggle input{position:absolute;left:0;opacity:0}.yoast-field-group__toggle label{position:relative;z-index:2;cursor:pointer}.yoast-field-group__toggle input:checked+label{color:var(--color-toggle-on)}.yoast-field-group__toggle input:not(:checked)+label{color:var(--color-toggle-off)}.yoast-field-group__toggle a{display:inline-block;width:34px;height:14px;border-radius:5px;background:#b6cf94;position:relative;margin:0 9px}.yoast-field-group__toggle input:first-of-type:checked~a{background:#9e9e9e}.yoast-field-group__toggle a:after{content:"";display:block;height:20px;width:20px;position:absolute;right:-2px;background:#6ea029;border-radius:50%;top:-3px;transition:all .1s ease-out}.yoast-field-group__toggle input:first-of-type:checked~a:after{right:calc(100% - 18px);background:#f1f1f1;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.2),0 2px 1px -1px rgba(0,0,0,.12)}.yoast-field-group__checkbox{display:flex;cursor:pointer;align-items:center}.yoast-field-group__checkbox:not(.yoast-field-group__checkbox--horizontal)+.yoast-field-group__checkbox{margin-top:4px}.yoast-field-group__checkbox input[type=checkbox],.yoast input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;padding:2px;margin:2px 8px 0 0;border-radius:2px;transition:background-color .15s ease-out 0s;border:var(--border-default);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);position:relative;overflow:hidden}.yoast label+input[type=checkbox]{margin-left:16px}.yoast-field-group__checkbox input[type=checkbox]:checked,.yoast input[type=checkbox]:checked{background:var(--checkmark--white) var(--color-primary) no-repeat 50%/13px;border:1px solid var(--color-primary);box-shadow:none}.yoast-modal__screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(164,40,106,.6);z-index:100000;animation:edit-post__fade-in-animation .2s ease-out 0s;animation-fill-mode:forwards}.yoast-modal{background:#fff;display:flex;flex-direction:column;overflow:hidden;position:fixed;height:calc(100% - 96px);top:48px;bottom:48px;left:calc(50% - 440px);max-width:880px;width:100%}.yoast-tabs .yoast-modal__content{display:grid;grid-template-areas:"heading heading" "menu content" "menu footer";grid-template-rows:72px 1fr 89px;grid-template-columns:280px 1fr}.yoast-modal__heading{padding:13px 24px 14px;display:flex;align-items:center;border-bottom:var(--border-default);grid-area:heading;background:var(--color-white);height:72px}.yoast-modal__heading .yoast-close{position:absolute;right:16px}.yoast-modal__heading h1{font-size:20px}.yoast-modal__heading-icon{fill:var(--color-primary);margin-right:16px;width:19px;height:20px;flex-shrink:0}.yoast-modal__menu{grid-area:menu;border-right:var(--border-default);overflow-y:auto}.yoast-modal__menu ul{padding:0;margin:0;list-style:none}.yoast-modal__menu li{padding:12px 16px 11px;border-bottom:var(--border-default);font-size:16px;cursor:pointer;text-decoration:none;color:var(--color-default);display:block}.yoast-modal__menu li:hover{background-color:#edd4e1}.yoast-modal__menu li.yoast-tabs__tab--selected{background-color:var(--color-primary);border-bottom:var(--border-default);color:#fff}.yoast-modal__content,.yoast-modal__section{grid-area:content;overflow-y:auto;flex-grow:1;position:relative;display:flex;flex-direction:column}.yoast-modal__section *{max-width:600px}.yoast-modal__section-header{position:-webkit-sticky;position:sticky;top:0;background:var(--color-white);padding:24px 24px 0;z-index:10}.yoast-modal__section .yoast-h2{border-bottom:var(--border-default);padding-bottom:24px}.yoast-modal__footer{grid-area:footer;padding:24px 0;border-top:var(--border-default);display:flex;align-self:flex-end;align-items:center;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:0;background:var(--color-white);margin:0 24px;z-index:10;height:89px;width:calc(100% - 48px)}.yoast-modal__settings-saved{position:relative;margin-right:16px;display:inline-flex;align-items:center}.yoast-modal__settings-saved:before{content:"";background:var(--checkmark--green) no-repeat 50%;height:13px;width:14px;display:inline-block;margin-right:8px}.yoast-modal__footer .yoast-button{display:block}.yoast-modal__section-content{padding:24px;flex-grow:1}@media screen and (max-width:880px){.yoast-modal{position:fixed;top:0;bottom:0;left:0;right:0}}@media screen and (max-width:782px){.yoast-modal{overflow-y:initial;height:auto;padding-bottom:72px}.yoast-modal__heading{padding:14px 16px 15px;position:fixed;top:0;width:100%;z-index:11;height:auto}.yoast-close svg{width:10px}.yoast-modal__heading-icon{height:15px;margin-right:8px}.yoast .yoast-close{right:3px}.yoast-modal__heading .yoast-h2{font-size:var(--font-size-default)}.yoast-modal__section{overflow:initial;flex-grow:0}.yoast-modal__section-content{padding:24px 0;margin:0 16px}.yoast-modal__section:first-of-type{margin-top:46px}.yoast-modal__section:last-of-type{margin-bottom:72px}.yoast-modal__section-header{top:46px;position:-webkit-sticky;position:sticky;padding:0;margin:0}.yoast-modal__section-open .yoast-modal__section-header{padding-left:0;padding-right:0;margin-left:16px;margin-right:16px}.yoast-modal__section-open{border-bottom:var(--border-default)}.yoast-modal__footer{margin:0;width:100%;position:fixed;z-index:11;height:72px;padding:24px 16px}.yoast-modal-collapsible .yoast-modal__section-content{padding:24px 16px;border-bottom:var(--border-default);margin:0}.yoast-collapsible__hidden{display:none}.yoast-collapsible__trigger{padding:16px;border:none;border-bottom:var(--border-default);cursor:pointer;justify-content:space-between;font-size:var(--font-size-default);width:100%;text-align:left;background:#fff;color:var(--color-primary)}.yoast-collapsible__trigger[aria-expanded=true] .yoast-collapsible__icon{transform:rotate(180deg)}.yoast-collapsible__trigger[aria-expanded=true]{padding:16px 0;width:calc(100% - 32px);margin:0 16px}.yoast-collapsible__icon{background-color:var(--color-white);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='%23404040'%3E%3Cpath d='M1.4 0L6 4.6 10.6 0 12 1.4 6 7.5 0 1.4z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10px auto;width:19px;height:19px;border:none;display:block;float:right}.yoast-collapsible-block{width:100%;margin-top:46px}.yoast-collapsible-block+.yoast-collapsible-block{margin-top:0}}:root{--border-default:1px solid rgba(0,0,0,0.2);--color-default:#404040;--color-primary:#a4286a;--color-secondary:#f7f7f7;--color-white:#fff;--color-green:#6ea029;--color-primary-darker:#7b1e50;--color-primary-lighter:#f5d6e6;--color-secondary-darker:#d9d9d9;--color-button-upsell:#fec228;--color-button-upsell-hover:#f2ae01;--color-dark:#303030;--color-sale:#fec228;--color-label:#303030;--color-label-help:#707070;--color-toggle-on:#303030;--color-toggle-off:#707070;--transition-default:all 150ms ease-out;--color-link:#006dac;--color-border--default:rgba(0,0,0,0.2);--checkmark--white:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFF' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--svg-icon-caret-right:url('data:image/svg+xml;charset=utf-8,<svg viewBox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"/></svg>');--checkmark--green:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%236EA029' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");--exclamation-mark:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23DC3232' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E")}[class*=yoast-]{box-sizing:border-box}[class*=yoast-]:focus{box-shadow:0 0 0 2px #007fff,0 0 0 5px #bfdfff;border-radius:0;outline:none}:root{--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--font-size-default:14px;--font-weight-default:400;--font-weight-bold:600;--color-font-default:#404040}.yoast-h1,.yoast-h2,.yoast-h3,.yoast h1,.yoast h2,.yoast h3{font-weight:400;color:var(--color-primary);line-height:1.2;margin:0}.yoast-h1 a,.yoast-h2 a,.yoast-h3 a{color:var(--color-primary);text-decoration:none}.yoast-h1,.yoast h1{font-size:24px}.yoast-h2,.yoast h2{font-size:20px}.yoast-h3,.yoast h4{font-size:16px}.yoast-paragraph,.yoast p{font-size:var(--font-size-default);margin-top:0}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}@media (max-width:782px){.yoast-show-on-mobile{display:initial!important}}@media (min-width:782px){.yoast-hide-on-desktop{display:none}}
|
css/dist/{search-appearance-1350-rtl.css → search-appearance-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{search-appearance-1350.css → search-appearance-1400.css}
RENAMED
File without changes
|
css/dist/{structured-data-blocks-1350-rtl.css → structured-data-blocks-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{structured-data-blocks-1350.css → structured-data-blocks-1400.css}
RENAMED
File without changes
|
css/dist/{toggle-switch-1350-rtl.css → toggle-switch-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{toggle-switch-1350.css → toggle-switch-1400.css}
RENAMED
File without changes
|
css/dist/{wpseo-dismissible-1350-rtl.css → wpseo-dismissible-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{wpseo-dismissible-1350.css → wpseo-dismissible-1400.css}
RENAMED
File without changes
|
css/dist/{yoast-components-1350-rtl.css → yoast-components-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{yoast-components-1350.css → yoast-components-1400.css}
RENAMED
File without changes
|
css/dist/{yoast-extensions-1350-rtl.css → yoast-extensions-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{yoast-extensions-1350.css → yoast-extensions-1400.css}
RENAMED
File without changes
|
css/dist/{yst_plugin_tools-1350-rtl.css → yst_plugin_tools-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{yst_plugin_tools-1350.css → yst_plugin_tools-1400.css}
RENAMED
File without changes
|
css/dist/{yst_seo_score-1350-rtl.css → yst_seo_score-1400-rtl.css}
RENAMED
File without changes
|
css/dist/{yst_seo_score-1350.css → yst_seo_score-1400.css}
RENAMED
File without changes
|
deprecated/frontend/class-handle-404.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class WPSEO_Handle_404
|
10 |
+
*
|
11 |
+
* Handles intercepting requests.
|
12 |
+
*
|
13 |
+
* @deprecated 14.0
|
14 |
+
*
|
15 |
+
* @since 9.4
|
16 |
+
*/
|
17 |
+
class WPSEO_Handle_404 implements WPSEO_WordPress_Integration {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Registers all hooks to WordPress.
|
21 |
+
*
|
22 |
+
* @codeCoverageIgnore
|
23 |
+
* @deprecated 14.0
|
24 |
+
*
|
25 |
+
* @return void
|
26 |
+
*/
|
27 |
+
public function register_hooks() {
|
28 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Handle the 404 status code.
|
33 |
+
*
|
34 |
+
* @codeCoverageIgnore
|
35 |
+
* @deprecated 14.0
|
36 |
+
*
|
37 |
+
* @param bool $handled Whether we've handled the request.
|
38 |
+
*
|
39 |
+
* @return bool True if it's 404.
|
40 |
+
*/
|
41 |
+
public function handle_404( $handled ) {
|
42 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
43 |
+
|
44 |
+
return $handled;
|
45 |
+
}
|
46 |
+
}
|
deprecated/frontend/class-opengraph-image.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
use Yoast\WP\SEO\Values\Open_Graph\Images;
|
9 |
+
|
10 |
+
_deprecated_file( basename( __FILE__ ), 'WPSEO 14.0' );
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Class WPSEO_OpenGraph_Image.
|
14 |
+
*
|
15 |
+
* @deprecated 14.0
|
16 |
+
*/
|
17 |
+
class WPSEO_OpenGraph_Image extends Images {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* The image ID used when the image is external.
|
21 |
+
*
|
22 |
+
* @var string
|
23 |
+
*/
|
24 |
+
const EXTERNAL_IMAGE_ID = '-1';
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Constructor.
|
28 |
+
*
|
29 |
+
* @deprecated 14.0
|
30 |
+
* @codeCoverageIgnore
|
31 |
+
*
|
32 |
+
* @param null|string $image Optional. The Image to use.
|
33 |
+
* @param WPSEO_OpenGraph $opengraph Optional. The OpenGraph object.
|
34 |
+
*/
|
35 |
+
public function __construct( $image = null, WPSEO_OpenGraph $opengraph = null ) {
|
36 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
37 |
+
}
|
38 |
+
}
|
deprecated/frontend/class-opengraph-oembed.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class WPSEO_OpenGraph_OEmbed.
|
10 |
+
*
|
11 |
+
* @deprecated 14.0
|
12 |
+
*/
|
13 |
+
class WPSEO_OpenGraph_OEmbed implements WPSEO_WordPress_Integration {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @inheritDoc
|
17 |
+
*
|
18 |
+
* @codeCoverageIgnore
|
19 |
+
* @deprecated 14.0
|
20 |
+
*/
|
21 |
+
public function register_hooks() {
|
22 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Callback function to pass to the oEmbed's response data that will enable
|
27 |
+
* support for using the image and title set by the WordPress SEO plugin's fields. This
|
28 |
+
* address the concern where some social channels/subscribed use oEmebed data over OpenGraph data
|
29 |
+
* if both are present.
|
30 |
+
*
|
31 |
+
* @codeCoverageIgnore
|
32 |
+
* @deprecated 14.0
|
33 |
+
*
|
34 |
+
* @param array $data The oEmbed data.
|
35 |
+
* @param WP_Post $post The current Post object.
|
36 |
+
*
|
37 |
+
* @link https://developer.wordpress.org/reference/hooks/oembed_response_data/ for hook info.
|
38 |
+
*
|
39 |
+
* @return array An array of oEmbed data with modified values where appropriate.
|
40 |
+
*/
|
41 |
+
public function set_oembed_data( $data, $post ) {
|
42 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
43 |
+
|
44 |
+
return $data;
|
45 |
+
}
|
46 |
+
}
|
deprecated/frontend/class-opengraph.php
ADDED
@@ -0,0 +1,314 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* This code adds the OpenGraph output.
|
10 |
+
*
|
11 |
+
* @deprecated 14.0
|
12 |
+
*/
|
13 |
+
class WPSEO_OpenGraph {
|
14 |
+
|
15 |
+
/* ********************* DEPRECATED METHODS ********************* */
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Class constructor.
|
19 |
+
*
|
20 |
+
* @deprecated 14.0
|
21 |
+
* @codeCoverageIgnore
|
22 |
+
*/
|
23 |
+
public function __construct() {
|
24 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Main OpenGraph output.
|
29 |
+
*
|
30 |
+
* @deprecated 14.0
|
31 |
+
* @codeCoverageIgnore
|
32 |
+
*/
|
33 |
+
public function opengraph() {
|
34 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Internal function to output FB tags. This also adds an output filter to each bit of output based on the property.
|
39 |
+
*
|
40 |
+
* @deprecated 14.0
|
41 |
+
* @codeCoverageIgnore
|
42 |
+
*
|
43 |
+
* @param string $property Property attribute value.
|
44 |
+
* @param string $content Content attribute value.
|
45 |
+
*
|
46 |
+
* @return boolean
|
47 |
+
*/
|
48 |
+
public function og_tag( $property, $content ) {
|
49 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Filter: 'wpseo_og_' . $og_property - Allow developers to change the content of specific OG meta tags.
|
53 |
+
*
|
54 |
+
* @deprecated 14.0
|
55 |
+
*
|
56 |
+
* @api string $content The content of the property.
|
57 |
+
*/
|
58 |
+
$content = apply_filters_deprecated( 'wpseo_og_' . $og_property, $content, 'WPSEO 14.0');
|
59 |
+
|
60 |
+
return true;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Outputs the site owner.
|
65 |
+
*
|
66 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
67 |
+
*
|
68 |
+
* @return void
|
69 |
+
*
|
70 |
+
* @deprecated 7.1
|
71 |
+
* @codeCoverageIgnore
|
72 |
+
*/
|
73 |
+
public function site_owner() {
|
74 |
+
// As this is a frontend method, we want to make sure it is not displayed for non-logged in users.
|
75 |
+
if ( function_exists( 'wp_get_current_user' ) && current_user_can( 'manage_options' ) ) {
|
76 |
+
_deprecated_function( __METHOD__, '7.1', null );
|
77 |
+
}
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Fallback method for plugins using image_output.
|
82 |
+
*
|
83 |
+
* @param string|bool $image Image URL.
|
84 |
+
*
|
85 |
+
* @deprecated 7.4
|
86 |
+
* @codeCoverageIgnore
|
87 |
+
*/
|
88 |
+
public function image_output( $image = false ) {
|
89 |
+
_deprecated_function( __METHOD__, '7.4', 'WPSEO_OpenGraph::image' );
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Outputs the canonical URL as OpenGraph URL, which consolidates likes and shares.
|
94 |
+
*
|
95 |
+
* @deprecated 14.0
|
96 |
+
* @codeCoverageIgnore
|
97 |
+
*
|
98 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
99 |
+
*
|
100 |
+
* @return boolean
|
101 |
+
*/
|
102 |
+
public function url() {
|
103 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
104 |
+
|
105 |
+
return false;
|
106 |
+
}
|
107 |
+
|
108 |
+
/**
|
109 |
+
* Outputs the SEO title as OpenGraph title.
|
110 |
+
*
|
111 |
+
* @deprecated 14.0
|
112 |
+
* @codeCoverageIgnore
|
113 |
+
*
|
114 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
115 |
+
*
|
116 |
+
* @param bool $echo Whether or not to echo the output.
|
117 |
+
*
|
118 |
+
* @return string|boolean
|
119 |
+
*/
|
120 |
+
public function og_title( $echo = true ) {
|
121 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
122 |
+
|
123 |
+
return false;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Outputs the OpenGraph description, specific OG description first, if not, grabs the meta description.
|
128 |
+
*
|
129 |
+
* @deprecated 14.0
|
130 |
+
* @codeCoverageIgnore
|
131 |
+
*
|
132 |
+
* @param bool $echo Whether to echo or return the description.
|
133 |
+
*
|
134 |
+
* @return string $ogdesc
|
135 |
+
*/
|
136 |
+
public function description( $echo = true ) {
|
137 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
138 |
+
|
139 |
+
return '';
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Outputs the author's FB page.
|
144 |
+
*
|
145 |
+
* @deprecated 14.0
|
146 |
+
* @codeCoverageIgnore
|
147 |
+
*
|
148 |
+
* @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
|
149 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
150 |
+
*
|
151 |
+
* @return boolean
|
152 |
+
*/
|
153 |
+
public function article_author_facebook() {
|
154 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
155 |
+
|
156 |
+
return false;
|
157 |
+
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Outputs the website's FB page.
|
161 |
+
*
|
162 |
+
* @deprecated 14.0
|
163 |
+
* @codeCoverageIgnore
|
164 |
+
*
|
165 |
+
* @link https://developers.facebook.com/blog/post/2013/06/19/platform-updates--new-open-graph-tags-for-media-publishers-and-more/
|
166 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
167 |
+
*
|
168 |
+
* @return boolean
|
169 |
+
*/
|
170 |
+
public function website_facebook() {
|
171 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
172 |
+
|
173 |
+
return false;
|
174 |
+
}
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Outputs the OpenGraph type.
|
178 |
+
*
|
179 |
+
* @deprecated 14.0
|
180 |
+
* @codeCoverageIgnore
|
181 |
+
*
|
182 |
+
* @param boolean $echo Whether to echo or return the type.
|
183 |
+
*
|
184 |
+
* @return string $type
|
185 |
+
*/
|
186 |
+
public function type( $echo = true ) {
|
187 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
188 |
+
|
189 |
+
return '';
|
190 |
+
}
|
191 |
+
|
192 |
+
/**
|
193 |
+
* Outputs the locale, doing some conversions to make sure the proper Facebook locale is output.
|
194 |
+
*
|
195 |
+
* Last update/compare with FB list done on 2015-03-16 by Rarst.
|
196 |
+
*
|
197 |
+
* @deprecated 14.0
|
198 |
+
* @codeCoverageIgnore
|
199 |
+
*
|
200 |
+
* @link http://www.facebook.com/translations/FacebookLocales.xml for the list of supported locales.
|
201 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
202 |
+
*
|
203 |
+
* @param bool $echo Whether to echo or return the locale.
|
204 |
+
*
|
205 |
+
* @return string $locale
|
206 |
+
*/
|
207 |
+
public function locale( $echo = true ) {
|
208 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
209 |
+
|
210 |
+
return '';
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Filters the Facebook plugins metadata.
|
215 |
+
*
|
216 |
+
* @deprecated 14.0
|
217 |
+
* @codeCoverageIgnore
|
218 |
+
*
|
219 |
+
* @param array $meta_tags The array to fix.
|
220 |
+
*
|
221 |
+
* @return array $meta_tags
|
222 |
+
*/
|
223 |
+
public function facebook_filter( $meta_tags ) {
|
224 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
225 |
+
|
226 |
+
return array();
|
227 |
+
}
|
228 |
+
|
229 |
+
/**
|
230 |
+
* Outputs the site name straight from the blog info.
|
231 |
+
*
|
232 |
+
* @deprecated 14.0
|
233 |
+
* @codeCoverageIgnore
|
234 |
+
*
|
235 |
+
* @return void
|
236 |
+
*/
|
237 |
+
public function site_name() {
|
238 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* Outputs the article publish and last modification date.
|
243 |
+
*
|
244 |
+
* @deprecated 14.0
|
245 |
+
* @codeCoverageIgnore
|
246 |
+
*
|
247 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
248 |
+
*
|
249 |
+
* @return boolean;
|
250 |
+
*/
|
251 |
+
public function publish_date() {
|
252 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
253 |
+
|
254 |
+
return true;
|
255 |
+
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Creates new WPSEO_OpenGraph_Image class and get the images to set the og:image.
|
259 |
+
*
|
260 |
+
* @deprecated 14.0
|
261 |
+
* @codeCoverageIgnore
|
262 |
+
|
263 |
+
* @param string|bool $image Optional. Image URL.
|
264 |
+
*
|
265 |
+
* @return void
|
266 |
+
*/
|
267 |
+
public function image( $image = false ) {
|
268 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Outputs the Facebook app_id.
|
273 |
+
*
|
274 |
+
* @deprecated 14.0
|
275 |
+
* @codeCoverageIgnore
|
276 |
+
*
|
277 |
+
* @return void
|
278 |
+
*/
|
279 |
+
public function app_id() {
|
280 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* Outputs the article tags as article:tag tags.
|
285 |
+
*
|
286 |
+
* @deprecated 14.0
|
287 |
+
* @codeCoverageIgnore
|
288 |
+
*
|
289 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
290 |
+
*
|
291 |
+
* @return boolean
|
292 |
+
*/
|
293 |
+
public function tags() {
|
294 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
295 |
+
|
296 |
+
return false;
|
297 |
+
}
|
298 |
+
|
299 |
+
/**
|
300 |
+
* Outputs the article category as an article:section tag.
|
301 |
+
*
|
302 |
+
* @deprecated 14.0
|
303 |
+
* @codeCoverageIgnore
|
304 |
+
*
|
305 |
+
* @link https://developers.facebook.com/docs/reference/opengraph/object-type/article/
|
306 |
+
*
|
307 |
+
* @return boolean;
|
308 |
+
*/
|
309 |
+
public function category() {
|
310 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
311 |
+
|
312 |
+
return false;
|
313 |
+
}
|
314 |
+
} /* End of class */
|
deprecated/frontend/class-primary-category.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Adds customizations to the front end for the primary category.
|
10 |
+
*
|
11 |
+
* @deprecated 14.0
|
12 |
+
*/
|
13 |
+
class WPSEO_Frontend_Primary_Category implements WPSEO_WordPress_Integration {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Registers the hooks necessary for correct primary category behaviour.
|
17 |
+
*/
|
18 |
+
public function register_hooks() {
|
19 |
+
add_filter( 'post_link_category', array( $this, 'post_link_category' ), 10, 3 );
|
20 |
+
}
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Filters post_link_category to change the category to the chosen category by the user.
|
24 |
+
*
|
25 |
+
* @param stdClass $category The category that is now used for the post link.
|
26 |
+
* @param array $categories This parameter is not used.
|
27 |
+
* @param WP_Post $post The post in question.
|
28 |
+
*
|
29 |
+
* @codeCoverageIgnore
|
30 |
+
* @deprecated 14.0
|
31 |
+
*
|
32 |
+
* @return array|null|object|WP_Error The category we want to use for the post link.
|
33 |
+
*/
|
34 |
+
public function post_link_category( $category, $categories = null, $post = null ) {
|
35 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
36 |
+
|
37 |
+
return $category;
|
38 |
+
}
|
39 |
+
}
|
deprecated/frontend/class-twitter.php
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend
|
6 |
+
*/
|
7 |
+
|
8 |
+
/**
|
9 |
+
* This class handles the Twitter card functionality.
|
10 |
+
*
|
11 |
+
* @deprecated 14.0
|
12 |
+
*
|
13 |
+
* @link https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards
|
14 |
+
*/
|
15 |
+
class WPSEO_Twitter {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Instance of this class.
|
19 |
+
*
|
20 |
+
* @var object
|
21 |
+
*/
|
22 |
+
public static $instance;
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Images.
|
26 |
+
*
|
27 |
+
* @var array
|
28 |
+
*/
|
29 |
+
public $shown_images = array();
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Class constructor.
|
33 |
+
*
|
34 |
+
* @deprecated 14.0
|
35 |
+
* @codeCoverageIgnore
|
36 |
+
*/
|
37 |
+
public function __construct() {
|
38 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Outputs the Twitter Card code on singular pages.
|
43 |
+
*
|
44 |
+
* @deprecated 14.0
|
45 |
+
* @codeCoverageIgnore
|
46 |
+
*/
|
47 |
+
public function twitter() {
|
48 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Get the singleton instance of this class.
|
53 |
+
*
|
54 |
+
* @deprecated 14.0
|
55 |
+
* @codeCoverageIgnore
|
56 |
+
*
|
57 |
+
* @return object
|
58 |
+
*/
|
59 |
+
public static function get_instance() {
|
60 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
61 |
+
|
62 |
+
return null;
|
63 |
+
}
|
64 |
+
} /* End of class */
|
deprecated/frontend/schema/class-schema-article.php
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend\Schema
|
6 |
+
*/
|
7 |
+
|
8 |
+
use Yoast\WP\SEO\Generators\Schema\Article;
|
9 |
+
use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Returns schema Article data.
|
13 |
+
*
|
14 |
+
* @deprecated 14.0
|
15 |
+
*
|
16 |
+
* @since 10.2
|
17 |
+
*/
|
18 |
+
class WPSEO_Schema_Article extends Article implements WPSEO_Graph_Piece {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* The date helper.
|
22 |
+
*
|
23 |
+
* @var WPSEO_Date_Helper
|
24 |
+
*/
|
25 |
+
protected $date;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* WPSEO_Schema_Article constructor.
|
29 |
+
*
|
30 |
+
* @param array $context The context. No longer used but present for BC.
|
31 |
+
*
|
32 |
+
* @codeCoverageIgnore
|
33 |
+
* @deprecated 14.0
|
34 |
+
*/
|
35 |
+
public function __construct( $context = null ) {
|
36 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article' );
|
37 |
+
|
38 |
+
$memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
|
39 |
+
$this->context = $memoizer->for_current_page();
|
40 |
+
$this->helpers = YoastSEO()->helpers;
|
41 |
+
$this->date = new WPSEO_Date_Helper();
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Determines whether or not a piece should be added to the graph.
|
46 |
+
*
|
47 |
+
* @codeCoverageIgnore
|
48 |
+
* @deprecated 14.0
|
49 |
+
*
|
50 |
+
* @return bool
|
51 |
+
*/
|
52 |
+
public function is_needed() {
|
53 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article::is_needed' );
|
54 |
+
|
55 |
+
return parent::is_needed();
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Returns Article data.
|
60 |
+
*
|
61 |
+
* @codeCoverageIgnore
|
62 |
+
* @deprecated 14.0
|
63 |
+
*
|
64 |
+
* @return array $data Article data.
|
65 |
+
*/
|
66 |
+
public function generate() {
|
67 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Article::generate' );
|
68 |
+
|
69 |
+
return parent::generate();
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Determines whether a given post type should have Article schema.
|
74 |
+
*
|
75 |
+
* @codeCoverageIgnore
|
76 |
+
* @deprecated 14.0
|
77 |
+
*
|
78 |
+
* @param string $post_type Post type to check.
|
79 |
+
*
|
80 |
+
* @return bool True if it has article schema, false if not.
|
81 |
+
*/
|
82 |
+
public static function is_article_post_type( $post_type = null ) {
|
83 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'YoastSEO()->helpers->schema->article->is_article_post_type' );
|
84 |
+
|
85 |
+
return YoastSEO()->helpers->schema->article->is_article_post_type( $post_type );
|
86 |
+
}
|
87 |
+
}
|
deprecated/frontend/schema/class-schema-author.php
ADDED
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* WPSEO plugin file.
|
4 |
+
*
|
5 |
+
* @package WPSEO\Frontend\Schema
|
6 |
+
*/
|
7 |
+
|
8 |
+
use Yoast\WP\SEO\Config\Schema_IDs;
|
9 |
+
use Yoast\WP\SEO\Generators\Schema\Author;
|
10 |
+
use Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Returns schema Person data.
|
14 |
+
*
|
15 |
+
* @deprecated 14.0
|
16 |
+
*
|
17 |
+
* @since 10.2
|
18 |
+
*/
|
19 |
+
class WPSEO_Schema_Author extends Author implements WPSEO_Graph_Piece {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* The hash used for images.
|
23 |
+
*
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
+
protected $image_hash = Schema_IDs::AUTHOR_LOGO_HASH;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* The Schema type we use for this class.
|
30 |
+
*
|
31 |
+
* @var string[]
|
32 |
+
*/
|
33 |
+
protected $type = [ 'Person' ];
|
34 |
+
|
35 |
+
/**
|
36 |
+
* WPSEO_Schema_Author constructor.
|
37 |
+
*
|
38 |
+
* @param null $context The context. No longer used but present for BC.
|
39 |
+
*
|
40 |
+
* @codeCoverageIgnore
|
41 |
+
* @deprecated 14.0
|
42 |
+
*/
|
43 |
+
public function __construct( $context = null ) {
|
44 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author' );
|
45 |
+
|
46 |
+
$memoizer = YoastSEO()->classes->get( Meta_Tags_Context_Memoizer::class );
|
47 |
+
$this->context = $memoizer->for_current_page();
|
48 |
+
$this->helpers = YoastSEO()->helpers;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Determine whether we should return Person schema.
|
53 |
+
*
|
54 |
+
* @codeCoverageIgnore
|
55 |
+
* @deprecated 14.0
|
56 |
+
*
|
57 |
+
* @return bool
|
58 |
+
*/
|
59 |
+
public function is_needed() {
|
60 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::is_needed' );
|
61 |
+
|
62 |
+
if ( $this->context->indexable->object_type === 'user' ) {
|
63 |
+
return true;
|
64 |
+
}
|
65 |
+
|
66 |
+
// This call to `is_post_author` is why this whole block could not be replaced with a `parent::is_needed()` call.
|
67 |
+
if ( $this->is_post_author() ) {
|
68 |
+
// If the author is the user the site represents, no need for an extra author block.
|
69 |
+
if ( parent::is_needed() ) {
|
70 |
+
return (int) $this->context->post->post_author !== $this->context->site_user_id;
|
71 |
+
}
|
72 |
+
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
|
76 |
+
return false;
|
77 |
+
}
|
78 |
+
|
79 |
+
/**
|
80 |
+
* Returns Person Schema data.
|
81 |
+
*
|
82 |
+
* @codeCoverageIgnore
|
83 |
+
* @deprecated 14.0
|
84 |
+
*
|
85 |
+
* @return bool|array Person data on success, false on failure.
|
86 |
+
*/
|
87 |
+
public function generate() {
|
88 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::generate' );
|
89 |
+
|
90 |
+
return parent::generate();
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Gets the Schema type we use for this class.
|
95 |
+
*
|
96 |
+
* @codeCoverageIgnore
|
97 |
+
* @deprecated 14.0
|
98 |
+
*
|
99 |
+
* @return string[] The schema type.
|
100 |
+
*/
|
101 |
+
public static function get_type() {
|
102 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
103 |
+
|
104 |
+
return [ 'Person' ];
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Determine whether the current URL is worthy of Article schema.
|
109 |
+
*
|
110 |
+
* @codeCoverageIgnore
|
111 |
+
* @deprecated 14.0
|
112 |
+
*
|
113 |
+
* @return bool
|
114 |
+
*/
|
115 |
+
protected function is_post_author() {
|
116 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0' );
|
117 |
+
|
118 |
+
return (
|
119 |
+
$this->context->indexable->object_type === 'post' &&
|
120 |
+
$this->helpers->schema->article->is_article_post_type( $this->context->indexable->object_sub_type )
|
121 |
+
);
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Determines a User ID for the Person data.
|
126 |
+
*
|
127 |
+
* @codeCoverageIgnore
|
128 |
+
* @deprecated 14.0
|
129 |
+
*
|
130 |
+
* @return bool|int User ID or false upon return.
|
131 |
+
*/
|
132 |
+
protected function determine_user_id() {
|
133 |
+
_deprecated_function( __METHOD__, 'WPSEO 14.0', 'Yoast\WP\SEO\Generators\Schema\Author::determine_user_id' );
|
134 |
+
|
135 |
+
return parent::determine_user_id();
|
136 |
+
}
|
137 |
+
}
|
deprecated/frontend/schema/class-schema-breadcrumb.php
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|