Version Description
Read the blog post update = * NEW Regular expressions for redirects (PRO) * NEW Autocomplete for Redirections (PRO) * NEW Conditions for Redirections: if user logged in, logged out, both (PRO) * NEW Page Speed Insights redesign, now with Core Web Vitals score, Desktop + Mobile scores, Save as PDF, CRON (PRO) * NEW Exclude WPML hidden languages from XML sitemaps (post, page, post type and term taxonomy) * NEW Exclude Polylang PRO hidden languages from XML sitemaps (post, page, post type and term taxonomy) * NEW Accordion for SEOPress FAQ block (PRO) * NEW Ping Google and Bing daily automatically for XML Sitemaps * NEW Drag and drop for SEO dashboard cards * NEW Notification if a physical robots.txt file already exists * NEW Notification if your site has disallow all in robots.txt * NEW Autodetect WooCommerce fields for automatic product schema on creation * NEW 'seopress_sitemaps_xsl_css' hook to filter XML sitemaps CSS (props @edwinsiebel - https://www.seopress.org/support/hooks/filter-css-of-xsl-sitemaps/) * NEW 'seopress_sitemaps_xsl' hook to filter XSL sitemaps (props @edwinsiebel - https://www.seopress.org/support/hooks/filter-xsl-sitemap/) * NEW 'seopress_before_redirect' action hook to run custom code before the redirection (https://www.seopress.org/support/hooks/add-action-before-redirect/) * NEW 'seopress_sitemaps_single_url' hook to filter each URL fron single xml sitemaps (https://www.seopress.org/support/hooks/filter-the-urls-of-each-item-of-a-singular-xml-sitemap/) * NEW 'seopress_sitemaps_term_single_url' hook to filter each URL fron term xml sitemaps (https://www.seopress.org/support/hooks/filter-the-urls-of-each-item-of-a-taxonomy-xml-sitemap/) * NEW 'seopress_sitemaps_xml_ping_url' hook to filter xml sitemaps URL sent via the ping (https://www.seopress.org/support/hooks/filter-index-xml-sitemap-url-sent-to-google/) * NEW 'seopress_sitemaps_xml_ping_args' hook to filter xml sitemaps args for the ping (https://www.seopress.org/support/hooks/filter-the-arguments-of-the-ping-sitemap-query-for-google/) * NEW 'seopress_faq_block_inline_css' hook to filter inline CSS for FAQ block (https://www.seopress.org/support/hooks/disable-seopress-faq-block-inline-css/) * NEW 'seopress_faq_block_html' hook to filter the HTML of our FAQ block (https://www.seopress.org/support/hooks/filter-block-faq-html-block-editor/) * INFO Redirect sitemap_index.xml, wp-sitemap.xml to sitemaps.xml to avoid resubmit sitemaps in Google Search Console * INFO Author subtype for schemas will now use the website field first, else the author archive URL * INFO Add GTIN12 to product global Identifiers type (PRO) * INFO Remove nofollow links from comments area to content analysis * INFO Update updater * INFO Edit your social images (Facebook and Twitter) by clicking on the preview * INFO Display 100 entries in Redirections post type * INFO Knowledge Graph is now outputted on homepage only * INFO Improve hyphenation in Google Snippet Preview * INFO Disabling RSS feeds will redirect them to homepage if requested * FIX Exclude custom canonical URLs from xml sitemaps * FIX Product price amount OG tag * FIX Temporary fix to remove Add to cart GA event for archive page / related products if Elementor PRO is enabled to prevent a conflict * FIX Duplicated queries seopress_get_page_by_title() * FIX Publisher logo * FIX News xml sitemap with "&" in Publication Name field * FIX Documentation panel for Insights * FIX Author URL in schema (automatic and manual) * FIX Disable Orgnization / Person schemas from Knowledge Graph if Social feature is set to OFF * FIX "seopress_rich_snippets_publisher_logo" missing for wpml-config.xml file (WPML and Polylang users) * FIX Publisher logo Width and Height (it might be necessary to reupload it from SEO, PRO, Structured Data Types) * FIX Custom Shop page breadcrumbs * FIX Help link for Google Ads option * FIX Universal SEO metabox error with singular WC product in frontend * FIX Google Analytics dashboard widget configuration settings * FIX Conflict with Thrive builder * FIX Conflit with Remove /category/ in URL with Events Calendar plugin * FIX Some CSS * FIX CRON tasks * FIX i18n
View our complete changelog
Release Info
Developer | rainbowgeek |
Plugin | SEOPress |
Version | 5.3 |
Comparing to | |
See all releases |
Code changes from version 5.2 to 5.3
- assets/css/seopress.css +121 -20
- assets/css/seopress.min.css +1 -1
- assets/js/seopress-block-editor.js +51 -50
- assets/js/seopress-dashboard.js +43 -1
- assets/js/seopress-dashboard.min.js +1 -1
- assets/js/seopress-media-uploader.js +4 -2
- assets/js/seopress-media-uploader.min.js +1 -1
- inc/admin/admin-bar/admin-bar.php +0 -21
- inc/admin/admin-bar/admin-header.php +26 -4
- inc/admin/admin-features-list.php +3 -3
- inc/admin/admin-pages/Main.php +49 -26
- inc/admin/ajax-migrate/seopressor.php +2 -1
- inc/admin/ajax.php +34 -2
- inc/admin/blocks/insights.php +247 -242
- inc/admin/blocks/intro.php +1 -1
- inc/admin/blocks/news.php +97 -87
- inc/admin/blocks/notifications-center.php +823 -748
- inc/admin/blocks/tasks.php +98 -94
- inc/admin/callbacks/Advanced.php +1 -1
- inc/admin/callbacks/Analytics.php +1 -1
- inc/admin/callbacks/Social.php +2 -2
- inc/admin/callbacks/Titles.php +4 -2
- inc/admin/cron.php +36 -0
- inc/admin/docs/DocsLinks.php +66 -37
- inc/admin/metaboxes/admin-metaboxes-form.php +66 -10
- inc/admin/metaboxes/admin-metaboxes.php +20 -7
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.asset.php +1 -1
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.css +1 -25
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.css.map +0 -1
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js +1 -891
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js.map +0 -1
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/style-index.css +0 -2
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/style-index.css.map +0 -1
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/package-lock.json +37 -37
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/accordion.css +0 -0
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/accordion.js +9 -0
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js +16 -4
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/editor.scss +10 -8
- inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/register-block.php +64 -29
- inc/admin/sections/Analytics.php +7 -0
- inc/admin/sections/Sitemaps.php +8 -0
- inc/admin/settings/Advanced.php +1 -1
- inc/admin/wizard/admin-wizard.php +11 -7
- inc/functions/options-advanced-admin.php +30 -22
- inc/functions/options-import-export.php +27 -0
- inc/functions/options.php +4 -2
- inc/functions/sitemap/template-xml-sitemaps-single-term.php +63 -10
- inc/functions/sitemap/template-xml-sitemaps-xsl.php +14 -8
- inc/functions/sitemap/template-xml-sitemaps.php +57 -0
- languages/wp-seopress.pot +1 -1
- public/metaboxe.js +828 -453
- readme.txt +74 -77
- seopress-functions.php +36 -29
- seopress.php +50 -13
- src/Actions/Api/Metas/RedirectionSettings.php +1 -1
- src/Actions/Api/Metas/RobotSettings.php +1 -1
- src/Actions/Api/Metas/SocialSettings.php +1 -1
- src/Actions/Api/SearchUrl.php +41 -0
- src/Actions/Front/Schemas/PrintHeadJsonSchema.php +20 -0
- src/Actions/Options/Init.php +6 -4
- src/Actions/Sitemap/Render.php +8 -1
- src/Helpers/Metas/RobotSettings.php +3 -3
- src/JsonSchemas/Organization.php +1 -0
- src/Services/ContentAnalysis/DomAnalysis.php +19 -17
- src/Services/ContentAnalysis/GetContent/LinkNoFollow.php +1 -1
- src/Services/EnqueueModuleMetabox.php +6 -0
- src/Services/SearchUrl.php +41 -0
- src/Services/Sitemap/Render/Single.php +37 -0
- src/Services/Social/FacebookImageOptionMeta.php +27 -4
- src/Tags/AuthorUrl.php +7 -2
- templates/sitemap/single.php +17 -10
- vendor/composer/installed.php +6 -6
@@ -46,7 +46,7 @@
|
|
46 |
Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
47 |
--color: #757575;
|
48 |
--colorDark: #1e1e1e;
|
49 |
-
--colorAlert: #
|
50 |
--colorWarning: #ffba00;
|
51 |
--colorSuccess: #4ab866;
|
52 |
--colorLowAlert: #e39f48;
|
@@ -447,6 +447,10 @@ table.fixed thead .column-seopress_noindex {
|
|
447 |
content: none;
|
448 |
}
|
449 |
/* Dashboard */
|
|
|
|
|
|
|
|
|
450 |
.seopress-summary-items {
|
451 |
display: flex;
|
452 |
flex-wrap: wrap;
|
@@ -454,7 +458,6 @@ table.fixed thead .column-seopress_noindex {
|
|
454 |
.seopress-summary-item {
|
455 |
display: flex;
|
456 |
flex-direction: column;
|
457 |
-
height: 100%;
|
458 |
padding: 20px;
|
459 |
border-bottom: 1px solid var(--borderColorLight40);
|
460 |
border-right: 1px solid var(--borderColorLight40);
|
@@ -462,6 +465,12 @@ table.fixed thead .column-seopress_noindex {
|
|
462 |
text-decoration: none;
|
463 |
width: 50%;
|
464 |
color: var(--colorDark);
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
}
|
466 |
.seopress-summary-item-label {
|
467 |
display: block;
|
@@ -477,7 +486,12 @@ table.fixed thead .column-seopress_noindex {
|
|
477 |
font-size: 20px;
|
478 |
line-height: 28px;
|
479 |
}
|
480 |
-
.seopress-
|
|
|
|
|
|
|
|
|
|
|
481 |
padding: 20px;
|
482 |
}
|
483 |
#seopress-admin-tabs.ui-tabs {
|
@@ -927,18 +941,22 @@ table.fixed thead .column-seopress_noindex {
|
|
927 |
}
|
928 |
#seopress_content_analysis .analysis-score .notgood #bar,
|
929 |
.column-seopress_score .analysis-score #bar.notgood {
|
930 |
-
stroke-dashoffset:
|
931 |
stroke: var(--colorWarning);
|
932 |
}
|
933 |
#seopress_content_analysis .analysis-score svg circle,
|
934 |
-
.column-seopress_score .analysis-score svg circle
|
935 |
-
#tab_seopress_page_speed .ps-score svg circle,
|
936 |
-
#tab_seopress_ps .ps-score svg circle {
|
937 |
stroke-dashoffset: 0;
|
938 |
transition: stroke-dashoffset 1s linear;
|
939 |
stroke: #ccc;
|
940 |
stroke-width: 2em;
|
941 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
942 |
#tab_seopress_page_speed .ps-score,
|
943 |
#tab_seopress_ps .ps-score {
|
944 |
position: relative;
|
@@ -946,12 +964,8 @@ table.fixed thead .column-seopress_noindex {
|
|
946 |
}
|
947 |
#tab_seopress_page_speed .ps-score svg,
|
948 |
#tab_seopress_ps .ps-score svg {
|
949 |
-
width:
|
950 |
-
height:
|
951 |
-
}
|
952 |
-
#tab_seopress_page_speed .ps-score svg circle,
|
953 |
-
#tab_seopress_ps .ps-score svg circle {
|
954 |
-
stroke-width: 1em;
|
955 |
}
|
956 |
#tab_seopress_page_speed .ps-score span,
|
957 |
#tab_seopress_ps .ps-score span {
|
@@ -959,8 +973,8 @@ table.fixed thead .column-seopress_noindex {
|
|
959 |
left: 0;
|
960 |
position: absolute;
|
961 |
top: 0;
|
962 |
-
width:
|
963 |
-
height:
|
964 |
align-items: center;
|
965 |
display: flex;
|
966 |
justify-content: center;
|
@@ -978,6 +992,50 @@ table.fixed thead .column-seopress_noindex {
|
|
978 |
#tab_seopress_ps .ps-score.red #bar {
|
979 |
stroke: var(--colorAlert);
|
980 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
981 |
#seopress_content_analysis .gr-analysis {
|
982 |
clear: both;
|
983 |
}
|
@@ -1470,6 +1528,8 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
1470 |
font-weight: 400;
|
1471 |
line-height: 18.2px;
|
1472 |
display: inline;
|
|
|
|
|
1473 |
}
|
1474 |
#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,
|
1475 |
#seopress_cpt
|
@@ -1582,9 +1642,44 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
1582 |
width: 100%;
|
1583 |
height: auto;
|
1584 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1585 |
#seopress_cpt .twitter-snippet-box {
|
1586 |
color: #4b4f56;
|
1587 |
font-size: 14px;
|
|
|
|
|
1588 |
}
|
1589 |
#seopress_cpt .snippet-twitter-url {
|
1590 |
color: #8899a6;
|
@@ -1646,8 +1741,8 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
1646 |
}
|
1647 |
#seopress_cpt .twitter-snippet-box img {
|
1648 |
display: block;
|
1649 |
-
height:
|
1650 |
-
width:
|
1651 |
object-fit: cover;
|
1652 |
background-color: #f0f0f0;
|
1653 |
text-align: center;
|
@@ -2027,7 +2122,8 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
2027 |
}
|
2028 |
.seopress-setup .seopress-notice,
|
2029 |
#seopress-tabs .seopress-notice,
|
2030 |
-
#seopress_pro_cpt .seopress-notice
|
|
|
2031 |
top: inherit;
|
2032 |
left: inherit;
|
2033 |
margin: 15px 0 30px 0;
|
@@ -2173,7 +2269,8 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
2173 |
}
|
2174 |
/* Notifications */
|
2175 |
#seopress-notifications-center.is-active,
|
2176 |
-
#seopress-news-panel.is-active
|
|
|
2177 |
display: block !important;
|
2178 |
}
|
2179 |
#seopress-notifications-center .seopress-alert {
|
@@ -2269,6 +2366,7 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
2269 |
border: 1px solid var(--borderColor);
|
2270 |
border-radius: 3px;
|
2271 |
transform: rotate(90deg);
|
|
|
2272 |
}
|
2273 |
.seopress-item-toggle-options::before {
|
2274 |
content: "\f11c";
|
@@ -2283,7 +2381,7 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
2283 |
border-radius: 3px;
|
2284 |
position: relative;
|
2285 |
}
|
2286 |
-
.seopress-option .seopress-card-actions button {
|
2287 |
margin-left: 0.5em;
|
2288 |
}
|
2289 |
.seopress-card-title {
|
@@ -2293,6 +2391,9 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
|
2293 |
justify-content: space-between;
|
2294 |
align-items: center;
|
2295 |
}
|
|
|
|
|
|
|
2296 |
.seopress-card-title h2 {
|
2297 |
margin: 0;
|
2298 |
}
|
46 |
Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
47 |
--color: #757575;
|
48 |
--colorDark: #1e1e1e;
|
49 |
+
--colorAlert: #eb0f00;
|
50 |
--colorWarning: #ffba00;
|
51 |
--colorSuccess: #4ab866;
|
52 |
--colorLowAlert: #e39f48;
|
447 |
content: none;
|
448 |
}
|
449 |
/* Dashboard */
|
450 |
+
.sp-dashboard-card-highlight {
|
451 |
+
border: 1px dashed #c3c4c7;
|
452 |
+
margin: 20px 0;
|
453 |
+
}
|
454 |
.seopress-summary-items {
|
455 |
display: flex;
|
456 |
flex-wrap: wrap;
|
458 |
.seopress-summary-item {
|
459 |
display: flex;
|
460 |
flex-direction: column;
|
|
|
461 |
padding: 20px;
|
462 |
border-bottom: 1px solid var(--borderColorLight40);
|
463 |
border-right: 1px solid var(--borderColorLight40);
|
465 |
text-decoration: none;
|
466 |
width: 50%;
|
467 |
color: var(--colorDark);
|
468 |
+
justify-content: center;
|
469 |
+
}
|
470 |
+
@media only screen and (max-width: 782px) {
|
471 |
+
.seopress-summary-item {
|
472 |
+
width: 100%;
|
473 |
+
}
|
474 |
}
|
475 |
.seopress-summary-item-label {
|
476 |
display: block;
|
486 |
font-size: 20px;
|
487 |
line-height: 28px;
|
488 |
}
|
489 |
+
.seopress-summary-item-data small {
|
490 |
+
font-weight: normal;
|
491 |
+
font-size: 11px;
|
492 |
+
text-transform: uppercase;
|
493 |
+
}
|
494 |
+
.seopress-tab.inside, .seopress-summary-items .inside {
|
495 |
padding: 20px;
|
496 |
}
|
497 |
#seopress-admin-tabs.ui-tabs {
|
941 |
}
|
942 |
#seopress_content_analysis .analysis-score .notgood #bar,
|
943 |
.column-seopress_score .analysis-score #bar.notgood {
|
944 |
+
stroke-dashoffset: 101px;
|
945 |
stroke: var(--colorWarning);
|
946 |
}
|
947 |
#seopress_content_analysis .analysis-score svg circle,
|
948 |
+
.column-seopress_score .analysis-score svg circle {
|
|
|
|
|
949 |
stroke-dashoffset: 0;
|
950 |
transition: stroke-dashoffset 1s linear;
|
951 |
stroke: #ccc;
|
952 |
stroke-width: 2em;
|
953 |
}
|
954 |
+
#tab_seopress_page_speed .ps-score svg path,
|
955 |
+
#tab_seopress_ps .ps-score svg path {
|
956 |
+
stroke-linecap: round;
|
957 |
+
stroke-width: 2.8;
|
958 |
+
fill: none;
|
959 |
+
}
|
960 |
#tab_seopress_page_speed .ps-score,
|
961 |
#tab_seopress_ps .ps-score {
|
962 |
position: relative;
|
964 |
}
|
965 |
#tab_seopress_page_speed .ps-score svg,
|
966 |
#tab_seopress_ps .ps-score svg {
|
967 |
+
width: 80px;
|
968 |
+
height: 80px;
|
|
|
|
|
|
|
|
|
969 |
}
|
970 |
#tab_seopress_page_speed .ps-score span,
|
971 |
#tab_seopress_ps .ps-score span {
|
973 |
left: 0;
|
974 |
position: absolute;
|
975 |
top: 0;
|
976 |
+
width: 80px;
|
977 |
+
height: 80px;
|
978 |
align-items: center;
|
979 |
display: flex;
|
980 |
justify-content: center;
|
992 |
#tab_seopress_ps .ps-score.red #bar {
|
993 |
stroke: var(--colorAlert);
|
994 |
}
|
995 |
+
#tab_seopress_ps .score,
|
996 |
+
.wrap-seopress-score .score {
|
997 |
+
width: 12px;
|
998 |
+
height: 12px;
|
999 |
+
display: inline-block;
|
1000 |
+
margin-right: 10px;
|
1001 |
+
vertical-align: middle;
|
1002 |
+
}
|
1003 |
+
#tab_seopress_ps .score.red,
|
1004 |
+
.wrap-seopress-score .score.red {
|
1005 |
+
border-bottom-color: var(--colorAlert);
|
1006 |
+
border-bottom-style: solid;
|
1007 |
+
border-bottom-width: 12px;
|
1008 |
+
border-left-color: rgba(0, 0, 0, 0);
|
1009 |
+
border-left-style: solid;
|
1010 |
+
border-left-width: 6px;
|
1011 |
+
border-right-color: rgba(0, 0, 0, 0);
|
1012 |
+
border-right-style: solid;
|
1013 |
+
border-right-width: 6px;
|
1014 |
+
}
|
1015 |
+
.wrap-seopress-score small {
|
1016 |
+
font-size: 12px;
|
1017 |
+
}
|
1018 |
+
.wrap-seopress-score small.red,
|
1019 |
+
.wrap-seopress-score small.yellow {
|
1020 |
+
color: var(--colorAlert);
|
1021 |
+
}
|
1022 |
+
#tab_seopress_ps .score.yellow,
|
1023 |
+
.wrap-seopress-score .score.yellow {
|
1024 |
+
background-color: var(--colorWarning);
|
1025 |
+
display: inline-block;
|
1026 |
+
}
|
1027 |
+
#tab_seopress_ps .score.green,
|
1028 |
+
.wrap-seopress-score .score.green {
|
1029 |
+
border-radius: 100%;
|
1030 |
+
background-color: var(--colorSuccess);
|
1031 |
+
}
|
1032 |
+
.wrap-seopress-score small.green {
|
1033 |
+
color: var(--colorSuccess);
|
1034 |
+
}
|
1035 |
+
.wrap-seopress-score .score.null {
|
1036 |
+
background: #ccc;
|
1037 |
+
border-radius: 100%;
|
1038 |
+
}
|
1039 |
#seopress_content_analysis .gr-analysis {
|
1040 |
clear: both;
|
1041 |
}
|
1528 |
font-weight: 400;
|
1529 |
line-height: 18.2px;
|
1530 |
display: inline;
|
1531 |
+
hyphens: none;
|
1532 |
+
word-break: normal;
|
1533 |
}
|
1534 |
#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,
|
1535 |
#seopress_cpt
|
1642 |
width: 100%;
|
1643 |
height: auto;
|
1644 |
}
|
1645 |
+
.seopress_social_fb_img_upload,
|
1646 |
+
.seopress_social_twitter_img_upload {
|
1647 |
+
position: absolute;
|
1648 |
+
width: 100%;
|
1649 |
+
cursor: pointer;
|
1650 |
+
height: 100%;
|
1651 |
+
left: 0;
|
1652 |
+
top: 0;
|
1653 |
+
}
|
1654 |
+
.seopress_social_fb_img_upload:hover::after,
|
1655 |
+
.seopress_social_twitter_img_upload:hover::after {
|
1656 |
+
content: '\f464';
|
1657 |
+
position: absolute;
|
1658 |
+
font-family: 'dashicons';
|
1659 |
+
width: 100%;
|
1660 |
+
height: 100%;
|
1661 |
+
top: 0;
|
1662 |
+
left: 0;
|
1663 |
+
font-size: 40px;
|
1664 |
+
background: rgb(255 255 255 / 70%);
|
1665 |
+
display: flex;
|
1666 |
+
justify-content: center;
|
1667 |
+
align-items: center;
|
1668 |
+
color: #1e1e1e;
|
1669 |
+
}
|
1670 |
+
.snippet-fb-img,
|
1671 |
+
.snippet-fb-img-custom,
|
1672 |
+
.snippet-fb-img-default,
|
1673 |
+
.snippet-twitter-img,
|
1674 |
+
.snippet-twitter-img-custom,
|
1675 |
+
.snippet-twitter-img-default {
|
1676 |
+
position: relative;
|
1677 |
+
}
|
1678 |
#seopress_cpt .twitter-snippet-box {
|
1679 |
color: #4b4f56;
|
1680 |
font-size: 14px;
|
1681 |
+
width: 504px;
|
1682 |
+
|
1683 |
}
|
1684 |
#seopress_cpt .snippet-twitter-url {
|
1685 |
color: #8899a6;
|
1741 |
}
|
1742 |
#seopress_cpt .twitter-snippet-box img {
|
1743 |
display: block;
|
1744 |
+
height: 263px;
|
1745 |
+
width: 504px;
|
1746 |
object-fit: cover;
|
1747 |
background-color: #f0f0f0;
|
1748 |
text-align: center;
|
2122 |
}
|
2123 |
.seopress-setup .seopress-notice,
|
2124 |
#seopress-tabs .seopress-notice,
|
2125 |
+
#seopress_pro_cpt .seopress-notice,
|
2126 |
+
#seopress_insights_dashboard_rankings_widget .seopress-notice {
|
2127 |
top: inherit;
|
2128 |
left: inherit;
|
2129 |
margin: 15px 0 30px 0;
|
2269 |
}
|
2270 |
/* Notifications */
|
2271 |
#seopress-notifications-center.is-active,
|
2272 |
+
#seopress-news-panel.is-active,
|
2273 |
+
#notice-insights-alert.is-active {
|
2274 |
display: block !important;
|
2275 |
}
|
2276 |
#seopress-notifications-center .seopress-alert {
|
2366 |
border: 1px solid var(--borderColor);
|
2367 |
border-radius: 3px;
|
2368 |
transform: rotate(90deg);
|
2369 |
+
display: inline-block;
|
2370 |
}
|
2371 |
.seopress-item-toggle-options::before {
|
2372 |
content: "\f11c";
|
2381 |
border-radius: 3px;
|
2382 |
position: relative;
|
2383 |
}
|
2384 |
+
.seopress-option .seopress-card-actions a+button {
|
2385 |
margin-left: 0.5em;
|
2386 |
}
|
2387 |
.seopress-card-title {
|
2391 |
justify-content: space-between;
|
2392 |
align-items: center;
|
2393 |
}
|
2394 |
+
.seopress-dashboard-columns .seopress-dashboard-column:last-child .seopress-card-title:hover {
|
2395 |
+
cursor: move;
|
2396 |
+
}
|
2397 |
.seopress-card-title h2 {
|
2398 |
margin: 0;
|
2399 |
}
|
@@ -1 +1 @@
|
|
1 |
-
#seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}.post-type-product table.fixed thead .column-seopress_desc,.post-type-product table.fixed thead .column-seopress_title{width:8%}.post-type-product .fixed .column-seopress_ps,.post-type-product .fixed .column-seopress_words,.post-type-product table.fixed thead .column-seopress_canonical,.post-type-product table.fixed thead .column-seopress_redirect_enable,.post-type-product table.fixed thead .column-seopress_redirect_url,.post-type-product table.fixed thead .column-seopress_tkw{width:6%}.post-type-product .fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:100px}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;height:100%;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark)}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-tab.inside{padding:20px}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0;position:relative;left:-5px}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid var(--borderColorCard);display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:60px;height:60px}#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle{stroke-width:1em}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:60px;height:60px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid var(--borderColorLight)}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#term-seopress #seopress_cpt{width:95%}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:0;padding-bottom:0}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{font-weight:500}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{display:none;font-weight:700}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-hidden{display:none}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid var(--borderColorCard);display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg)}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs.wrap .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid var(--borderColorLight40)}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin:0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}.seopress-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;border-left:3px solid var(--backgroundPrimary)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:4px solid var(--backgroundPrimary);border-left:none}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
|
1 |
+
#seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#eb0f00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}.post-type-product table.fixed thead .column-seopress_desc,.post-type-product table.fixed thead .column-seopress_title{width:8%}.post-type-product .fixed .column-seopress_ps,.post-type-product .fixed .column-seopress_words,.post-type-product table.fixed thead .column-seopress_canonical,.post-type-product table.fixed thead .column-seopress_redirect_enable,.post-type-product table.fixed thead .column-seopress_redirect_url,.post-type-product table.fixed thead .column-seopress_tkw{width:6%}.post-type-product .fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:100px}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.sp-dashboard-card-highlight{border:1px dashed #c3c4c7;margin:20px 0}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark);justify-content:center}@media only screen and (max-width:782px){.seopress-summary-item{width:100%}}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-summary-item-data small{font-weight:400;font-size:11px;text-transform:uppercase}.seopress-summary-items .inside,.seopress-tab.inside{padding:20px}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(../img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0;position:relative;left:-5px}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid var(--borderColorCard);display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:101px;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score svg path,#tab_seopress_ps .ps-score svg path{stroke-linecap:round;stroke-width:2.8;fill:none}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:80px;height:80px}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:80px;height:80px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#tab_seopress_ps .score,.wrap-seopress-score .score{width:12px;height:12px;display:inline-block;margin-right:10px;vertical-align:middle}#tab_seopress_ps .score.red,.wrap-seopress-score .score.red{border-bottom-color:var(--colorAlert);border-bottom-style:solid;border-bottom-width:12px;border-left-color:transparent;border-left-style:solid;border-left-width:6px;border-right-color:transparent;border-right-style:solid;border-right-width:6px}.wrap-seopress-score small{font-size:12px}.wrap-seopress-score small.red,.wrap-seopress-score small.yellow{color:var(--colorAlert)}#tab_seopress_ps .score.yellow,.wrap-seopress-score .score.yellow{background-color:var(--colorWarning);display:inline-block}#tab_seopress_ps .score.green,.wrap-seopress-score .score.green{border-radius:100%;background-color:var(--colorSuccess)}.wrap-seopress-score small.green{color:var(--colorSuccess)}.wrap-seopress-score .score.null{background:#ccc;border-radius:100%}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid var(--borderColorLight)}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#term-seopress #seopress_cpt{width:95%}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:0;padding-bottom:0}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{font-weight:500}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline;hyphens:none;word-break:normal}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}.seopress_social_fb_img_upload,.seopress_social_twitter_img_upload{position:absolute;width:100%;cursor:pointer;height:100%;left:0;top:0}.seopress_social_fb_img_upload:hover::after,.seopress_social_twitter_img_upload:hover::after{content:'\f464';position:absolute;font-family:dashicons;width:100%;height:100%;top:0;left:0;font-size:40px;background:rgb(255 255 255 / 70%);display:flex;justify-content:center;align-items:center;color:#1e1e1e}.snippet-fb-img,.snippet-fb-img-custom,.snippet-fb-img-default,.snippet-twitter-img,.snippet-twitter-img-custom,.snippet-twitter-img-default{position:relative}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px;width:504px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:263px;width:504px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{display:none;font-weight:700}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_insights_dashboard_rankings_widget .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-hidden{display:none}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid var(--borderColorCard);display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#notice-insights-alert.is-active,#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg);display:inline-block}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions a+button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-dashboard-columns .seopress-dashboard-column:last-child .seopress-card-title:hover{cursor:move}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs.wrap .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid var(--borderColorLight40)}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin:0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}.seopress-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;border-left:3px solid var(--backgroundPrimary)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:4px solid var(--backgroundPrimary);border-left:none}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
|
@@ -1,9 +1,9 @@
|
|
1 |
//Retrieve title / meta-desc from source code
|
2 |
-
jQuery(document).ready(function($) {
|
3 |
-
const { subscribe, select } = wp.data;
|
4 |
-
let hasSaved = false;
|
5 |
|
6 |
-
subscribe(
|
7 |
//var isSavingPost = wp.data.select('core/editor').isSavingPost();
|
8 |
var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
|
9 |
var isSavingMetaBoxes = wp.data.select('core/edit-post').isSavingMetaBoxes();
|
@@ -33,8 +33,8 @@ let hasSaved = false;
|
|
33 |
}
|
34 |
|
35 |
$.ajax({
|
36 |
-
method
|
37 |
-
url
|
38 |
data: {
|
39 |
action: 'seopress_do_real_preview',
|
40 |
post_id: post_id,
|
@@ -44,29 +44,30 @@ let hasSaved = false;
|
|
44 |
seopress_analysis_target_kw: $('#seopress_analysis_target_kw_meta').val(),
|
45 |
_ajax_nonce: seopressAjaxRealPreview.seopress_nonce,
|
46 |
},
|
47 |
-
beforeSend: function() {
|
48 |
$(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),
|
49 |
-
|
50 |
},
|
51 |
-
success
|
52 |
-
typeof s.data.og_title ==="undefined" ? og_title = "" : og_title = s.data.og_title.values;
|
53 |
-
typeof s.data.og_desc ==="undefined" ? og_desc = "" : og_desc = s.data.og_desc.values;
|
54 |
-
typeof s.data.og_img ==="undefined" ? og_img = "" : og_img = s.data.og_img.values;
|
55 |
-
typeof s.data.og_url ==="undefined" ? og_url = "" : og_url = s.data.og_url.host;
|
56 |
-
typeof s.data.og_site_name ==="undefined" ? og_site_name = "" : og_site_name = s.data.og_site_name.values;
|
57 |
-
typeof s.data.tw_title ==="undefined" ? tw_title = "" : tw_title = s.data.tw_title.values;
|
58 |
-
typeof s.data.tw_desc ==="undefined" ? tw_desc = "" : tw_desc = s.data.tw_desc.values;
|
59 |
-
typeof s.data.tw_img ==="undefined" ? tw_img = "" : tw_img = s.data.tw_img.values;
|
60 |
-
typeof s.data.meta_robots ==="undefined" ? meta_robots = "" : meta_robots = s.data.meta_robots[0];
|
61 |
-
|
62 |
-
var data_arr = {
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
70 |
};
|
71 |
|
72 |
for (var key in data_arr) {
|
@@ -86,68 +87,68 @@ let hasSaved = false;
|
|
86 |
|
87 |
var if_noindex = new RegExp('noindex');
|
88 |
|
89 |
-
if(if_noindex.test(meta_robots)){
|
90 |
$("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>');
|
91 |
}
|
92 |
|
93 |
// Google Preview
|
94 |
$("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
|
101 |
// Facebook Preview
|
102 |
if (data_arr.og_title) {
|
103 |
$("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder", data_arr.og_title[0]),
|
104 |
-
|
105 |
-
|
106 |
}
|
107 |
|
108 |
if (data_arr.og_desc) {
|
109 |
$("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder", data_arr.og_desc[0]),
|
110 |
-
|
111 |
-
|
112 |
}
|
113 |
|
114 |
if (data_arr.og_img) {
|
115 |
$("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder", data_arr.og_img[0]),
|
116 |
-
|
117 |
-
|
118 |
}
|
119 |
|
120 |
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),
|
121 |
-
|
122 |
|
123 |
// Twitter Preview
|
124 |
if (data_arr.tw_title) {
|
125 |
$("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder", data_arr.tw_title[0]),
|
126 |
-
|
127 |
-
|
128 |
}
|
129 |
|
130 |
if (data_arr.tw_desc) {
|
131 |
$("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder", data_arr.tw_desc[0]),
|
132 |
-
|
133 |
-
|
134 |
}
|
135 |
|
136 |
if (data_arr.tw_img) {
|
137 |
$("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder", data_arr.tw_img[0]),
|
138 |
-
|
139 |
-
|
140 |
}
|
141 |
|
142 |
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),
|
143 |
|
144 |
-
|
145 |
|
146 |
-
|
147 |
-
|
148 |
},
|
149 |
});
|
150 |
}
|
151 |
-
hasSaved = !!
|
152 |
});
|
153 |
});
|
1 |
//Retrieve title / meta-desc from source code
|
2 |
+
jQuery(document).ready(function ($) {
|
3 |
+
const { subscribe, select } = wp.data;
|
4 |
+
let hasSaved = false;
|
5 |
|
6 |
+
subscribe(() => {
|
7 |
//var isSavingPost = wp.data.select('core/editor').isSavingPost();
|
8 |
var isAutosavingPost = wp.data.select('core/editor').isAutosavingPost();
|
9 |
var isSavingMetaBoxes = wp.data.select('core/edit-post').isSavingMetaBoxes();
|
33 |
}
|
34 |
|
35 |
$.ajax({
|
36 |
+
method: 'GET',
|
37 |
+
url: seopressAjaxRealPreview.seopress_real_preview,
|
38 |
data: {
|
39 |
action: 'seopress_do_real_preview',
|
40 |
post_id: post_id,
|
44 |
seopress_analysis_target_kw: $('#seopress_analysis_target_kw_meta').val(),
|
45 |
_ajax_nonce: seopressAjaxRealPreview.seopress_nonce,
|
46 |
},
|
47 |
+
beforeSend: function () {
|
48 |
$(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),
|
49 |
+
$(".analysis-score p").addClass('loading')
|
50 |
},
|
51 |
+
success: function (s) {
|
52 |
+
typeof s.data.og_title === "undefined" ? og_title = "" : og_title = s.data.og_title.values;
|
53 |
+
typeof s.data.og_desc === "undefined" ? og_desc = "" : og_desc = s.data.og_desc.values;
|
54 |
+
typeof s.data.og_img === "undefined" ? og_img = "" : og_img = s.data.og_img.values;
|
55 |
+
typeof s.data.og_url === "undefined" ? og_url = "" : og_url = s.data.og_url.host;
|
56 |
+
typeof s.data.og_site_name === "undefined" ? og_site_name = "" : og_site_name = s.data.og_site_name.values;
|
57 |
+
typeof s.data.tw_title === "undefined" ? tw_title = "" : tw_title = s.data.tw_title.values;
|
58 |
+
typeof s.data.tw_desc === "undefined" ? tw_desc = "" : tw_desc = s.data.tw_desc.values;
|
59 |
+
typeof s.data.tw_img === "undefined" ? tw_img = "" : tw_img = s.data.tw_img.values;
|
60 |
+
typeof s.data.meta_robots === "undefined" ? meta_robots = "" : meta_robots = s.data.meta_robots[0];
|
61 |
+
|
62 |
+
var data_arr = {
|
63 |
+
og_title: og_title,
|
64 |
+
og_desc: og_desc,
|
65 |
+
og_img: og_img,
|
66 |
+
og_url: og_url,
|
67 |
+
og_site_name: og_site_name,
|
68 |
+
tw_title: tw_title,
|
69 |
+
tw_desc: tw_desc,
|
70 |
+
tw_img: tw_img
|
71 |
};
|
72 |
|
73 |
for (var key in data_arr) {
|
87 |
|
88 |
var if_noindex = new RegExp('noindex');
|
89 |
|
90 |
+
if (if_noindex.test(meta_robots)) {
|
91 |
$("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>');
|
92 |
}
|
93 |
|
94 |
// Google Preview
|
95 |
$("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),
|
96 |
+
$("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),
|
97 |
+
$("#seopress_titles_title_meta").attr("placeholder", s.data.title),
|
98 |
+
$("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),
|
99 |
+
$("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),
|
100 |
+
$("#seopress_titles_desc_meta").attr("placeholder", s.data.meta_desc)
|
101 |
|
102 |
// Facebook Preview
|
103 |
if (data_arr.og_title) {
|
104 |
$("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder", data_arr.og_title[0]),
|
105 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),
|
106 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])
|
107 |
}
|
108 |
|
109 |
if (data_arr.og_desc) {
|
110 |
$("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder", data_arr.og_desc[0]),
|
111 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),
|
112 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])
|
113 |
}
|
114 |
|
115 |
if (data_arr.og_img) {
|
116 |
$("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder", data_arr.og_img[0]),
|
117 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src", data_arr.og_img[0]),
|
118 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src", data_arr.og_img[0])
|
119 |
}
|
120 |
|
121 |
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),
|
122 |
+
$("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name)
|
123 |
|
124 |
// Twitter Preview
|
125 |
if (data_arr.tw_title) {
|
126 |
$("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder", data_arr.tw_title[0]),
|
127 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),
|
128 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])
|
129 |
}
|
130 |
|
131 |
if (data_arr.tw_desc) {
|
132 |
$("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder", data_arr.tw_desc[0]),
|
133 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),
|
134 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])
|
135 |
}
|
136 |
|
137 |
if (data_arr.tw_img) {
|
138 |
$("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder", data_arr.tw_img[0]),
|
139 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src", data_arr.tw_img[0]),
|
140 |
+
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src", data_arr.tw_img[0])
|
141 |
}
|
142 |
|
143 |
$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),
|
144 |
|
145 |
+
$('#seopress_cpt #seopress_robots_canonical_meta').attr('placeholder', s.data.canonical),
|
146 |
|
147 |
+
$('#seopress-analysis-tabs').load(" #seopress-analysis-tabs-1", '', sp_ca_toggle),
|
148 |
+
$(".analysis-score p").removeClass('loading')
|
149 |
},
|
150 |
});
|
151 |
}
|
152 |
+
hasSaved = !!isSavingMetaBoxes; //isSavingPost != 0;
|
153 |
});
|
154 |
});
|
@@ -25,7 +25,9 @@ jQuery(document).ready(function ($) {
|
|
25 |
"notice-go-pro",
|
26 |
"notice-noindex",
|
27 |
"notice-tasks",
|
28 |
-
"notice-insights"
|
|
|
|
|
29 |
]
|
30 |
notices.forEach(function (item) {
|
31 |
$('#' + item).on('click', function () {
|
@@ -129,6 +131,19 @@ jQuery(document).ready(function ($) {
|
|
129 |
},
|
130 |
});
|
131 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
$('#notifications_center').on('click', function () {
|
133 |
$('#seopress-notifications-center').toggleClass('is-active');
|
134 |
$('#notifications_center').attr('data-toggle', $('#notifications_center').attr('data-toggle') == '1' ? '0' : '1');
|
@@ -211,4 +226,31 @@ jQuery(document).ready(function ($) {
|
|
211 |
$('#spinner-reverse.spinner').css("visibility", "visible");
|
212 |
$('#spinner-reverse.spinner').css("float", "none");
|
213 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
});
|
25 |
"notice-go-pro",
|
26 |
"notice-noindex",
|
27 |
"notice-tasks",
|
28 |
+
"notice-insights",
|
29 |
+
"notice-robots-txt",
|
30 |
+
"notice-robots-txt-valid",
|
31 |
]
|
32 |
notices.forEach(function (item) {
|
33 |
$('#' + item).on('click', function () {
|
131 |
},
|
132 |
});
|
133 |
});
|
134 |
+
$('#seopress_tools').on('click', function () {
|
135 |
+
$('#notice-insights-alert').toggleClass('is-active');
|
136 |
+
$('#seopress_tools').attr('data-toggle', $('#seopress_tools').attr('data-toggle') == '1' ? '0' : '1');
|
137 |
+
$.ajax({
|
138 |
+
method: 'POST',
|
139 |
+
url: seopressAjaxDisplay.seopress_display,
|
140 |
+
data: {
|
141 |
+
action: 'seopress_display',
|
142 |
+
tools_center: $('#seopress_tools').attr('data-toggle'),
|
143 |
+
_ajax_nonce: seopressAjaxDisplay.seopress_nonce,
|
144 |
+
},
|
145 |
+
});
|
146 |
+
});
|
147 |
$('#notifications_center').on('click', function () {
|
148 |
$('#seopress-notifications-center').toggleClass('is-active');
|
149 |
$('#notifications_center').attr('data-toggle', $('#notifications_center').attr('data-toggle') == '1' ? '0' : '1');
|
226 |
$('#spinner-reverse.spinner').css("visibility", "visible");
|
227 |
$('#spinner-reverse.spinner').css("float", "none");
|
228 |
});
|
229 |
+
|
230 |
+
//Drag and drop for cards
|
231 |
+
$(".seopress-dashboard-columns .seopress-dashboard-column:last-child").sortable({
|
232 |
+
items: ".seopress-card",
|
233 |
+
placeholder: "sp-dashboard-card-highlight",
|
234 |
+
cancel: ".seopress-intro, .seopress-card-popover",
|
235 |
+
handle: ".seopress-card-title",
|
236 |
+
opacity: 0.9,
|
237 |
+
forcePlaceholderSize: true,
|
238 |
+
update: function (e) {
|
239 |
+
const item = jQuery(e.target);
|
240 |
+
|
241 |
+
var postData = item.sortable("toArray", {
|
242 |
+
attribute: "id",
|
243 |
+
});
|
244 |
+
|
245 |
+
$.ajax({
|
246 |
+
method: "POST",
|
247 |
+
url: seopressAjaxDndFeatures.seopress_dnd_features,
|
248 |
+
data: {
|
249 |
+
action: "seopress_dnd_features",
|
250 |
+
order: postData,
|
251 |
+
_ajax_nonce: seopressAjaxDndFeatures.seopress_nonce,
|
252 |
+
},
|
253 |
+
});
|
254 |
+
},
|
255 |
+
});
|
256 |
});
|
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(s){s.trim(s("#seopress-notifications-center").html())||s("#seopress-notifications-center").remove();const e=["notice-get-started","notice-usm","notice-wizard","notice-insights-wizard","notice-tagdiv","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-ga-ids","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex","notice-tasks","notice-insights"];e.forEach(function(e){s("#"+e).on("click",function(){s("#"+e).attr("data-notice","1"==s("#"+e).attr("data-notice")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:e,notice_value:s("#"+e).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(t){s("#seopress-notice-save").css("display","block"),s("#seopress-notice-save .html").html("Notice successfully removed"),s("#"+e+"-alert").fadeOut(),s("#seopress-notice-save").delay(3500).fadeOut()}})})});const t=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];t.forEach(function(e){s("#toggle-"+e).on("click",function(){s("#toggle-"+e).attr("data-toggle","1"==s("#toggle-"+e).attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+e,feature_value:s("#toggle-"+e).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(e){window.history.pushState("","",window.location.href+"&settings-updated=true"),s("#seopress-notice-save").show(),s("#seopress-notice-save").delay(3500).fadeOut(),window.history.pushState("","",window.location.href)}})})}),s("#seopress-activity-panel button").on("click",function(){s(this).toggleClass("is-active"),s("#seopress-activity-panel-"+s(this).data("panel")).toggleClass("is-open")}),s("#seopress-content").on("click",function(){s("#seopress-activity-panel").find(".is-open").toggleClass("is-open"),s("#seopress-activity-panel").find(".is-active").toggleClass("is-active")}),s(".seopress-item-toggle-options").on("click",function(){s(this).next(".seopress-card-popover").toggleClass("is-open")}),s("#seopress-news-items").on("click",function(){s.ajax({method:"POST",url:seopressAjaxNews.seopress_news,data:{action:"seopress_news",news_max_items:s("#news_max_items").val(),_ajax_nonce:seopressAjaxNews.seopress_nonce},success:function(e){s("#seopress-news-panel .seopress-card-content").load(" #seopress-news-panel .seopress-card-content"),s("#seopress-news-panel .seopress-card-popover").toggleClass("is-open")}})}),s("#seopress_news").on("click",function(){s("#seopress-news-panel").toggleClass("is-active"),s("#seopress_news").attr("data-toggle","1"==s("#seopress_news").attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxDisplay.seopress_display,data:{action:"seopress_display",news_center:s("#seopress_news").attr("data-toggle"),_ajax_nonce:seopressAjaxDisplay.seopress_nonce}})}),s("#notifications_center").on("click",function(){s("#seopress-notifications-center").toggleClass("is-active"),s("#notifications_center").attr("data-toggle","1"==s("#notifications_center").attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxDisplay.seopress_display,data:{action:"seopress_display",notifications_center:s("#notifications_center").attr("data-toggle"),_ajax_nonce:seopressAjaxDisplay.seopress_nonce}})})}),jQuery(document).ready(function(s){var e=window.location.hash,t=e.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_admin_tab");"1"==t[1]?(s("#tab_seopress_analytics-tab").addClass("nav-tab-active"),s("#tab_seopress_analytics").addClass("active")):"2"==t[1]?(s("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),s("#tab_seopress_seo_tools").addClass("active")):"3"==t[1]?(s("#tab_seopress_ps-tab").addClass("nav-tab-active"),s("#tab_seopress_ps_tools").addClass("active")):a?(s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_analytics-tab").addClass("nav-tab-active"),s("#tab_seopress_analytics").addClass("active"))}s("#seopress-admin-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var a=s(this).attr("href").split("#tab=")[1];s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+a+"-tab").addClass("nav-tab-active"),1==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_analytics"):2==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_ps_tools"):sessionStorage.setItem("seopress_admin_tab",a),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a).addClass("active")}),s("#seopress-reverse-submit").on("click",function(){s.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-reverse-submit").on("click",function(){s(this).attr("disabled","disabled"),s("#spinner-reverse.spinner").css("visibility","visible"),s("#spinner-reverse.spinner").css("float","none")})});
|
1 |
+
jQuery(document).ready(function(s){s.trim(s("#seopress-notifications-center").html())||s("#seopress-notifications-center").remove();const e=["notice-get-started","notice-usm","notice-wizard","notice-insights-wizard","notice-tagdiv","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-ga-ids","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex","notice-tasks","notice-insights","notice-robots-txt","notice-robots-txt-valid"];e.forEach(function(e){s("#"+e).on("click",function(){s("#"+e).attr("data-notice","1"==s("#"+e).attr("data-notice")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:e,notice_value:s("#"+e).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(t){s("#seopress-notice-save").css("display","block"),s("#seopress-notice-save .html").html("Notice successfully removed"),s("#"+e+"-alert").fadeOut(),s("#seopress-notice-save").delay(3500).fadeOut()}})})});const t=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];t.forEach(function(e){s("#toggle-"+e).on("click",function(){s("#toggle-"+e).attr("data-toggle","1"==s("#toggle-"+e).attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+e,feature_value:s("#toggle-"+e).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(e){window.history.pushState("","",window.location.href+"&settings-updated=true"),s("#seopress-notice-save").show(),s("#seopress-notice-save").delay(3500).fadeOut(),window.history.pushState("","",window.location.href)}})})}),s("#seopress-activity-panel button").on("click",function(){s(this).toggleClass("is-active"),s("#seopress-activity-panel-"+s(this).data("panel")).toggleClass("is-open")}),s("#seopress-content").on("click",function(){s("#seopress-activity-panel").find(".is-open").toggleClass("is-open"),s("#seopress-activity-panel").find(".is-active").toggleClass("is-active")}),s(".seopress-item-toggle-options").on("click",function(){s(this).next(".seopress-card-popover").toggleClass("is-open")}),s("#seopress-news-items").on("click",function(){s.ajax({method:"POST",url:seopressAjaxNews.seopress_news,data:{action:"seopress_news",news_max_items:s("#news_max_items").val(),_ajax_nonce:seopressAjaxNews.seopress_nonce},success:function(e){s("#seopress-news-panel .seopress-card-content").load(" #seopress-news-panel .seopress-card-content"),s("#seopress-news-panel .seopress-card-popover").toggleClass("is-open")}})}),s("#seopress_news").on("click",function(){s("#seopress-news-panel").toggleClass("is-active"),s("#seopress_news").attr("data-toggle","1"==s("#seopress_news").attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxDisplay.seopress_display,data:{action:"seopress_display",news_center:s("#seopress_news").attr("data-toggle"),_ajax_nonce:seopressAjaxDisplay.seopress_nonce}})}),s("#seopress_tools").on("click",function(){s("#notice-insights-alert").toggleClass("is-active"),s("#seopress_tools").attr("data-toggle","1"==s("#seopress_tools").attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxDisplay.seopress_display,data:{action:"seopress_display",tools_center:s("#seopress_tools").attr("data-toggle"),_ajax_nonce:seopressAjaxDisplay.seopress_nonce}})}),s("#notifications_center").on("click",function(){s("#seopress-notifications-center").toggleClass("is-active"),s("#notifications_center").attr("data-toggle","1"==s("#notifications_center").attr("data-toggle")?"0":"1"),s.ajax({method:"POST",url:seopressAjaxDisplay.seopress_display,data:{action:"seopress_display",notifications_center:s("#notifications_center").attr("data-toggle"),_ajax_nonce:seopressAjaxDisplay.seopress_nonce}})})}),jQuery(document).ready(function(s){var e=window.location.hash,t=e.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_admin_tab");"1"==t[1]?(s("#tab_seopress_analytics-tab").addClass("nav-tab-active"),s("#tab_seopress_analytics").addClass("active")):"2"==t[1]?(s("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),s("#tab_seopress_seo_tools").addClass("active")):"3"==t[1]?(s("#tab_seopress_ps-tab").addClass("nav-tab-active"),s("#tab_seopress_ps_tools").addClass("active")):a?(s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_analytics-tab").addClass("nav-tab-active"),s("#tab_seopress_analytics").addClass("active"))}s("#seopress-admin-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var a=s(this).attr("href").split("#tab=")[1];s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+a+"-tab").addClass("nav-tab-active"),1==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_analytics"):2==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==t[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_ps_tools"):sessionStorage.setItem("seopress_admin_tab",a),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a).addClass("active")}),s("#seopress-reverse-submit").on("click",function(){s.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-reverse-submit").on("click",function(){s(this).attr("disabled","disabled"),s("#spinner-reverse.spinner").css("visibility","visible"),s("#spinner-reverse.spinner").css("float","none")}),s(".seopress-dashboard-columns .seopress-dashboard-column:last-child").sortable({items:".seopress-card",placeholder:"sp-dashboard-card-highlight",cancel:".seopress-intro, .seopress-card-popover",handle:".seopress-card-title",opacity:.9,forcePlaceholderSize:!0,update:function(e){const t=jQuery(e.target);var a=t.sortable("toArray",{attribute:"id"});s.ajax({method:"POST",url:seopressAjaxDndFeatures.seopress_dnd_features,data:{action:"seopress_dnd_features",order:a,_ajax_nonce:seopressAjaxDndFeatures.seopress_nonce}})}})});
|
@@ -26,6 +26,8 @@ jQuery(document).ready(function ($) {
|
|
26 |
"#seopress_social_knowledge_img",
|
27 |
"#seopress_social_twitter_img",
|
28 |
"#seopress_social_fb_img",
|
|
|
|
|
29 |
];
|
30 |
|
31 |
array.forEach(function (item) {
|
@@ -51,13 +53,13 @@ jQuery(document).ready(function ($) {
|
|
51 |
.toJSON();
|
52 |
$(item + "_meta").val(attachment.url);
|
53 |
if (
|
54 |
-
item == "#seopress_social_fb_img" &&
|
55 |
typeof sp_social_img != "undefined"
|
56 |
) {
|
57 |
sp_social_img("fb");
|
58 |
}
|
59 |
if (
|
60 |
-
item == "#seopress_social_twitter_img" &&
|
61 |
typeof sp_social_img != "undefined"
|
62 |
) {
|
63 |
sp_social_img("twitter");
|
26 |
"#seopress_social_knowledge_img",
|
27 |
"#seopress_social_twitter_img",
|
28 |
"#seopress_social_fb_img",
|
29 |
+
".seopress_social_fb_img",
|
30 |
+
".seopress_social_twitter_img"
|
31 |
];
|
32 |
|
33 |
array.forEach(function (item) {
|
53 |
.toJSON();
|
54 |
$(item + "_meta").val(attachment.url);
|
55 |
if (
|
56 |
+
(item == "#seopress_social_fb_img" || item == ".seopress_social_fb_img") &&
|
57 |
typeof sp_social_img != "undefined"
|
58 |
) {
|
59 |
sp_social_img("fb");
|
60 |
}
|
61 |
if (
|
62 |
+
(item == "#seopress_social_twitter_img" || item == ".seopress_social_twitter_img") &&
|
63 |
typeof sp_social_img != "undefined"
|
64 |
) {
|
65 |
sp_social_img("twitter");
|
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(
|
1 |
+
jQuery(document).ready(function(e){var t;e(".button.seopress_social_facebook_img_cpt").click(function(i){i.preventDefault();var a=e(this).parent().find("input[type=text]");t=wp.media.frames.file_frame=wp.media({multiple:!1}),t.on("select",function(){attachment=t.state().get("selection").first().toJSON(),e(a).val(attachment.url)}),t.open()});const i=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img",".seopress_social_fb_img",".seopress_social_twitter_img"];i.forEach(function(t){var i;e(t+"_upload").click(function(a){a.preventDefault(),i?i.open():(i=wp.media.frames.file_frame=wp.media({multiple:!1}),i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(t+"_meta").val(attachment.url),"#seopress_social_fb_img"!=t&&".seopress_social_fb_img"!=t||"undefined"==typeof sp_social_img||sp_social_img("fb"),"#seopress_social_twitter_img"!=t&&".seopress_social_twitter_img"!=t||"undefined"==typeof sp_social_img||sp_social_img("twitter"),0!=e(t+"_attachment_id").length&&(e(t+"_attachment_id").val(attachment.id),e(t+"_width").val(attachment.width),e(t+"_height").val(attachment.height))}),i.open())})}),e(".seopress-btn-upload-media").click(function(t){var i;if(t.preventDefault(),i)i.open();else{i=wp.media.frames.file_frame=wp.media({multiple:!1});var a=e(this);i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(a.data("input-value")).val(attachment.url)}),i.open()}})});
|
@@ -2,27 +2,6 @@
|
|
2 |
|
3 |
defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)');
|
4 |
|
5 |
-
/*
|
6 |
-
* Global noindex from SEO, Titles settings
|
7 |
-
* @since 4.0
|
8 |
-
* @param string $feature
|
9 |
-
* @return string 1 if true
|
10 |
-
* @author Benjamin
|
11 |
-
*/
|
12 |
-
if ( ! function_exists('seopress_global_noindex_option')) {
|
13 |
-
function seopress_global_noindex_option() {
|
14 |
-
$seopress_titles_noindex_option = get_option('seopress_titles_option_name');
|
15 |
-
if ( ! empty($seopress_titles_noindex_option)) {
|
16 |
-
foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value) {
|
17 |
-
$options[$key] = $seopress_titles_noindex_value;
|
18 |
-
}
|
19 |
-
if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
|
20 |
-
return $seopress_titles_noindex_option['seopress_titles_noindex'];
|
21 |
-
}
|
22 |
-
}
|
23 |
-
}
|
24 |
-
}
|
25 |
-
|
26 |
//Noindex alert?
|
27 |
function seopress_advanced_appearance_adminbar_noindex_option() {
|
28 |
$seopress_advanced_appearance_adminbar_noindex_option = get_option('seopress_advanced_option_name');
|
2 |
|
3 |
defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)');
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
//Noindex alert?
|
6 |
function seopress_advanced_appearance_adminbar_noindex_option() {
|
7 |
$seopress_advanced_appearance_adminbar_noindex_option = get_option('seopress_advanced_option_name');
|
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)');
|
4 |
|
5 |
-
function seopress_admin_header() {
|
6 |
$docs = seopress_get_docs_links(); ?>
|
7 |
|
8 |
<div id="seopress-header" class="seopress-option">
|
@@ -53,7 +53,12 @@ function seopress_admin_header() {
|
|
53 |
<label for="seopress-search" class="screen-reader-text"><?php _e('Search', 'wp-seopress'); ?></label>
|
54 |
</form>
|
55 |
<ul class="seopress-list-items" role="menu">
|
56 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
57 |
foreach ($value as $_key => $_value) {
|
58 |
?>
|
59 |
<li class="seopress-item">
|
@@ -106,8 +111,7 @@ function seopress_admin_header() {
|
|
106 |
</p>
|
107 |
|
108 |
<?php
|
109 |
-
|
110 |
-
$check = isset($options['seopress_advanced_appearance_news']); ?>
|
111 |
|
112 |
<p>
|
113 |
<input id="seopress_news" class="toggle" data-toggle=<?php if ('1' == $check) {
|
@@ -123,6 +127,24 @@ function seopress_admin_header() {
|
|
123 |
<?php _e('Hide SEO News?', 'wp-seopress'); ?>
|
124 |
</label>
|
125 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
</div>
|
127 |
</div>
|
128 |
</div>
|
2 |
|
3 |
defined('ABSPATH') or exit('Please don’t call the plugin directly. Thanks :)');
|
4 |
|
5 |
+
function seopress_admin_header($context = "") {
|
6 |
$docs = seopress_get_docs_links(); ?>
|
7 |
|
8 |
<div id="seopress-header" class="seopress-option">
|
53 |
<label for="seopress-search" class="screen-reader-text"><?php _e('Search', 'wp-seopress'); ?></label>
|
54 |
</form>
|
55 |
<ul class="seopress-list-items" role="menu">
|
56 |
+
<?php
|
57 |
+
$docs_started = $docs['get_started'];
|
58 |
+
if ($context ==='insights') {
|
59 |
+
$docs_started = $docs['get_started_insights'];
|
60 |
+
}
|
61 |
+
foreach ($docs_started as $key => $value) {
|
62 |
foreach ($value as $_key => $_value) {
|
63 |
?>
|
64 |
<li class="seopress-item">
|
111 |
</p>
|
112 |
|
113 |
<?php
|
114 |
+
$check = isset($options['seopress_advanced_appearance_news']); ?>
|
|
|
115 |
|
116 |
<p>
|
117 |
<input id="seopress_news" class="toggle" data-toggle=<?php if ('1' == $check) {
|
127 |
<?php _e('Hide SEO News?', 'wp-seopress'); ?>
|
128 |
</label>
|
129 |
</p>
|
130 |
+
|
131 |
+
<?php
|
132 |
+
$check = isset($options['seopress_advanced_appearance_seo_tools']); ?>
|
133 |
+
|
134 |
+
<p>
|
135 |
+
<input id="seopress_tools" class="toggle" data-toggle=<?php if ('1' == $check) {
|
136 |
+
echo '1';
|
137 |
+
} else {
|
138 |
+
echo '0';
|
139 |
+
} ?> name="seopress_advanced_option_name[seopress_advanced_appearance_seo_tools]" type="checkbox"
|
140 |
+
<?php if ('1' == $check) {
|
141 |
+
echo 'checked="yes"';
|
142 |
+
} ?>/>
|
143 |
+
<label for="seopress_tools"></label>
|
144 |
+
<label for="seopress_advanced_option_name[seopress_advanced_appearance_seo_tools]">
|
145 |
+
<?php _e('Hide Site Overview?', 'wp-seopress'); ?>
|
146 |
+
</label>
|
147 |
+
</p>
|
148 |
</div>
|
149 |
</div>
|
150 |
</div>
|
@@ -5,14 +5,14 @@
|
|
5 |
exit;
|
6 |
}
|
7 |
?>
|
8 |
-
<div class="seopress-page-list seopress-card">
|
9 |
<div class="seopress-card-title">
|
10 |
<h2><?php _e('SEO management', 'wp-seopress'); ?>
|
11 |
</h2>
|
|
|
12 |
</div>
|
13 |
|
14 |
<?php
|
15 |
-
$features = [];
|
16 |
$features = [
|
17 |
'titles' => [
|
18 |
'title' => __('Titles & Metas', 'wp-seopress'),
|
@@ -211,4 +211,4 @@
|
|
211 |
</div>
|
212 |
<?php }
|
213 |
?>
|
214 |
-
</div>
|
5 |
exit;
|
6 |
}
|
7 |
?>
|
8 |
+
<div id="seopress-page-list" class="seopress-page-list seopress-card">
|
9 |
<div class="seopress-card-title">
|
10 |
<h2><?php _e('SEO management', 'wp-seopress'); ?>
|
11 |
</h2>
|
12 |
+
<span class="dashicons dashicons-sort"></span>
|
13 |
</div>
|
14 |
|
15 |
<?php
|
|
|
16 |
$features = [
|
17 |
'titles' => [
|
18 |
'title' => __('Titles & Metas', 'wp-seopress'),
|
211 |
</div>
|
212 |
<?php }
|
213 |
?>
|
214 |
+
</div>
|
@@ -7,22 +7,38 @@ $this->options = get_option('seopress_option_name');
|
|
7 |
$current_tab ='';
|
8 |
if (function_exists('seopress_admin_header')) {
|
9 |
echo seopress_admin_header();
|
10 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
<div id="seopress-content" class="seopress-option">
|
12 |
<!--Get started-->
|
13 |
<?php
|
14 |
-
function seopress_get_hidden_notices_get_started_option()
|
15 |
-
{
|
16 |
-
$seopress_get_hidden_notices_get_started_option = get_option('seopress_notices');
|
17 |
-
if (! empty($seopress_get_hidden_notices_get_started_option)) {
|
18 |
-
foreach ($seopress_get_hidden_notices_get_started_option as $key => $seopress_get_hidden_notices_get_started_value) {
|
19 |
-
$options[$key] = $seopress_get_hidden_notices_get_started_value;
|
20 |
-
}
|
21 |
-
if (isset($seopress_get_hidden_notices_get_started_option['notice-get-started'])) {
|
22 |
-
return $seopress_get_hidden_notices_get_started_option['notice-get-started'];
|
23 |
-
}
|
24 |
-
}
|
25 |
-
}
|
26 |
if ('1' != seopress_get_hidden_notices_get_started_option()) {
|
27 |
if (function_exists('seopress_get_toggle_white_label_option') && '1' == seopress_get_toggle_white_label_option()) {
|
28 |
//do nothing
|
@@ -44,20 +60,27 @@ if ('1' != seopress_get_hidden_notices_get_started_option()) {
|
|
44 |
</div>
|
45 |
<div class="seopress-dashboard-column">
|
46 |
<?php
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
} ?>
|
60 |
-
<?php include_once dirname(dirname(__FILE__)) . '/admin-features-list.php'; ?>
|
61 |
</div>
|
62 |
</div>
|
63 |
|
7 |
$current_tab ='';
|
8 |
if (function_exists('seopress_admin_header')) {
|
9 |
echo seopress_admin_header();
|
10 |
+
}
|
11 |
+
|
12 |
+
function seopress_get_hidden_notices_get_started_option()
|
13 |
+
{
|
14 |
+
$seopress_get_hidden_notices_get_started_option = get_option('seopress_notices');
|
15 |
+
if (! empty($seopress_get_hidden_notices_get_started_option)) {
|
16 |
+
foreach ($seopress_get_hidden_notices_get_started_option as $key => $seopress_get_hidden_notices_get_started_value) {
|
17 |
+
$options[$key] = $seopress_get_hidden_notices_get_started_value;
|
18 |
+
}
|
19 |
+
if (isset($seopress_get_hidden_notices_get_started_option['notice-get-started'])) {
|
20 |
+
return $seopress_get_hidden_notices_get_started_option['notice-get-started'];
|
21 |
+
}
|
22 |
+
}
|
23 |
+
}
|
24 |
+
|
25 |
+
function seopress_dashboard_cards_order_option()
|
26 |
+
{
|
27 |
+
$seopress_dashboard_cards_order_option = get_option('seopress_dashboard_option_name');
|
28 |
+
if (! empty($seopress_dashboard_cards_order_option)) {
|
29 |
+
foreach ($seopress_dashboard_cards_order_option as $key => $seopress_dashboard_cards_order_value) {
|
30 |
+
$options[$key] = $seopress_dashboard_cards_order_value;
|
31 |
+
}
|
32 |
+
if (isset($seopress_dashboard_cards_order_option['cards_order'])) {
|
33 |
+
return $seopress_dashboard_cards_order_option['cards_order'];
|
34 |
+
}
|
35 |
+
}
|
36 |
+
}
|
37 |
+
?>
|
38 |
+
|
39 |
<div id="seopress-content" class="seopress-option">
|
40 |
<!--Get started-->
|
41 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
if ('1' != seopress_get_hidden_notices_get_started_option()) {
|
43 |
if (function_exists('seopress_get_toggle_white_label_option') && '1' == seopress_get_toggle_white_label_option()) {
|
44 |
//do nothing
|
60 |
</div>
|
61 |
<div class="seopress-dashboard-column">
|
62 |
<?php
|
63 |
+
|
64 |
+
$cards = [
|
65 |
+
'notice-insights-alert' => '/blocks/insights.php',
|
66 |
+
'seopress-news-panel' => '/blocks/news.php',
|
67 |
+
'seopress-page-list' => '/admin-features-list.php'
|
68 |
+
];
|
69 |
+
|
70 |
+
$order = seopress_dashboard_cards_order_option();
|
71 |
+
|
72 |
+
if (!empty($order)) {
|
73 |
+
foreach($order as $key => $value) {
|
74 |
+
if (isset($cards[$value])) {
|
75 |
+
include_once dirname(dirname(__FILE__)) . $cards[$value];
|
76 |
+
}
|
77 |
}
|
78 |
+
} else {
|
79 |
+
foreach($cards as $key => $value) {
|
80 |
+
include_once dirname(dirname(__FILE__)) . $value;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
?>
|
|
|
|
|
84 |
</div>
|
85 |
</div>
|
86 |
|
@@ -144,7 +144,8 @@ function seopress_metadata_export() {
|
|
144 |
|
145 |
//Get post types
|
146 |
$seopress_get_post_types = [];
|
147 |
-
|
|
|
148 |
$seopress_get_post_types[] = $seopress_cpt_key;
|
149 |
}
|
150 |
|
144 |
|
145 |
//Get post types
|
146 |
$seopress_get_post_types = [];
|
147 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
148 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
149 |
$seopress_get_post_types[] = $seopress_cpt_key;
|
150 |
}
|
151 |
|
@@ -466,7 +466,7 @@ function seopress_do_real_preview()
|
|
466 |
}
|
467 |
|
468 |
//nofollow links
|
469 |
-
$nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow')]");
|
470 |
if (! empty($nofollow_links)) {
|
471 |
foreach ($nofollow_links as $key=>$link) {
|
472 |
if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) {
|
@@ -576,7 +576,7 @@ function seopress_toggle_features()
|
|
576 |
if (current_user_can(seopress_capability('manage_options', 'dashboard')) && is_admin()) {
|
577 |
if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
|
578 |
$seopress_toggle_options = get_option('seopress_toggle');
|
579 |
-
$seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
|
580 |
update_option('seopress_toggle', $seopress_toggle_options, 'yes', false);
|
581 |
}
|
582 |
exit();
|
@@ -584,6 +584,26 @@ function seopress_toggle_features()
|
|
584 |
}
|
585 |
add_action('wp_ajax_seopress_toggle_features', 'seopress_toggle_features');
|
586 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
588 |
//Dashboard News Panel
|
589 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
@@ -632,6 +652,18 @@ function seopress_display()
|
|
632 |
|
633 |
update_option('seopress_advanced_option_name', $seopress_advanced_option_name, false);
|
634 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
635 |
exit();
|
636 |
}
|
637 |
}
|
466 |
}
|
467 |
|
468 |
//nofollow links
|
469 |
+
$nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow') and not(contains(@rel, 'ugc'))]");
|
470 |
if (! empty($nofollow_links)) {
|
471 |
foreach ($nofollow_links as $key=>$link) {
|
472 |
if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) {
|
576 |
if (current_user_can(seopress_capability('manage_options', 'dashboard')) && is_admin()) {
|
577 |
if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
|
578 |
$seopress_toggle_options = get_option('seopress_toggle');
|
579 |
+
$seopress_toggle_options[$_POST['feature']] = esc_attr($_POST['feature_value']);
|
580 |
update_option('seopress_toggle', $seopress_toggle_options, 'yes', false);
|
581 |
}
|
582 |
exit();
|
584 |
}
|
585 |
add_action('wp_ajax_seopress_toggle_features', 'seopress_toggle_features');
|
586 |
|
587 |
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
588 |
+
//Dashboard drag and drop features
|
589 |
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
590 |
+
function seopress_dnd_features()
|
591 |
+
{
|
592 |
+
check_ajax_referer('seopress_dnd_features_nonce');
|
593 |
+
if (current_user_can(seopress_capability('manage_options', 'dashboard')) && is_admin()) {
|
594 |
+
if (isset($_POST['order']) && $_POST['order']) {
|
595 |
+
$cards_order = get_option('seopress_dashboard_option_name');
|
596 |
+
|
597 |
+
$cards_order['cards_order'] = $_POST['order'];
|
598 |
+
|
599 |
+
update_option('seopress_dashboard_option_name', $cards_order);
|
600 |
+
}
|
601 |
+
}
|
602 |
+
|
603 |
+
wp_send_json_success();
|
604 |
+
}
|
605 |
+
add_action('wp_ajax_seopress_dnd_features', 'seopress_dnd_features');
|
606 |
+
|
607 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
608 |
//Dashboard News Panel
|
609 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
652 |
|
653 |
update_option('seopress_advanced_option_name', $seopress_advanced_option_name, false);
|
654 |
}
|
655 |
+
//Tools Panel
|
656 |
+
if (isset($_POST['tools_center'])) {
|
657 |
+
$seopress_advanced_option_name = get_option('seopress_advanced_option_name');
|
658 |
+
|
659 |
+
if ('1' == $_POST['tools_center']) {
|
660 |
+
$seopress_advanced_option_name['seopress_advanced_appearance_seo_tools'] = esc_attr($_POST['tools_center']);
|
661 |
+
} else {
|
662 |
+
unset($seopress_advanced_option_name['seopress_advanced_appearance_seo_tools']);
|
663 |
+
}
|
664 |
+
|
665 |
+
update_option('seopress_advanced_option_name', $seopress_advanced_option_name, false);
|
666 |
+
}
|
667 |
exit();
|
668 |
}
|
669 |
}
|
@@ -4,281 +4,286 @@
|
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
|
|
|
|
|
|
|
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
17 |
}
|
18 |
-
}
|
19 |
-
}
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
30 |
}
|
31 |
-
}
|
32 |
-
}
|
33 |
|
34 |
-
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
<h2><?php _e('Stats overview', 'wp-seopress'); ?>
|
40 |
-
</h2>
|
41 |
|
42 |
-
<
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
$value = isset($options['hide_insights']) ? esc_attr($options['hide_insights']) : 5;
|
47 |
-
?>
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
</div>
|
53 |
-
</div>
|
54 |
-
<div class="seopress-card-content">
|
55 |
-
<div id="seopress-admin-tabs" class="wrap">
|
56 |
-
<?php
|
57 |
-
$dashboard_settings_tabs = [
|
58 |
-
'tab_seopress_analytics' => __('Google Analytics', 'wp-seopress'),
|
59 |
-
'tab_seopress_ps' => __('PageSpeed', 'wp-seopress'),
|
60 |
-
'tab_seopress_seo_tools' => __('SEO Tools', 'wp-seopress'),
|
61 |
-
];
|
62 |
-
?>
|
63 |
-
|
64 |
-
<div class="nav-tab-wrapper">
|
65 |
-
<?php foreach ($dashboard_settings_tabs as $tab_key => $tab_caption) { ?>
|
66 |
-
<a id="<?php echo $tab_key; ?>-tab" class="nav-tab"
|
67 |
-
href="?page=seopress-option#tab=<?php echo $tab_key; ?>"><?php echo $tab_caption; ?></a>
|
68 |
-
<?php } ?>
|
69 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
$fetchTime = '';
|
77 |
-
$class_score = '';
|
78 |
-
$circumference = '';
|
79 |
-
if (! empty($seopress_page_speed_results)) {
|
80 |
-
$ps_score = ($seopress_page_speed_results['lighthouseResult']['categories']['performance']['score']) * 100;
|
81 |
-
|
82 |
-
if ($ps_score >= 0 && $ps_score < 49) {
|
83 |
-
$class_score = 'red';
|
84 |
-
} elseif ($ps_score >= 50 && $ps_score < 90) {
|
85 |
-
$class_score = 'yellow';
|
86 |
-
} elseif ($ps_score >= 90 && $ps_score <= 100) {
|
87 |
-
$class_score = 'green';
|
88 |
-
} else {
|
89 |
-
$class_score = 'grey';
|
90 |
-
}
|
91 |
-
|
92 |
-
//565.48
|
93 |
-
$circumference = 90 * 2 * M_PI;
|
94 |
-
$circumference = $circumference - $ps_score / 100 * $circumference;
|
95 |
-
$fetchTime = $seopress_page_speed_results['lighthouseResult']['fetchTime'];
|
96 |
-
}
|
97 |
-
?>
|
98 |
-
|
99 |
-
<div class="wrap-seopress-tab-content"
|
100 |
-
data-score="<?php echo $ps_score; ?>">
|
101 |
-
<div id="tab_seopress_ps" class="seopress-tab seopress-page-speed inside<?php if ('tab_seopress_ps' == $current_tab) {
|
102 |
-
echo 'active';
|
103 |
-
}?>">
|
104 |
-
<p><?php _e('The speed score is based on the lab data analyzed by Lighthouse.', 'wp-seopress'); ?>
|
105 |
-
</p>
|
106 |
-
<div class="wrap-scale">
|
107 |
-
<div
|
108 |
-
class="ps-score <?php echo $class_score; ?>">
|
109 |
-
<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%"
|
110 |
-
viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
111 |
-
<circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48"
|
112 |
-
stroke-dashoffset="0"></circle>
|
113 |
-
<circle id="bar" r="90" cx="100" cy="100" fill="transparent"
|
114 |
-
stroke-dasharray="<?php echo $circumference; ?>"
|
115 |
-
stroke-dashoffset="0"></circle>
|
116 |
-
</svg>
|
117 |
-
<span><?php echo $ps_score . '%'; ?></span>
|
118 |
-
</div>
|
119 |
-
|
120 |
-
<a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed'); ?>"
|
121 |
-
class="btn btnSecondary">
|
122 |
-
<?php _e('See full report', 'wp-seopress'); ?>
|
123 |
-
</a>
|
124 |
</div>
|
125 |
-
<p class="wrap-scale">
|
126 |
-
<?php _e('<strong>Scale:</strong><span class="slow"></span>0-49 (slow) <span class="average"></span>50-89 (average) <span class="fast"></span>90-100 (fast)', 'wp-seopress'); ?>
|
127 |
-
</p>
|
128 |
-
<div class="last-date-analysis">
|
129 |
-
<p>
|
130 |
-
<strong><?php _e('Last analysis: ', 'wp-seopress'); ?></strong>
|
131 |
-
<?php echo date_i18n(get_option('date_format'), strtotime($fetchTime)); ?>
|
132 |
-
<?php _e(' at ', 'wp-seopress'); ?>
|
133 |
-
<?php echo date('H:i', strtotime($fetchTime)); ?>
|
134 |
-
</p>
|
135 |
-
</div>
|
136 |
-
</div>
|
137 |
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
<?php if ('1' == seopress_get_toggle_option('google-analytics') && '1' !== seopress_google_analytics_dashboard_widget_option()) {
|
143 |
-
$stats = get_transient('seopress_results_google_analytics');
|
144 |
-
$html = [];
|
145 |
-
if (! empty($stats['sessions'])) {
|
146 |
-
$html[__('Sessions', 'wp-seopress')] = $stats['sessions'];
|
147 |
-
}
|
148 |
-
if (! empty($stats['users'])) {
|
149 |
-
$html[__('Users', 'wp-seopress')] = $stats['users'];
|
150 |
-
}
|
151 |
-
if (! empty($stats['pageviews'])) {
|
152 |
-
$html[__('Page Views', 'wp-seopress')] = $stats['pageviews'];
|
153 |
-
}
|
154 |
-
if (! empty($stats['pageviewsPerSession'])) {
|
155 |
-
$html[__('Page view / session', 'wp-seopress')] = $stats['pageviewsPerSession'];
|
156 |
-
}
|
157 |
-
if (! empty($stats['avgSessionDuration'])) {
|
158 |
-
$html[__('Average session duration', 'wp-seopress')] = $stats['avgSessionDuration'];
|
159 |
-
}
|
160 |
-
if (! empty($stats['bounceRate'])) {
|
161 |
-
$html[__('Bounce rate', 'wp-seopress')] = $stats['bounceRate'];
|
162 |
-
}
|
163 |
-
if (! empty($stats['percentNewSessions'])) {
|
164 |
-
$html[__('New sessions', 'wp-seopress')] = $stats['percentNewSessions'];
|
165 |
-
} ?>
|
166 |
|
167 |
-
|
168 |
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
</div>
|
179 |
-
|
180 |
-
|
181 |
-
<?php _e('No stats found', 'wp-seopress'); ?>
|
182 |
<?php } ?>
|
183 |
-
|
184 |
-
</div>
|
185 |
-
<?php
|
186 |
-
} else { ?>
|
187 |
-
<div class="seopress-summary-items">
|
188 |
-
<div class="seopress-summary-item">
|
189 |
<p>
|
190 |
-
<a
|
191 |
-
|
|
|
192 |
</a>
|
193 |
</p>
|
194 |
</div>
|
195 |
-
</div>
|
196 |
-
<?php } ?>
|
197 |
-
</div>
|
198 |
-
<?php } ?>
|
199 |
-
|
200 |
-
<?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
|
201 |
-
<div id="tab_seopress_seo_tools" class="seopress-tab seopress-useful-tools inside <?php if ('tab_seopress_seo_tools' == $current_tab) {
|
202 |
-
echo 'active';
|
203 |
-
} ?>">
|
204 |
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
|
210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
<?php
|
212 |
-
|
213 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
}
|
220 |
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
<strong>
|
237 |
-
<?php _e('Server IP Address: ', 'wp-seopress'); ?>
|
238 |
-
</strong>
|
239 |
-
<?php echo $seopress_results_reverse_remote_ip_address; ?>
|
240 |
-
</p>
|
241 |
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
<?php echo $seopress_results_reverse_last_scrape; ?>
|
247 |
-
</p>
|
248 |
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
|
275 |
-
|
|
|
|
|
|
|
276 |
</div>
|
277 |
</div>
|
278 |
-
<?php } ?>
|
279 |
</div>
|
280 |
</div>
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
<?php }
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
7 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
8 |
+
if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
9 |
+
//do nothing
|
10 |
+
} else {
|
11 |
|
12 |
+
function seopress_google_analytics_dashboard_widget_option()
|
13 |
+
{
|
14 |
+
$seopress_google_analytics_dashboard_widget_option = get_option('seopress_google_analytics_option_name');
|
15 |
+
if (! empty($seopress_google_analytics_dashboard_widget_option)) {
|
16 |
+
foreach ($seopress_google_analytics_dashboard_widget_option as $key => $seopress_google_analytics_dashboard_widget_value) {
|
17 |
+
$options[$key] = $seopress_google_analytics_dashboard_widget_value;
|
18 |
+
}
|
19 |
+
if (isset($seopress_google_analytics_dashboard_widget_option['seopress_google_analytics_dashboard_widget'])) {
|
20 |
+
return $seopress_google_analytics_dashboard_widget_option['seopress_google_analytics_dashboard_widget'];
|
21 |
+
}
|
22 |
+
}
|
23 |
}
|
|
|
|
|
24 |
|
25 |
+
function seopress_get_hidden_notices_insights_option()
|
26 |
+
{
|
27 |
+
$seopress_get_hidden_notices_insights_option = get_option('seopress_notices');
|
28 |
+
if (! empty($seopress_get_hidden_notices_insights_option)) {
|
29 |
+
foreach ($seopress_get_hidden_notices_insights_option as $key => $seopress_get_hidden_notices_insights_value) {
|
30 |
+
$options[$key] = $seopress_get_hidden_notices_insights_value;
|
31 |
+
}
|
32 |
+
if (isset($seopress_get_hidden_notices_insights_option['notice-insights'])) {
|
33 |
+
return $seopress_get_hidden_notices_insights_option['notice-insights'];
|
34 |
+
}
|
35 |
+
}
|
36 |
}
|
|
|
|
|
37 |
|
38 |
+
function seopress_advanced_appearance_seo_tools_option()
|
39 |
+
{
|
40 |
+
$seopress_advanced_appearance_seo_tools_option = get_option('seopress_advanced_option_name');
|
41 |
+
if (! empty($seopress_advanced_appearance_seo_tools_option)) {
|
42 |
+
foreach ($seopress_advanced_appearance_seo_tools_option as $key => $seopress_advanced_appearance_seo_tools_value) {
|
43 |
+
$options[$key] = $seopress_advanced_appearance_seo_tools_value;
|
44 |
+
}
|
45 |
+
if (isset($seopress_advanced_appearance_seo_tools_option['seopress_advanced_appearance_seo_tools'])) {
|
46 |
+
return $seopress_advanced_appearance_seo_tools_option['seopress_advanced_appearance_seo_tools'];
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
|
51 |
+
$class = '1' != seopress_advanced_appearance_seo_tools_option() ? 'is-active' : '';
|
52 |
+
?>
|
|
|
|
|
53 |
|
54 |
+
<div id="notice-insights-alert" class="seopress-page-list seopress-card <?php echo $class; ?>" style="display: none">
|
55 |
+
<div class="seopress-card-title">
|
56 |
+
<h2><?php _e('Site overview', 'wp-seopress'); ?>
|
57 |
+
</h2>
|
|
|
|
|
58 |
|
59 |
+
<div>
|
60 |
+
<span class="dashicons dashicons-sort"></span>
|
61 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
</div>
|
63 |
+
<div class="seopress-card-content">
|
64 |
+
<div id="seopress-admin-tabs" class="wrap">
|
65 |
+
<?php
|
66 |
+
$dashboard_settings_tabs = [
|
67 |
+
'tab_seopress_analytics' => __('Google Analytics', 'wp-seopress'),
|
68 |
+
'tab_seopress_ps' => __('PageSpeed', 'wp-seopress'),
|
69 |
+
'tab_seopress_seo_tools' => __('SEO Tools', 'wp-seopress'),
|
70 |
+
];
|
71 |
+
?>
|
72 |
|
73 |
+
<div class="nav-tab-wrapper">
|
74 |
+
<?php foreach ($dashboard_settings_tabs as $tab_key => $tab_caption) { ?>
|
75 |
+
<a id="<?php echo $tab_key; ?>-tab" class="nav-tab"
|
76 |
+
href="?page=seopress-option#tab=<?php echo $tab_key; ?>"><?php echo $tab_caption; ?></a>
|
77 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
+
<?php
|
81 |
+
$seopress_page_speed_results = [];
|
82 |
+
$seopress_page_speed_results = json_decode(get_transient('seopress_results_page_speed'), true);
|
83 |
+
$cwv_svg = '<svg enable-background="new 0 0 24 24" focusable="false" height="15" viewBox="0 0 24 24" width="15" style="fill:#06f;vertical-align:middle"><g><g><path d="M0,0h24v24H0V0z" fill="none"></path></g></g><g><path d="M17,3H7C5.9,3,5,3.9,5,5v16l7-3l7,3V5C19,3.9,18.1,3,17,3z"></path></g></svg>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
|
85 |
+
$fetchTime = '';
|
86 |
|
87 |
+
$ps_score = '';
|
88 |
+
$core_web_vitals_score = '';
|
89 |
+
if (! empty($seopress_page_speed_results)) {
|
90 |
+
$ps_score = seopress_pro_get_ps_score($seopress_page_speed_results);
|
91 |
+
$ps_score_desktop = seopress_pro_get_ps_score($seopress_page_speed_results, false);
|
92 |
+
$core_web_vitals_score = seopress_pro_get_cwv_score($seopress_page_speed_results);
|
93 |
+
}
|
94 |
+
?>
|
95 |
+
|
96 |
+
<div class="wrap-seopress-tab-content">
|
97 |
+
<div id="tab_seopress_ps" class="seopress-tab seopress-page-speed inside<?php if ('tab_seopress_ps' == $current_tab) {
|
98 |
+
echo 'active';
|
99 |
+
}?>">
|
100 |
+
<h3><?php _e('Google Page Speed Score','wp-seopress'); ?></h3>
|
101 |
+
<p><?php _e('Learn how your site has performed, based on data from your actual users around the world.','wp-seopress-pro'); ?>
|
102 |
+
</p>
|
103 |
+
<?php if ($ps_score && $ps_score_desktop) { ?>
|
104 |
+
<div class="seopress-cwv seopress-summary-item-data">
|
105 |
+
<?php echo $ps_score; ?>
|
106 |
+
<?php echo $ps_score_desktop; ?>
|
107 |
+
<p class="wrap-scale">
|
108 |
+
<?php _e('<span><span class="score red"></span>0-49</span><span><span class="score yellow"></span>50-89</span><span><span class="score green"></span>90-100</span>','wp-seopress-pro') ?>
|
109 |
+
</p>
|
110 |
</div>
|
111 |
+
<div class="seopress-cwv">
|
112 |
+
<?php if ($core_web_vitals_score === true) { ?>
|
113 |
+
<img src="<?php echo SEOPRESS_PRO_ASSETS_DIR; ?>/img/cwv-pass.svg"
|
114 |
+
alt='' width='96' height='96' />
|
115 |
+
<?php } else { ?>
|
116 |
+
<img src="<?php echo SEOPRESS_PRO_ASSETS_DIR; ?>/img/cwv-fail.svg"
|
117 |
+
alt='' width='96' height='96' />
|
118 |
+
<?php } ?>
|
119 |
+
<div>
|
120 |
+
<h3>
|
121 |
+
<?php _e('Core Web Vitals Assessment: ', 'wp-seopress-pro'); ?>
|
122 |
+
|
123 |
+
<?php if ($core_web_vitals_score === true) { ?>
|
124 |
+
<span class="green"><?php _e('Passed', 'wp-seopress-pro'); ?></span>
|
125 |
+
<?php } else { ?>
|
126 |
+
<span class="red"><?php _e('Failed', 'wp-seopress-pro'); ?></span>
|
127 |
+
<?php }
|
128 |
+
echo $core_web_vitals_score; ?>
|
129 |
+
</h3>
|
130 |
+
<p><?php printf(__('Computed from the %s Core Web Vitals metrics over the latest 28-day collection period.', 'wp-seopress-pro'), $cwv_svg); ?></p>
|
131 |
+
</div>
|
132 |
</div>
|
133 |
+
<?php } else { ?>
|
134 |
+
<p><?php _e('No data available.','wp-seopress'); ?></p>
|
|
|
135 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
<p>
|
137 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed'); ?>"
|
138 |
+
class="btn btnSecondary">
|
139 |
+
<?php _e('See full report', 'wp-seopress'); ?>
|
140 |
</a>
|
141 |
</p>
|
142 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
+
<?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
|
145 |
+
<div id="tab_seopress_analytics" class="seopress-tab seopress-analytics <?php if ('tab_seopress_analytics' == $current_tab) {
|
146 |
+
echo 'active';
|
147 |
+
} ?>">
|
148 |
+
<?php if ('1' == seopress_get_toggle_option('google-analytics') && '1' !== seopress_google_analytics_dashboard_widget_option()) {
|
149 |
+
$stats = get_transient('seopress_results_google_analytics');
|
150 |
+
$html = [];
|
151 |
+
if (! empty($stats['sessions'])) {
|
152 |
+
$html[__('Sessions', 'wp-seopress')] = $stats['sessions'];
|
153 |
+
}
|
154 |
+
if (! empty($stats['users'])) {
|
155 |
+
$html[__('Users', 'wp-seopress')] = $stats['users'];
|
156 |
+
}
|
157 |
+
if (! empty($stats['pageviews'])) {
|
158 |
+
$html[__('Page Views', 'wp-seopress')] = $stats['pageviews'];
|
159 |
+
}
|
160 |
+
if (! empty($stats['pageviewsPerSession'])) {
|
161 |
+
$html[__('Page view / session', 'wp-seopress')] = $stats['pageviewsPerSession'];
|
162 |
+
}
|
163 |
+
if (! empty($stats['avgSessionDuration'])) {
|
164 |
+
$html[__('Average session duration', 'wp-seopress')] = $stats['avgSessionDuration'];
|
165 |
+
}
|
166 |
+
if (! empty($stats['bounceRate'])) {
|
167 |
+
$html[__('Bounce rate', 'wp-seopress')] = $stats['bounceRate'];
|
168 |
+
}
|
169 |
+
if (! empty($stats['percentNewSessions'])) {
|
170 |
+
$html[__('New sessions', 'wp-seopress')] = $stats['percentNewSessions'];
|
171 |
+
} ?>
|
172 |
|
173 |
+
<div class="seopress-summary-items">
|
174 |
+
<?php if (! empty($html)) { ?>
|
175 |
+
<?php foreach ($html as $key => $value) { ?>
|
176 |
+
<div class="seopress-summary-item">
|
177 |
+
<div class="seopress-summary-item-label">
|
178 |
+
<?php echo $key; ?>
|
179 |
+
</div>
|
180 |
+
<div class="seopress-summary-item-data">
|
181 |
+
<?php echo $value; ?>
|
182 |
+
</div>
|
183 |
+
</div>
|
184 |
+
<?php } ?>
|
185 |
+
<?php } else { ?>
|
186 |
+
<p class="inside"><?php _e('No stats found', 'wp-seopress'); ?></p>
|
187 |
+
<?php } ?>
|
188 |
+
</div>
|
189 |
<?php
|
190 |
+
} else { ?>
|
191 |
+
<div class="seopress-summary-items">
|
192 |
+
<div class="seopress-summary-item">
|
193 |
+
<p>
|
194 |
+
<a class="btn btnSecondary" href="<?php echo admin_url( 'admin.php?page=seopress-google-analytics#tab=tab_seopress_google_analytics_dashboard' ); ?>">
|
195 |
+
<?php _e('Connect Google Analytics','wp-seopress'); ?>
|
196 |
+
</a>
|
197 |
+
</p>
|
198 |
+
</div>
|
199 |
+
</div>
|
200 |
+
<?php } ?>
|
201 |
+
</div>
|
202 |
+
<?php } ?>
|
203 |
|
204 |
+
<?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php') ) { ?>
|
205 |
+
<div id="tab_seopress_seo_tools" class="seopress-tab seopress-useful-tools inside <?php if ('tab_seopress_seo_tools' == $current_tab) {
|
206 |
+
echo 'active';
|
207 |
+
} ?>">
|
|
|
208 |
|
209 |
+
<!-- Reverse -->
|
210 |
+
<div class="widget widget-reverse">
|
211 |
+
<h3 class="widget-title"><?php _e('Check websites setup on your server', 'wp-seopress'); ?>
|
212 |
+
</h3>
|
213 |
|
214 |
+
<p>
|
215 |
+
<?php
|
216 |
+
if ('' != get_transient('seopress_results_reverse')) {
|
217 |
+
$seopress_results_reverse = (array) json_decode(get_transient('seopress_results_reverse'));
|
218 |
|
219 |
+
//Init
|
220 |
+
$seopress_results_reverse_remote_ip_address = __('Not found', 'wp-seopress');
|
221 |
+
if (isset($seopress_results_reverse['remoteIpAddress'])) {
|
222 |
+
$seopress_results_reverse_remote_ip_address = $seopress_results_reverse['remoteIpAddress'];
|
223 |
+
}
|
|
|
|
|
|
|
|
|
|
|
224 |
|
225 |
+
$seopress_results_reverse_last_scrape = __('No scrape.', 'wp-seopress');
|
226 |
+
if (isset($seopress_results_reverse['lastScrape'])) {
|
227 |
+
$seopress_results_reverse_last_scrape = $seopress_results_reverse['lastScrape'];
|
228 |
+
}
|
|
|
|
|
229 |
|
230 |
+
$seopress_results_reverse_domain_count = __('No domain found.', 'wp-seopress');
|
231 |
+
if (isset($seopress_results_reverse['domainCount'])) {
|
232 |
+
$seopress_results_reverse_domain_count = $seopress_results_reverse['domainCount'];
|
233 |
+
}
|
234 |
+
|
235 |
+
$seopress_results_reverse_domain_array = '';
|
236 |
+
if (isset($seopress_results_reverse['domainArray'])) {
|
237 |
+
$seopress_results_reverse_domain_array = $seopress_results_reverse['domainArray'];
|
238 |
+
} ?>
|
239 |
+
<p class="remote-ip">
|
240 |
+
<strong>
|
241 |
+
<?php _e('Server IP Address: ', 'wp-seopress'); ?>
|
242 |
+
</strong>
|
243 |
+
<?php echo $seopress_results_reverse_remote_ip_address; ?>
|
244 |
+
</p>
|
245 |
+
|
246 |
+
<p class="last-scrape">
|
247 |
+
<strong>
|
248 |
+
<?php _e('Last scrape: ', 'wp-seopress'); ?>
|
249 |
+
</strong>
|
250 |
+
<?php echo $seopress_results_reverse_last_scrape; ?>
|
251 |
+
</p>
|
252 |
+
|
253 |
+
<p class="domain-count">
|
254 |
+
<strong>
|
255 |
+
<?php _e('Number of websites on your server: ', 'wp-seopress'); ?>
|
256 |
+
</strong>
|
257 |
+
<?php echo $seopress_results_reverse_domain_count; ?>
|
258 |
+
</p>
|
259 |
+
<?php if ('' != $seopress_results_reverse_domain_array) { ?>
|
260 |
+
<ul>
|
261 |
+
<?php foreach ($seopress_results_reverse_domain_array as $key => $value) { ?>
|
262 |
+
<li>
|
263 |
+
<span class="dashicons dashicons-minus"></span>
|
264 |
+
<a href="//' . preg_replace('#^https?://#', '', $value[0]) . '" target="_blank">
|
265 |
+
<?php echo $value[0]; ?>
|
266 |
+
</a>
|
267 |
+
<span class="dashicons dashicons-external"></span>
|
268 |
+
</li>
|
269 |
+
<?php } ?>
|
270 |
+
</ul>
|
271 |
+
<?php }
|
272 |
+
}
|
273 |
+
?>
|
274 |
|
275 |
+
<button id="seopress-reverse-submit" type="button" class="btn btnSecondary" name="submit">
|
276 |
+
<?php _e('Get list', 'wp-seopress'); ?>
|
277 |
+
</button>
|
278 |
|
279 |
+
<span id="spinner-reverse" class="spinner"></span>
|
280 |
+
</div>
|
281 |
+
</div>
|
282 |
+
<?php } ?>
|
283 |
</div>
|
284 |
</div>
|
|
|
285 |
</div>
|
286 |
</div>
|
287 |
+
<?php
|
288 |
+
}
|
289 |
+
}
|
|
@@ -7,7 +7,7 @@
|
|
7 |
?>
|
8 |
|
9 |
|
10 |
-
<div class="seopress-intro">
|
11 |
<h2><?php _e('Your SEO today', 'wp-seopress'); ?></h2>
|
12 |
<p><?php _e('To do\'s, tips, and insights for your business', ''); ?></p>
|
13 |
</div>
|
7 |
?>
|
8 |
|
9 |
|
10 |
+
<div id="seopress-intro" class="seopress-intro">
|
11 |
<h2><?php _e('Your SEO today', 'wp-seopress'); ?></h2>
|
12 |
<p><?php _e('To do\'s, tips, and insights for your business', ''); ?></p>
|
13 |
</div>
|
@@ -5,97 +5,107 @@
|
|
5 |
exit;
|
6 |
}
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
-
}
|
19 |
-
}
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
$class = '1' != seopress_advanced_appearance_news_option() ? 'is-active' : '';
|
24 |
-
?>
|
25 |
-
|
26 |
-
<div id="seopress-news-panel"
|
27 |
-
class="seopress-card <?php echo $class; ?>"
|
28 |
-
style="display: none">
|
29 |
-
<div class="seopress-card-title">
|
30 |
-
<h2><?php _e('Latest News from SEOPress Blog', 'wp-seopress'); ?>
|
31 |
-
</h2>
|
32 |
-
|
33 |
-
<span class="seopress-item-toggle-options"></span>
|
34 |
-
<div class="seopress-card-popover">
|
35 |
-
<?php
|
36 |
-
$options = get_option('seopress_dashboard_option_name');
|
37 |
-
$value = isset($options['news_max_items']) ? esc_attr($options['news_max_items']) : 5;
|
38 |
-
?>
|
39 |
-
|
40 |
-
<p>
|
41 |
-
<label for="seopress_dashboard_option_name[news_max_items]">
|
42 |
-
<?php _e('How many items would you like to display?', 'wp-seopress'); ?>
|
43 |
-
</label>
|
44 |
-
<input id="news_max_items" name="seopress_dashboard_option_name[news_max_items]" type="number" step="1"
|
45 |
-
min="1" max="5" value="<?php echo $value; ?>">
|
46 |
-
</p>
|
47 |
-
|
48 |
-
<button id="seopress-news-items" type="submit" class="btn btnSecondary">
|
49 |
-
<?php _e('Save', 'wp-seopress'); ?>
|
50 |
-
</button>
|
51 |
-
</div>
|
52 |
-
</div>
|
53 |
-
<div class="seopress-card-content">
|
54 |
-
<?php
|
55 |
-
include_once ABSPATH . WPINC . '/feed.php';
|
56 |
|
57 |
-
|
58 |
-
|
59 |
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
$maxitems = $rss->get_item_quantity($value);
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
exit;
|
6 |
}
|
7 |
|
8 |
+
if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
9 |
+
//do nothing
|
10 |
+
} else {
|
11 |
+
|
12 |
+
//News Center
|
13 |
+
function seopress_advanced_appearance_news_option() {
|
14 |
+
$seopress_advanced_appearance_news_option = get_option('seopress_advanced_option_name');
|
15 |
+
if ( ! empty($seopress_advanced_appearance_news_option)) {
|
16 |
+
foreach ($seopress_advanced_appearance_news_option as $key => $seopress_advanced_appearance_news_value) {
|
17 |
+
$options[$key] = $seopress_advanced_appearance_news_value;
|
18 |
+
}
|
19 |
+
if (isset($seopress_advanced_appearance_news_option['seopress_advanced_appearance_news'])) {
|
20 |
+
return $seopress_advanced_appearance_news_option['seopress_advanced_appearance_news'];
|
21 |
+
}
|
22 |
+
}
|
23 |
}
|
|
|
|
|
24 |
|
25 |
+
$docs = seopress_get_docs_links();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
+
$class = '1' != seopress_advanced_appearance_news_option() ? 'is-active' : '';
|
28 |
+
?>
|
29 |
|
30 |
+
<div id="seopress-news-panel"
|
31 |
+
class="seopress-card <?php echo $class; ?>"
|
32 |
+
style="display: none">
|
33 |
+
<div class="seopress-card-title">
|
34 |
+
<h2><?php _e('Latest News from SEOPress Blog', 'wp-seopress'); ?>
|
35 |
+
</h2>
|
36 |
|
37 |
+
<div>
|
38 |
+
<span class="dashicons dashicons-sort"></span>
|
|
|
39 |
|
40 |
+
<span class="seopress-item-toggle-options"></span>
|
41 |
+
|
42 |
+
<div class="seopress-card-popover">
|
43 |
+
<?php
|
44 |
+
$options = get_option('seopress_dashboard_option_name');
|
45 |
+
$value = isset($options['news_max_items']) ? esc_attr($options['news_max_items']) : 5;
|
46 |
+
?>
|
47 |
+
|
48 |
+
<p>
|
49 |
+
<label for="seopress_dashboard_option_name[news_max_items]">
|
50 |
+
<?php _e('How many items would you like to display?', 'wp-seopress'); ?>
|
51 |
+
</label>
|
52 |
+
<input id="news_max_items" name="seopress_dashboard_option_name[news_max_items]" type="number" step="1"
|
53 |
+
min="1" max="5" value="<?php echo $value; ?>">
|
54 |
+
</p>
|
55 |
|
56 |
+
<button id="seopress-news-items" type="submit" class="btn btnSecondary">
|
57 |
+
<?php _e('Save', 'wp-seopress'); ?>
|
58 |
+
</button>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
+
</div>
|
62 |
+
<div class="seopress-card-content">
|
63 |
+
<?php
|
64 |
+
include_once ABSPATH . WPINC . '/feed.php';
|
65 |
+
|
66 |
+
// Get a SimplePie feed object from the specified feed source.
|
67 |
+
$rss = fetch_feed('https://www.seopress.org/feed');
|
68 |
+
|
69 |
+
$maxitems = 0;
|
70 |
+
|
71 |
+
if ( ! is_wp_error($rss)) { // Checks that the object is created correctly
|
72 |
+
// Figure out how many total items there are, but limit it to 5.
|
73 |
+
$maxitems = $rss->get_item_quantity($value);
|
74 |
+
|
75 |
+
// Build an array of all the items, starting with element 0 (first element).
|
76 |
+
$rss_items = $rss->get_items(0, $maxitems);
|
77 |
+
}
|
78 |
+
?>
|
79 |
+
|
80 |
+
<ul class="seopress-list-items" role="menu">
|
81 |
+
<?php if (0 == $maxitems) { ?>
|
82 |
+
<li class="seopress-item has-action">
|
83 |
+
<?php _e('No items', 'wp-seopress'); ?>
|
84 |
+
</li>
|
85 |
+
<?php } else { ?>
|
86 |
+
<?php // Loop through each feed item and display each item as a hyperlink.?>
|
87 |
+
<?php foreach ($rss_items as $item) { ?>
|
88 |
+
<li class="seopress-item has-action seopress-item-inner">
|
89 |
+
<a href="<?php echo esc_url($item->get_permalink()); ?>"
|
90 |
+
target="_blank" class="seopress-item-inner"
|
91 |
+
title="<?php printf(__('Learn more about %s in a new tab', 'wp-seopress'), esc_html($item->get_title())); ?>">
|
92 |
+
<p class="seopress-item-date"><?php echo $item->get_date('M Y'); ?>
|
93 |
+
</p>
|
94 |
+
|
95 |
+
<h3 class="seopress-item-title">
|
96 |
+
<?php echo esc_html($item->get_title()); ?><span class="dashicons dashicons-external"></span>
|
97 |
+
</h3>
|
98 |
+
<p class="seopress-item-content"><?php echo $item->get_description(); ?>
|
99 |
+
</p>
|
100 |
+
</a>
|
101 |
+
</li>
|
102 |
+
<?php } ?>
|
103 |
+
<?php } ?>
|
104 |
+
</ul>
|
105 |
+
</div>
|
106 |
+
<div class="seopress-card-footer">
|
107 |
+
<a href="<?php echo $docs['blog']; ?>"><?php _e('All news', 'wp-seopress'); ?></a>
|
108 |
+
<span class="dashicons dashicons-external"></span>
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
<?php }
|
@@ -4,138 +4,98 @@
|
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
7 |
-
//Notifications Center
|
8 |
-
function seopress_advanced_appearance_notifications_option()
|
9 |
-
{
|
10 |
-
$seopress_advanced_appearance_notifications_option = get_option('seopress_advanced_option_name');
|
11 |
-
if (! empty($seopress_advanced_appearance_notifications_option)) {
|
12 |
-
foreach ($seopress_advanced_appearance_notifications_option as $key => $seopress_advanced_appearance_notifications_value) {
|
13 |
-
$options[$key] = $seopress_advanced_appearance_notifications_value;
|
14 |
-
}
|
15 |
-
if (isset($seopress_advanced_appearance_notifications_option['seopress_advanced_appearance_notifications'])) {
|
16 |
-
return $seopress_advanced_appearance_notifications_option['seopress_advanced_appearance_notifications'];
|
17 |
-
}
|
18 |
-
}
|
19 |
-
}
|
20 |
-
//SEO Tools
|
21 |
-
function seopress_advanced_appearance_seo_tools_option()
|
22 |
-
{
|
23 |
-
$seopress_advanced_appearance_seo_tools_option = get_option('seopress_advanced_option_name');
|
24 |
-
if (! empty($seopress_advanced_appearance_seo_tools_option)) {
|
25 |
-
foreach ($seopress_advanced_appearance_seo_tools_option as $key => $seopress_advanced_appearance_seo_tools_value) {
|
26 |
-
$options[$key] = $seopress_advanced_appearance_seo_tools_value;
|
27 |
-
}
|
28 |
-
if (isset($seopress_advanced_appearance_seo_tools_option['seopress_advanced_appearance_seo_tools'])) {
|
29 |
-
return $seopress_advanced_appearance_seo_tools_option['seopress_advanced_appearance_seo_tools'];
|
30 |
-
}
|
31 |
-
}
|
32 |
-
}
|
33 |
-
?>
|
34 |
-
|
35 |
-
<?php if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
36 |
-
//do nothing
|
37 |
-
} else { ?>
|
38 |
-
<?php $class = '1' != seopress_advanced_appearance_notifications_option() ? 'is-active' : ''; ?>
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
function
|
45 |
{
|
46 |
-
$
|
47 |
-
if (! empty($
|
48 |
-
foreach ($
|
49 |
-
$options[$key] = $
|
50 |
}
|
51 |
-
if (isset($
|
52 |
-
return $
|
53 |
}
|
54 |
}
|
55 |
}
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
}
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
'en' => admin_url('admin.php?page=seopress-advanced#tab=tab_seopress_advanced_appearance'),
|
78 |
-
'title' => __('Activate it', 'wp-seopress'),
|
79 |
-
'external' => false,
|
80 |
-
],
|
81 |
-
'icon' => 'dashicons-admin-tools',
|
82 |
-
'deleteable' => true,
|
83 |
-
];
|
84 |
-
seopress_notification($args);
|
85 |
-
}
|
86 |
-
function seopress_get_hidden_notices_wizard_option()
|
87 |
-
{
|
88 |
-
$seopress_get_hidden_notices_wizard_option = get_option('seopress_notices');
|
89 |
-
if (! empty($seopress_get_hidden_notices_wizard_option)) {
|
90 |
-
foreach ($seopress_get_hidden_notices_wizard_option as $key => $seopress_get_hidden_notices_wizard_value) {
|
91 |
-
$options[$key] = $seopress_get_hidden_notices_wizard_value;
|
92 |
-
}
|
93 |
-
if (isset($seopress_get_hidden_notices_wizard_option['notice-wizard'])) {
|
94 |
-
return $seopress_get_hidden_notices_wizard_option['notice-wizard'];
|
95 |
}
|
96 |
}
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
|
117 |
-
function seopress_get_hidden_notices_insights_wizard_option()
|
118 |
{
|
119 |
-
$
|
120 |
-
if (! empty($
|
121 |
-
foreach ($
|
122 |
-
$options[$key] = $
|
123 |
}
|
124 |
-
if (isset($
|
125 |
-
return $
|
126 |
}
|
127 |
}
|
128 |
}
|
129 |
-
if ('1' !=
|
130 |
$args = [
|
131 |
-
'id' => 'notice-
|
132 |
-
'title' => __('Configure SEOPress
|
133 |
-
'desc' => __('
|
134 |
'impact' => [
|
135 |
'info' => __('Wizard', 'wp-seopress'),
|
136 |
],
|
137 |
'link' => [
|
138 |
-
'en' => admin_url('admin.php?page=seopress-
|
139 |
'title' => __('Start the wizard', 'wp-seopress'),
|
140 |
'external' => true,
|
141 |
],
|
@@ -144,837 +104,952 @@
|
|
144 |
];
|
145 |
seopress_notification($args);
|
146 |
}
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
(array_key_exists('divi_seo_single_canonical', $divi_options) && 'on' == $divi_options['divi_seo_single_canonical']) ||
|
162 |
-
(array_key_exists('divi_seo_index_canonical', $divi_options) && 'on' == $divi_options['divi_seo_index_canonical']) ||
|
163 |
-
(array_key_exists('divi_seo_index_description', $divi_options) && 'on' == $divi_options['divi_seo_index_description'])
|
164 |
-
) {
|
165 |
$args = [
|
166 |
-
'id' => 'notice-
|
167 |
-
'title' => __('
|
168 |
-
'desc' => __('
|
169 |
'impact' => [
|
170 |
-
'
|
171 |
],
|
172 |
'link' => [
|
173 |
-
'en' => admin_url('admin.php?page=
|
174 |
-
'title' => __('
|
175 |
-
'external' =>
|
176 |
],
|
177 |
-
'icon' => 'dashicons-admin-
|
178 |
-
'deleteable' =>
|
179 |
];
|
180 |
seopress_notification($args);
|
181 |
}
|
182 |
}
|
183 |
-
|
184 |
-
|
185 |
-
$
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
'deleteable' => false,
|
217 |
-
];
|
218 |
-
seopress_notification($args);
|
219 |
-
}
|
220 |
-
if (is_plugin_active('td-composer/td-composer.php')) {
|
221 |
-
function seopress_get_hidden_notices_tagdiv_option()
|
222 |
-
{
|
223 |
-
$seopress_get_hidden_notices_tagdiv_option = get_option('seopress_notices');
|
224 |
-
if (! empty($seopress_get_hidden_notices_tagdiv_option)) {
|
225 |
-
foreach ($seopress_get_hidden_notices_tagdiv_option as $key => $seopress_get_hidden_notices_tagdiv_value) {
|
226 |
-
$options[$key] = $seopress_get_hidden_notices_tagdiv_value;
|
227 |
-
}
|
228 |
-
if (isset($seopress_get_hidden_notices_tagdiv_option['notice-tagdiv'])) {
|
229 |
-
return $seopress_get_hidden_notices_tagdiv_option['notice-tagdiv'];
|
230 |
}
|
231 |
}
|
232 |
}
|
233 |
-
if ('
|
234 |
$args = [
|
235 |
-
'id' => 'notice-
|
236 |
-
'title' => __('
|
237 |
-
'desc' => __('
|
238 |
'impact' => [
|
239 |
'high' => __('High impact', 'wp-seopress'),
|
240 |
],
|
241 |
'link' => [
|
242 |
-
'
|
243 |
-
'en' => 'https://www.seopress.org/support/guides/fix-compatibility-issue-tagdiv-composer-plugin-newspaper-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
|
244 |
'title' => __('Fix this!', 'wp-seopress'),
|
245 |
-
'external' =>
|
246 |
],
|
247 |
-
'icon' => 'dashicons-admin-
|
248 |
-
'deleteable' =>
|
249 |
];
|
250 |
seopress_notification($args);
|
251 |
}
|
252 |
-
|
253 |
-
if ('1' != get_theme_support('title-tag')) {
|
254 |
-
function seopress_get_hidden_notices_title_tag_option()
|
255 |
-
{
|
256 |
-
$seopress_get_hidden_notices_title_tag_option = get_option('seopress_notices');
|
257 |
-
if (! empty($seopress_get_hidden_notices_title_tag_option)) {
|
258 |
-
foreach ($seopress_get_hidden_notices_title_tag_option as $key => $seopress_get_hidden_notices_title_tag_value) {
|
259 |
-
$options[$key] = $seopress_get_hidden_notices_title_tag_value;
|
260 |
-
}
|
261 |
-
if (isset($seopress_get_hidden_notices_title_tag_option['notice-title-tag'])) {
|
262 |
-
return $seopress_get_hidden_notices_title_tag_option['notice-title-tag'];
|
263 |
-
}
|
264 |
-
}
|
265 |
-
}
|
266 |
-
if ('1' != seopress_get_hidden_notices_title_tag_option()) {
|
267 |
$args = [
|
268 |
-
'id' => 'notice-
|
269 |
-
'title' => __('Your
|
270 |
-
'desc' => __('
|
271 |
'impact' => [
|
272 |
'high' => __('High impact', 'wp-seopress'),
|
273 |
],
|
274 |
'link' => [
|
275 |
-
'
|
276 |
-
'
|
277 |
-
'
|
278 |
-
'external' => true,
|
279 |
],
|
280 |
-
'icon' => 'dashicons-admin-
|
281 |
'deleteable' => false,
|
282 |
];
|
283 |
seopress_notification($args);
|
284 |
}
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
|
|
293 |
}
|
294 |
-
|
295 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
296 |
}
|
297 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
}
|
299 |
-
if (
|
300 |
-
function
|
301 |
{
|
302 |
-
$
|
303 |
-
if (! empty($
|
304 |
-
foreach ($
|
305 |
-
$options[$key] = $
|
306 |
}
|
307 |
-
if (isset($
|
308 |
-
return $
|
309 |
}
|
310 |
}
|
311 |
}
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
'impact' => [
|
317 |
'high' => __('High impact', 'wp-seopress'),
|
318 |
],
|
319 |
'link' => [
|
320 |
-
'en' => admin_url('
|
321 |
-
'title' => __('
|
322 |
'external' => false,
|
323 |
],
|
324 |
-
'icon' => 'dashicons-
|
325 |
'deleteable' => false,
|
326 |
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
seopress_notification($args);
|
328 |
}
|
329 |
-
|
330 |
-
$seo_plugins = [
|
331 |
-
'wordpress-seo/wp-seo.php' => 'Yoast SEO',
|
332 |
-
'wordpress-seo-premium/wp-seo-premium.php' => 'Yoast SEO Premium',
|
333 |
-
'all-in-one-seo-pack/all_in_one_seo_pack.php' => 'All In One SEO',
|
334 |
-
'autodescription/autodescription.php' => 'The SEO Framework',
|
335 |
-
'squirrly-seo/squirrly.php' => 'Squirrly SEO',
|
336 |
-
'seo-by-rank-math/rank-math.php' => 'Rank Math',
|
337 |
-
'seo-ultimate/seo-ultimate.php' => 'SEO Ultimate',
|
338 |
-
'wp-meta-seo/wp-meta-seo.php' => 'WP Meta SEO',
|
339 |
-
'premium-seo-pack/plugin.php' => 'Premium SEO Pack',
|
340 |
-
'wpseo/wpseo.php' => 'wpSEO',
|
341 |
-
'platinum-seo-pack/platinum-seo-pack.php' => 'Platinum SEO Pack',
|
342 |
-
'smartcrawl-seo/wpmu-dev-seo.php' => 'SmartCrawl',
|
343 |
-
'seo-pressor/seo-pressor.php' => 'SEOPressor',
|
344 |
-
];
|
345 |
-
|
346 |
-
foreach ($seo_plugins as $key => $value) {
|
347 |
-
if (is_plugin_active($key)) {
|
348 |
$args = [
|
349 |
-
'id'
|
350 |
-
|
351 |
-
'
|
352 |
-
'desc' => __('Do you want to migrate all your metadata to SEOPress? Do not use multiple SEO plugins at once to avoid conflicts!', 'wp-seopress'),
|
353 |
'impact' => [
|
354 |
'high' => __('High impact', 'wp-seopress'),
|
355 |
],
|
356 |
'link' => [
|
357 |
-
'en' => admin_url('admin.php?page=seopress-
|
358 |
-
'title' => __('
|
359 |
'external' => false,
|
360 |
],
|
361 |
-
'icon' => 'dashicons-
|
362 |
'deleteable' => false,
|
|
|
363 |
];
|
364 |
seopress_notification($args);
|
365 |
}
|
366 |
-
|
367 |
-
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
368 |
-
if (1 == seopress_404_cleaning_option() && ! wp_next_scheduled('seopress_404_cron_cleaning')) {
|
369 |
$args = [
|
370 |
-
'id'
|
371 |
-
'title'
|
372 |
-
'desc'
|
373 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
'deleteable' => false,
|
|
|
375 |
];
|
376 |
seopress_notification($args);
|
377 |
}
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
{
|
387 |
-
$
|
388 |
-
if (! empty($
|
389 |
-
foreach ($
|
390 |
-
$options[$key] = $
|
391 |
}
|
392 |
-
if (isset($
|
393 |
-
return $
|
394 |
}
|
395 |
}
|
396 |
}
|
397 |
-
if ('1' !=
|
398 |
$args = [
|
399 |
-
'id' => 'notice-
|
400 |
-
'title' => __('
|
401 |
-
'desc' => __('
|
402 |
'impact' => [
|
403 |
-
'low' => __('
|
404 |
],
|
405 |
'link' => [
|
406 |
-
'en' =>
|
407 |
-
'title' => __('
|
408 |
'external' => true,
|
409 |
],
|
410 |
-
'icon' => 'dashicons-
|
411 |
'deleteable' => true,
|
412 |
];
|
413 |
seopress_notification($args);
|
414 |
}
|
415 |
}
|
416 |
-
|
417 |
-
if (seopress_get_empty_templates('cpt', 'title')) {
|
418 |
-
$args = [
|
419 |
-
'id' => 'notice-cpt-empty-title',
|
420 |
-
'title' => __('Global meta title missing for several custom post types!', 'wp-seopress'),
|
421 |
-
'desc' => seopress_get_empty_templates('cpt', 'title', false),
|
422 |
-
'impact' => [
|
423 |
-
'high' => __('High impact', 'wp-seopress'),
|
424 |
-
],
|
425 |
-
'link' => [
|
426 |
-
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_single'),
|
427 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
428 |
-
'external' => false,
|
429 |
-
],
|
430 |
-
'icon' => 'dashicons-editor-table',
|
431 |
-
'deleteable' => false,
|
432 |
-
'wrap' => false,
|
433 |
-
];
|
434 |
-
seopress_notification($args);
|
435 |
-
}
|
436 |
-
if (seopress_get_empty_templates('cpt', 'description')) {
|
437 |
-
$args = [
|
438 |
-
'id' => 'notice-cpt-empty-desc',
|
439 |
-
'title' => __('Global meta description missing for several custom post types!', 'wp-seopress'),
|
440 |
-
'desc' => seopress_get_empty_templates('cpt', 'description', false),
|
441 |
-
'impact' => [
|
442 |
-
'high' => __('High impact', 'wp-seopress'),
|
443 |
-
],
|
444 |
-
'link' => [
|
445 |
-
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_single'),
|
446 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
447 |
-
'external' => false,
|
448 |
-
],
|
449 |
-
'icon' => 'dashicons-editor-table',
|
450 |
-
'deleteable' => false,
|
451 |
-
'wrap' => false,
|
452 |
-
];
|
453 |
-
seopress_notification($args);
|
454 |
-
}
|
455 |
-
if (seopress_get_empty_templates('tax', 'title')) {
|
456 |
-
$args = [
|
457 |
-
'id' => 'notice-tax-empty-title',
|
458 |
-
'title' => __('Global meta title missing for several taxonomies!', 'wp-seopress'),
|
459 |
-
'desc' => seopress_get_empty_templates('tax', 'title', false),
|
460 |
-
'impact' => [
|
461 |
-
'high' => __('High impact', 'wp-seopress'),
|
462 |
-
],
|
463 |
-
'link' => [
|
464 |
-
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_tax'),
|
465 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
466 |
-
'external' => false,
|
467 |
-
],
|
468 |
-
'icon' => 'dashicons-editor-table',
|
469 |
-
'deleteable' => false,
|
470 |
-
'wrap' => false,
|
471 |
-
];
|
472 |
-
seopress_notification($args);
|
473 |
-
}
|
474 |
-
if (seopress_get_empty_templates('tax', 'description')) {
|
475 |
-
$args = [
|
476 |
-
'id' => 'notice-tax-empty-templates',
|
477 |
-
'title' => __('Global meta description missing for several taxonomies!', 'wp-seopress'),
|
478 |
-
'desc' => seopress_get_empty_templates('tax', 'description', false),
|
479 |
-
'impact' => [
|
480 |
-
'high' => __('High impact', 'wp-seopress'),
|
481 |
-
],
|
482 |
-
'link' => [
|
483 |
-
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_tax'),
|
484 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
485 |
-
'external' => false,
|
486 |
-
],
|
487 |
-
'icon' => 'dashicons-editor-table',
|
488 |
-
'deleteable' => false,
|
489 |
-
'wrap' => false,
|
490 |
-
];
|
491 |
-
seopress_notification($args);
|
492 |
-
}
|
493 |
-
|
494 |
-
if (! is_ssl()) {
|
495 |
-
function seopress_get_hidden_notices_ssl_option()
|
496 |
-
{
|
497 |
-
$seopress_get_hidden_notices_ssl_option = get_option('seopress_notices');
|
498 |
-
if (! empty($seopress_get_hidden_notices_ssl_option)) {
|
499 |
-
foreach ($seopress_get_hidden_notices_ssl_option as $key => $seopress_get_hidden_notices_ssl_value) {
|
500 |
-
$options[$key] = $seopress_get_hidden_notices_ssl_value;
|
501 |
-
}
|
502 |
-
if (isset($seopress_get_hidden_notices_ssl_option['notice-ssl'])) {
|
503 |
-
return $seopress_get_hidden_notices_ssl_option['notice-ssl'];
|
504 |
-
}
|
505 |
-
}
|
506 |
-
}
|
507 |
-
if ('1' != seopress_get_hidden_notices_ssl_option()) {
|
508 |
$args = [
|
509 |
-
'id' => 'notice-ssl',
|
510 |
-
'title' => __('
|
511 |
-
'desc' => __('
|
512 |
'impact' => [
|
513 |
-
'
|
514 |
],
|
515 |
'link' => [
|
516 |
-
'
|
517 |
-
'
|
|
|
518 |
'external' => true,
|
519 |
],
|
520 |
-
'icon' => 'dashicons-unlock',
|
521 |
'deleteable' => true,
|
522 |
];
|
523 |
seopress_notification($args);
|
524 |
}
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
'deleteable' => true,
|
541 |
-
];
|
542 |
-
seopress_notification($args);
|
543 |
-
}
|
544 |
-
if (! function_exists('seopress_titles_noindex_option')) {
|
545 |
-
function seopress_titles_noindex_option()
|
546 |
{
|
547 |
-
$
|
548 |
-
if (! empty($
|
549 |
-
foreach ($
|
550 |
-
$options[$key] = $
|
551 |
}
|
552 |
-
if (isset($
|
553 |
-
return $
|
554 |
}
|
555 |
}
|
556 |
}
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
}
|
568 |
}
|
569 |
-
|
570 |
-
if ('1' != seopress_get_hidden_notices_noindex_option()) {
|
571 |
-
if ('1' == seopress_titles_noindex_option() || '1' != get_option('blog_public')) {
|
572 |
$args = [
|
573 |
-
'id' => 'notice-
|
574 |
-
'title' => __('Your site is
|
575 |
-
'desc' => __('
|
576 |
'impact' => [
|
577 |
'high' => __('High impact', 'wp-seopress'),
|
578 |
],
|
579 |
'link' => [
|
580 |
-
'en' => admin_url('options-
|
581 |
'title' => __('Fix this!', 'wp-seopress'),
|
582 |
'external' => false,
|
583 |
],
|
584 |
-
'
|
585 |
-
'deleteable' => true,
|
586 |
];
|
587 |
seopress_notification($args);
|
588 |
}
|
589 |
-
|
590 |
-
if ('' == get_option('blogname')) {
|
591 |
-
$args = [
|
592 |
-
'id' => 'notice-title-empty',
|
593 |
-
'title' => __('Your site title is empty!', 'wp-seopress'),
|
594 |
-
'desc' => __('Your Site Title is used by WordPress, your theme and your plugins including SEOPress. It is an essential component in the generation of title tags, but not only. Enter one!', 'wp-seopress'),
|
595 |
-
'impact' => [
|
596 |
-
'high' => __('High impact', 'wp-seopress'),
|
597 |
-
],
|
598 |
-
'link' => [
|
599 |
-
'en' => admin_url('options-general.php'),
|
600 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
601 |
-
'external' => false,
|
602 |
-
],
|
603 |
-
'deleteable' => false,
|
604 |
-
];
|
605 |
-
seopress_notification($args);
|
606 |
-
}
|
607 |
-
if ('' == get_option('permalink_structure')) {
|
608 |
-
$args = [
|
609 |
-
'id' => 'notice-permalinks',
|
610 |
-
'title' => __('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.', 'wp-seopress'),
|
611 |
-
'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'wp-seopress'),
|
612 |
-
'impact' => [
|
613 |
-
'high' => __('High impact', 'wp-seopress'),
|
614 |
-
],
|
615 |
-
'link' => [
|
616 |
-
'en' => admin_url('options-permalink.php'),
|
617 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
618 |
-
'external' => false,
|
619 |
-
],
|
620 |
-
'icon' => 'dashicons-admin-links',
|
621 |
-
'deleteable' => false,
|
622 |
-
];
|
623 |
-
seopress_notification($args);
|
624 |
-
}
|
625 |
-
if ('0' == get_option('rss_use_excerpt')) {
|
626 |
-
function seopress_get_hidden_notices_rss_use_excerpt_option()
|
627 |
-
{
|
628 |
-
$seopress_get_hidden_notices_rss_use_excerpt_option = get_option('seopress_notices');
|
629 |
-
if (! empty($seopress_get_hidden_notices_rss_use_excerpt_option)) {
|
630 |
-
foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value) {
|
631 |
-
$options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
|
632 |
-
}
|
633 |
-
if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
|
634 |
-
return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
|
635 |
-
}
|
636 |
-
}
|
637 |
-
}
|
638 |
-
if ('1' != seopress_get_hidden_notices_rss_use_excerpt_option()) {
|
639 |
$args = [
|
640 |
-
'id' => 'notice-
|
641 |
-
'title' => __('Your
|
642 |
'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'wp-seopress'),
|
643 |
'impact' => [
|
644 |
-
'
|
645 |
],
|
646 |
'link' => [
|
647 |
-
'en' => admin_url('options-
|
648 |
'title' => __('Fix this!', 'wp-seopress'),
|
649 |
'external' => false,
|
650 |
],
|
651 |
-
'icon' => 'dashicons-
|
652 |
-
'deleteable' =>
|
653 |
];
|
654 |
seopress_notification($args);
|
655 |
}
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
664 |
}
|
665 |
-
|
666 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
667 |
}
|
668 |
}
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
|
|
|
|
|
|
676 |
}
|
677 |
-
|
678 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
}
|
680 |
}
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
|
|
|
|
|
|
|
|
|
|
688 |
}
|
689 |
-
if (
|
690 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
}
|
692 |
}
|
693 |
-
|
694 |
-
|
695 |
-
function seopress_get_hidden_notices_analytics_option()
|
696 |
{
|
697 |
-
$
|
698 |
-
if (! empty($
|
699 |
-
foreach ($
|
700 |
-
$options[$key] = $
|
701 |
}
|
702 |
-
if (isset($
|
703 |
-
return $
|
704 |
}
|
705 |
}
|
706 |
}
|
707 |
-
if ('1' !=
|
708 |
$args = [
|
709 |
-
'id' => 'notice-
|
710 |
-
'title' => __('You
|
711 |
-
'desc' => __('
|
712 |
'impact' => [
|
713 |
-
'
|
714 |
],
|
715 |
'link' => [
|
716 |
-
'en' =>
|
717 |
-
'title' => __('
|
718 |
-
'external' =>
|
719 |
],
|
720 |
-
'icon' => 'dashicons-
|
721 |
'deleteable' => true,
|
722 |
];
|
723 |
seopress_notification($args);
|
724 |
}
|
725 |
-
|
726 |
-
|
727 |
-
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
|
|
|
|
|
|
|
|
733 |
}
|
734 |
-
if (
|
735 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
}
|
737 |
}
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
745 |
-
|
746 |
-
|
747 |
-
|
748 |
-
|
749 |
-
'title' => __('Rate us!', 'wp-seopress'),
|
750 |
-
'external' => true,
|
751 |
-
],
|
752 |
-
'icon' => 'dashicons-thumbs-up',
|
753 |
-
'deleteable' => true,
|
754 |
-
];
|
755 |
-
seopress_notification($args);
|
756 |
-
}
|
757 |
-
if ('1' == get_option('page_comments')) {
|
758 |
-
function seopress_get_hidden_notices_divide_comments_option()
|
759 |
-
{
|
760 |
-
$seopress_get_hidden_notices_divide_comments_option = get_option('seopress_notices');
|
761 |
-
if (! empty($seopress_get_hidden_notices_divide_comments_option)) {
|
762 |
-
foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value) {
|
763 |
-
$options[$key] = $seopress_get_hidden_notices_divide_comments_value;
|
764 |
-
}
|
765 |
-
if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
|
766 |
-
return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
|
767 |
}
|
768 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
769 |
}
|
770 |
-
if ('1' !=
|
771 |
$args = [
|
772 |
-
'id' => 'notice-
|
773 |
-
'title' => __('
|
774 |
-
'desc' => __('
|
775 |
'impact' => [
|
776 |
-
'
|
777 |
],
|
778 |
'link' => [
|
779 |
-
'en' => admin_url('
|
780 |
-
'title' => __('
|
781 |
'external' => false,
|
782 |
],
|
783 |
-
'icon' => 'dashicons-
|
784 |
-
'deleteable' =>
|
785 |
];
|
786 |
seopress_notification($args);
|
787 |
}
|
788 |
-
|
789 |
-
if (get_option('posts_per_page') < '16') {
|
790 |
-
function seopress_get_hidden_notices_posts_number_option()
|
791 |
{
|
792 |
-
$
|
793 |
-
if (! empty($
|
794 |
-
foreach ($
|
795 |
-
$options[$key] = $
|
796 |
}
|
797 |
-
if (isset($
|
798 |
-
return $
|
799 |
}
|
800 |
}
|
801 |
}
|
802 |
-
if ('1' !=
|
803 |
$args = [
|
804 |
-
'id' => 'notice-
|
805 |
-
'title' => __('
|
806 |
-
'desc' => __('
|
807 |
'impact' => [
|
808 |
-
'
|
809 |
],
|
810 |
'link' => [
|
811 |
-
'en' =>
|
812 |
-
'title' => __('
|
813 |
-
'external' =>
|
814 |
],
|
815 |
'deleteable' => true,
|
816 |
];
|
817 |
seopress_notification($args);
|
818 |
}
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
|
823 |
-
|
824 |
-
|
825 |
-
|
826 |
-
|
827 |
-
|
828 |
-
|
829 |
-
'en' => admin_url('admin.php?page=seopress-xml-sitemap'),
|
830 |
-
'title' => __('Fix this!', 'wp-seopress'),
|
831 |
-
'external' => false,
|
832 |
-
],
|
833 |
-
'icon' => 'dashicons-warning',
|
834 |
-
'deleteable' => false,
|
835 |
-
];
|
836 |
-
seopress_notification($args);
|
837 |
-
}
|
838 |
-
function seopress_get_hidden_notices_google_business_option()
|
839 |
-
{
|
840 |
-
$seopress_get_hidden_notices_google_business_option = get_option('seopress_notices');
|
841 |
-
if (! empty($seopress_get_hidden_notices_google_business_option)) {
|
842 |
-
foreach ($seopress_get_hidden_notices_google_business_option as $key => $seopress_get_hidden_notices_google_business_value) {
|
843 |
-
$options[$key] = $seopress_get_hidden_notices_google_business_value;
|
844 |
-
}
|
845 |
-
if (isset($seopress_get_hidden_notices_google_business_option['notice-google-business'])) {
|
846 |
-
return $seopress_get_hidden_notices_google_business_option['notice-google-business'];
|
847 |
-
}
|
848 |
-
}
|
849 |
-
}
|
850 |
-
if ('1' != seopress_get_hidden_notices_google_business_option()) {
|
851 |
-
$args = [
|
852 |
-
'id' => 'notice-google-business',
|
853 |
-
'title' => __('Do you have a Google My Business page? It\'s free!', 'wp-seopress'),
|
854 |
-
'desc' => __('Local Business websites should have a My Business page to improve visibility in search results. Click on the cross on the right to delete this notification if you are not concerned.', 'wp-seopress'),
|
855 |
-
'impact' => [
|
856 |
-
'high' => __('High impact', 'wp-seopress'),
|
857 |
-
],
|
858 |
-
'link' => [
|
859 |
-
'en' => 'https://www.google.com/business/go/',
|
860 |
-
'title' => __('Create your page now!', 'wp-seopress'),
|
861 |
-
'external' => true,
|
862 |
-
],
|
863 |
-
'deleteable' => true,
|
864 |
-
];
|
865 |
-
seopress_notification($args);
|
866 |
-
}
|
867 |
-
function seopress_get_hidden_notices_search_console_option()
|
868 |
-
{
|
869 |
-
$seopress_get_hidden_notices_search_console_option = get_option('seopress_notices');
|
870 |
-
if (! empty($seopress_get_hidden_notices_search_console_option)) {
|
871 |
-
foreach ($seopress_get_hidden_notices_search_console_option as $key => $seopress_get_hidden_notices_search_console_value) {
|
872 |
-
$options[$key] = $seopress_get_hidden_notices_search_console_value;
|
873 |
-
}
|
874 |
-
if (isset($seopress_get_hidden_notices_search_console_option['notice-search-console'])) {
|
875 |
-
return $seopress_get_hidden_notices_search_console_option['notice-search-console'];
|
876 |
}
|
877 |
}
|
878 |
-
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
}
|
889 |
}
|
890 |
-
|
891 |
-
if ('1' != seopress_get_hidden_notices_search_console_option() && '' == seopress_get_google_site_verification_option()) {
|
892 |
-
$args = [
|
893 |
-
'id' => 'notice-search-console',
|
894 |
-
'title' => __('Add your site to Google. It\'s free!', 'wp-seopress'),
|
895 |
-
'desc' => __('Is your brand new site online? So reference it as quickly as possible on Google to get your first visitors via Google Search Console. Already the case? Click on the cross on the right to remove this alert.', 'wp-seopress'),
|
896 |
-
'impact' => [
|
897 |
-
'high' => __('High impact', 'wp-seopress'),
|
898 |
-
],
|
899 |
-
'link' => [
|
900 |
-
'en' => 'https://www.google.com/webmasters/tools/home',
|
901 |
-
'title' => __('Add your site to Search Console!', 'wp-seopress'),
|
902 |
-
'external' => true,
|
903 |
-
],
|
904 |
-
'deleteable' => true,
|
905 |
-
];
|
906 |
-
seopress_notification($args);
|
907 |
-
}
|
908 |
-
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
909 |
-
if (function_exists('seopress_rich_snippets_enable_option') && '1' != seopress_rich_snippets_enable_option()) {
|
910 |
$args = [
|
911 |
-
'id' => 'notice-
|
912 |
-
'title' => __('
|
913 |
-
'desc' => __('
|
914 |
'impact' => [
|
915 |
'high' => __('High impact', 'wp-seopress'),
|
916 |
],
|
917 |
'link' => [
|
918 |
-
'en' =>
|
919 |
-
'title' => __('
|
920 |
-
'external' =>
|
921 |
],
|
922 |
-
'
|
923 |
-
'deleteable' => false,
|
924 |
];
|
925 |
seopress_notification($args);
|
926 |
}
|
927 |
-
|
928 |
-
|
929 |
-
|
930 |
-
|
931 |
-
|
932 |
-
|
933 |
-
|
934 |
-
|
935 |
-
|
936 |
-
|
937 |
-
|
938 |
-
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
|
945 |
-
}
|
946 |
-
if (! is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
947 |
-
function seopress_get_hidden_notices_go_pro_option()
|
948 |
-
{
|
949 |
-
$seopress_get_hidden_notices_go_pro_option = get_option('seopress_notices');
|
950 |
-
if (! empty($seopress_get_hidden_notices_go_pro_option)) {
|
951 |
-
foreach ($seopress_get_hidden_notices_go_pro_option as $key => $seopress_get_hidden_notices_go_pro_value) {
|
952 |
-
$options[$key] = $seopress_get_hidden_notices_go_pro_value;
|
953 |
-
}
|
954 |
-
if (isset($seopress_get_hidden_notices_go_pro_option['notice-go-pro'])) {
|
955 |
-
return $seopress_get_hidden_notices_go_pro_option['notice-go-pro'];
|
956 |
-
}
|
957 |
}
|
958 |
}
|
959 |
-
if ('
|
960 |
$args = [
|
961 |
-
'id' => 'notice-
|
962 |
-
'title' => __('
|
963 |
-
'desc' => __('
|
964 |
'impact' => [
|
965 |
-
'info' => __('
|
966 |
],
|
967 |
'link' => [
|
968 |
-
'
|
969 |
-
'
|
970 |
-
'
|
971 |
-
'external' => true,
|
972 |
],
|
973 |
-
'
|
|
|
974 |
];
|
975 |
seopress_notification($args);
|
976 |
}
|
977 |
-
|
978 |
-
|
979 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
980 |
<?php }
|
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
9 |
+
//do nothing
|
10 |
+
} else {
|
11 |
+
//Notifications Center
|
12 |
+
function seopress_advanced_appearance_notifications_option()
|
13 |
{
|
14 |
+
$seopress_advanced_appearance_notifications_option = get_option('seopress_advanced_option_name');
|
15 |
+
if (! empty($seopress_advanced_appearance_notifications_option)) {
|
16 |
+
foreach ($seopress_advanced_appearance_notifications_option as $key => $seopress_advanced_appearance_notifications_value) {
|
17 |
+
$options[$key] = $seopress_advanced_appearance_notifications_value;
|
18 |
}
|
19 |
+
if (isset($seopress_advanced_appearance_notifications_option['seopress_advanced_appearance_notifications'])) {
|
20 |
+
return $seopress_advanced_appearance_notifications_option['seopress_advanced_appearance_notifications'];
|
21 |
}
|
22 |
}
|
23 |
}
|
24 |
+
?>
|
25 |
+
|
26 |
+
<?php if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
27 |
+
//do nothing
|
28 |
+
} else { ?>
|
29 |
+
<?php $class = '1' != seopress_advanced_appearance_notifications_option() ? 'is-active' : ''; ?>
|
30 |
+
|
31 |
+
<div id="seopress-notifications-center"
|
32 |
+
class="seopress-page-list <?php echo $class; ?>"
|
33 |
+
style="display: none">
|
34 |
+
<?php
|
35 |
+
function seopress_advanced_appearance_universal_metabox_option()
|
36 |
+
{
|
37 |
+
$seopress_advanced_appearance_universal_metabox_option = get_option('seopress_advanced_option_name');
|
38 |
+
if (! empty($seopress_advanced_appearance_universal_metabox_option)) {
|
39 |
+
foreach ($seopress_advanced_appearance_universal_metabox_option as $key => $seopress_advanced_appearance_universal_metabox_value) {
|
40 |
+
$options[$key] = $seopress_advanced_appearance_universal_metabox_value;
|
41 |
+
}
|
42 |
+
if (isset($seopress_advanced_appearance_universal_metabox_option['seopress_advanced_appearance_universal_metabox'])) {
|
43 |
+
return $seopress_advanced_appearance_universal_metabox_option['seopress_advanced_appearance_universal_metabox'];
|
44 |
+
}
|
45 |
}
|
46 |
}
|
47 |
+
function seopress_get_hidden_notices_usm_option()
|
48 |
+
{
|
49 |
+
$seopress_get_hidden_notices_usm_option = get_option('seopress_notices');
|
50 |
+
if (! empty($seopress_get_hidden_notices_usm_option)) {
|
51 |
+
foreach ($seopress_get_hidden_notices_usm_option as $key => $seopress_get_hidden_notices_usm_value) {
|
52 |
+
$options[$key] = $seopress_get_hidden_notices_usm_value;
|
53 |
+
}
|
54 |
+
if (isset($seopress_get_hidden_notices_usm_option['notice-usm'])) {
|
55 |
+
return $seopress_get_hidden_notices_usm_option['notice-usm'];
|
56 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
58 |
}
|
59 |
+
if ('1' != seopress_get_hidden_notices_usm_option() && seopress_advanced_appearance_universal_metabox_option() !== '1') {
|
60 |
+
$args = [
|
61 |
+
'id' => 'notice-usm',
|
62 |
+
'title' => __('Enable our universal SEO metabox for the Block Editor', 'wp-seopress'),
|
63 |
+
'desc' => __('By default, our new SEO metabox is disabled for Gutenberg. Test it without further delay!', 'wp-seopress'),
|
64 |
+
'impact' => [
|
65 |
+
'info' => __('Wizard', 'wp-seopress'),
|
66 |
+
],
|
67 |
+
'link' => [
|
68 |
+
'en' => admin_url('admin.php?page=seopress-advanced#tab=tab_seopress_advanced_appearance'),
|
69 |
+
'title' => __('Activate it', 'wp-seopress'),
|
70 |
+
'external' => false,
|
71 |
+
],
|
72 |
+
'icon' => 'dashicons-admin-tools',
|
73 |
+
'deleteable' => true,
|
74 |
+
];
|
75 |
+
seopress_notification($args);
|
76 |
+
}
|
77 |
+
function seopress_get_hidden_notices_wizard_option()
|
|
|
|
|
78 |
{
|
79 |
+
$seopress_get_hidden_notices_wizard_option = get_option('seopress_notices');
|
80 |
+
if (! empty($seopress_get_hidden_notices_wizard_option)) {
|
81 |
+
foreach ($seopress_get_hidden_notices_wizard_option as $key => $seopress_get_hidden_notices_wizard_value) {
|
82 |
+
$options[$key] = $seopress_get_hidden_notices_wizard_value;
|
83 |
}
|
84 |
+
if (isset($seopress_get_hidden_notices_wizard_option['notice-wizard'])) {
|
85 |
+
return $seopress_get_hidden_notices_wizard_option['notice-wizard'];
|
86 |
}
|
87 |
}
|
88 |
}
|
89 |
+
if ('1' != seopress_get_hidden_notices_wizard_option()) {
|
90 |
$args = [
|
91 |
+
'id' => 'notice-wizard',
|
92 |
+
'title' => __('Configure SEOPress in a few minutes with our installation wizard', 'wp-seopress'),
|
93 |
+
'desc' => __('The best way to quickly setup SEOPress on your site.', 'wp-seopress'),
|
94 |
'impact' => [
|
95 |
'info' => __('Wizard', 'wp-seopress'),
|
96 |
],
|
97 |
'link' => [
|
98 |
+
'en' => admin_url('admin.php?page=seopress-setup'),
|
99 |
'title' => __('Start the wizard', 'wp-seopress'),
|
100 |
'external' => true,
|
101 |
],
|
104 |
];
|
105 |
seopress_notification($args);
|
106 |
}
|
107 |
+
if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
|
108 |
+
function seopress_get_hidden_notices_insights_wizard_option()
|
109 |
+
{
|
110 |
+
$seopress_get_hidden_notices_insights_wizard_option = get_option('seopress_notices');
|
111 |
+
if (! empty($seopress_get_hidden_notices_insights_wizard_option)) {
|
112 |
+
foreach ($seopress_get_hidden_notices_insights_wizard_option as $key => $seopress_get_hidden_notices_insights_wizard_value) {
|
113 |
+
$options[$key] = $seopress_get_hidden_notices_insights_wizard_value;
|
114 |
+
}
|
115 |
+
if (isset($seopress_get_hidden_notices_insights_wizard_option['notice-insights-wizard'])) {
|
116 |
+
return $seopress_get_hidden_notices_insights_wizard_option['notice-insights-wizard'];
|
117 |
+
}
|
118 |
+
}
|
119 |
+
}
|
120 |
+
if ('1' != seopress_get_hidden_notices_insights_wizard_option()) {
|
|
|
|
|
|
|
|
|
121 |
$args = [
|
122 |
+
'id' => 'notice-insights-wizard',
|
123 |
+
'title' => __('Configure SEOPress Insights in a few minutes with our installation wizard', 'wp-seopress'),
|
124 |
+
'desc' => __('Track your keywords positions and backlinks directly on your WordPress site.', 'wp-seopress'),
|
125 |
'impact' => [
|
126 |
+
'info' => __('Wizard', 'wp-seopress'),
|
127 |
],
|
128 |
'link' => [
|
129 |
+
'en' => admin_url('admin.php?page=seopress-insights-setup'),
|
130 |
+
'title' => __('Start the wizard', 'wp-seopress'),
|
131 |
+
'external' => true,
|
132 |
],
|
133 |
+
'icon' => 'dashicons-admin-tools',
|
134 |
+
'deleteable' => true,
|
135 |
];
|
136 |
seopress_notification($args);
|
137 |
}
|
138 |
}
|
139 |
+
//DIVI SEO options conflict
|
140 |
+
$theme = wp_get_theme();
|
141 |
+
if ('Divi' == $theme->template || 'Divi' == $theme->parent_theme) {
|
142 |
+
$divi_options = get_option('et_divi');
|
143 |
+
if (! empty($divi_options)) {
|
144 |
+
if (
|
145 |
+
(array_key_exists('divi_seo_home_title', $divi_options) && 'on' == $divi_options['divi_seo_home_title']) ||
|
146 |
+
(array_key_exists('divi_seo_home_description', $divi_options) && 'on' == $divi_options['divi_seo_home_description']) ||
|
147 |
+
(array_key_exists('divi_seo_home_keywords', $divi_options) && 'on' == $divi_options['divi_seo_home_keywords']) ||
|
148 |
+
(array_key_exists('divi_seo_home_canonical', $divi_options) && 'on' == $divi_options['divi_seo_home_canonical']) ||
|
149 |
+
(array_key_exists('divi_seo_single_title', $divi_options) && 'on' == $divi_options['divi_seo_single_title']) ||
|
150 |
+
(array_key_exists('divi_seo_single_description', $divi_options) && 'on' == $divi_options['divi_seo_single_description']) ||
|
151 |
+
(array_key_exists('divi_seo_single_keywords', $divi_options) && 'on' == $divi_options['divi_seo_single_keywords']) ||
|
152 |
+
(array_key_exists('divi_seo_single_canonical', $divi_options) && 'on' == $divi_options['divi_seo_single_canonical']) ||
|
153 |
+
(array_key_exists('divi_seo_index_canonical', $divi_options) && 'on' == $divi_options['divi_seo_index_canonical']) ||
|
154 |
+
(array_key_exists('divi_seo_index_description', $divi_options) && 'on' == $divi_options['divi_seo_index_description'])
|
155 |
+
) {
|
156 |
+
$args = [
|
157 |
+
'id' => 'notice-divi-seo',
|
158 |
+
'title' => __('We noticed that some SEO DIVI options are enabled!', 'wp-seopress'),
|
159 |
+
'desc' => __('To avoid any SEO conflicts, please disable every SEO option from <strong>DIVI theme options page, SEO tab</strong>.', 'wp-seopress'),
|
160 |
+
'impact' => [
|
161 |
+
'high' => __('High impact', 'wp-seopress'),
|
162 |
+
],
|
163 |
+
'link' => [
|
164 |
+
'en' => admin_url('admin.php?page=et_divi_options#seo-1'),
|
165 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
166 |
+
'external' => false,
|
167 |
+
],
|
168 |
+
'icon' => 'dashicons-admin-plugins',
|
169 |
+
'deleteable' => false,
|
170 |
+
];
|
171 |
+
seopress_notification($args);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
172 |
}
|
173 |
}
|
174 |
}
|
175 |
+
if ('/' != substr(get_option('permalink_structure'), -1) && '' == seopress_advanced_advanced_trailingslash_option()) {
|
176 |
$args = [
|
177 |
+
'id' => 'notice-permalinks',
|
178 |
+
'title' => __('Your permalinks don\'t have a trailingslash', 'wp-seopress'),
|
179 |
+
'desc' => __('To avoid any SEO issues, we recommend you to activate the "<strong>Disable trailing slash for metas</strong>" option from our <strong>Advanced settings page</strong>. Do not forget to clear your cache if necessary.', 'wp-seopress'),
|
180 |
'impact' => [
|
181 |
'high' => __('High impact', 'wp-seopress'),
|
182 |
],
|
183 |
'link' => [
|
184 |
+
'en' => admin_url('admin.php?page=seopress-advanced#tab=seopress_advanced_advanced'),
|
|
|
185 |
'title' => __('Fix this!', 'wp-seopress'),
|
186 |
+
'external' => false,
|
187 |
],
|
188 |
+
'icon' => 'dashicons-admin-links',
|
189 |
+
'deleteable' => false,
|
190 |
];
|
191 |
seopress_notification($args);
|
192 |
}
|
193 |
+
if ('/' == substr(get_option('permalink_structure'), -1) && '1' == seopress_advanced_advanced_trailingslash_option()) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
$args = [
|
195 |
+
'id' => 'notice-permalinks',
|
196 |
+
'title' => __('Your permalinks have a trailingslash', 'wp-seopress'),
|
197 |
+
'desc' => __('To avoid any SEO issues, we recommend you to de-activate the "<strong>Disable trailing slash for metas</strong>" option from our <strong>Advanced settings page</strong>. Do not forget to clear your cache if necessary.', 'wp-seopress'),
|
198 |
'impact' => [
|
199 |
'high' => __('High impact', 'wp-seopress'),
|
200 |
],
|
201 |
'link' => [
|
202 |
+
'en' => admin_url('admin.php?page=seopress-advanced#tab=seopress_advanced_advanced'),
|
203 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
204 |
+
'external' => false,
|
|
|
205 |
],
|
206 |
+
'icon' => 'dashicons-admin-links',
|
207 |
'deleteable' => false,
|
208 |
];
|
209 |
seopress_notification($args);
|
210 |
}
|
211 |
+
if (is_plugin_active('td-composer/td-composer.php')) {
|
212 |
+
function seopress_get_hidden_notices_tagdiv_option()
|
213 |
+
{
|
214 |
+
$seopress_get_hidden_notices_tagdiv_option = get_option('seopress_notices');
|
215 |
+
if (! empty($seopress_get_hidden_notices_tagdiv_option)) {
|
216 |
+
foreach ($seopress_get_hidden_notices_tagdiv_option as $key => $seopress_get_hidden_notices_tagdiv_value) {
|
217 |
+
$options[$key] = $seopress_get_hidden_notices_tagdiv_value;
|
218 |
+
}
|
219 |
+
if (isset($seopress_get_hidden_notices_tagdiv_option['notice-tagdiv'])) {
|
220 |
+
return $seopress_get_hidden_notices_tagdiv_option['notice-tagdiv'];
|
221 |
+
}
|
222 |
}
|
223 |
+
}
|
224 |
+
if ('1' != seopress_get_hidden_notices_tagdiv_option()) {
|
225 |
+
$args = [
|
226 |
+
'id' => 'notice-tagdiv',
|
227 |
+
'title' => __('TagDiv Composer plugin doesn\'t use <strong>add_theme_support(\'title-tag\');</strong>', 'wp-seopress'),
|
228 |
+
'desc' => __('Fix this compatibility issue to allow SEOPress generates the correct meta titles.', 'wp-seopress'),
|
229 |
+
'impact' => [
|
230 |
+
'high' => __('High impact', 'wp-seopress'),
|
231 |
+
],
|
232 |
+
'link' => [
|
233 |
+
'fr' => 'https://www.seopress.org/fr/support/guides/corriger-erreur-compatibilite-extension-tagdiv-composer-newspaper/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
|
234 |
+
'en' => 'https://www.seopress.org/support/guides/fix-compatibility-issue-tagdiv-composer-plugin-newspaper-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
|
235 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
236 |
+
'external' => true,
|
237 |
+
],
|
238 |
+
'icon' => 'dashicons-admin-customizer',
|
239 |
+
'deleteable' => true,
|
240 |
+
];
|
241 |
+
seopress_notification($args);
|
242 |
+
}
|
243 |
+
}
|
244 |
+
if ('1' != get_theme_support('title-tag')) {
|
245 |
+
function seopress_get_hidden_notices_title_tag_option()
|
246 |
+
{
|
247 |
+
$seopress_get_hidden_notices_title_tag_option = get_option('seopress_notices');
|
248 |
+
if (! empty($seopress_get_hidden_notices_title_tag_option)) {
|
249 |
+
foreach ($seopress_get_hidden_notices_title_tag_option as $key => $seopress_get_hidden_notices_title_tag_value) {
|
250 |
+
$options[$key] = $seopress_get_hidden_notices_title_tag_value;
|
251 |
+
}
|
252 |
+
if (isset($seopress_get_hidden_notices_title_tag_option['notice-title-tag'])) {
|
253 |
+
return $seopress_get_hidden_notices_title_tag_option['notice-title-tag'];
|
254 |
+
}
|
255 |
}
|
256 |
}
|
257 |
+
if ('1' != seopress_get_hidden_notices_title_tag_option()) {
|
258 |
+
$args = [
|
259 |
+
'id' => 'notice-title-tag',
|
260 |
+
'title' => __('Your theme doesn\'t use <strong>add_theme_support(\'title-tag\');</strong>', 'wp-seopress'),
|
261 |
+
'desc' => __('This error indicates that your theme uses a deprecated function to generate the title tag of your pages. SEOPress will not be able to generate your custom title tags if this error is not fixed.', 'wp-seopress'),
|
262 |
+
'impact' => [
|
263 |
+
'high' => __('High impact', 'wp-seopress'),
|
264 |
+
],
|
265 |
+
'link' => [
|
266 |
+
'fr' => 'https://www.seopress.org/fr/support/guides/resoudre-add_theme_support-manquant-dans-votre-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
|
267 |
+
'en' => 'https://www.seopress.org/support/guides/fixing-missing-add_theme_support-in-your-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
|
268 |
+
'title' => __('Learn more', 'wp-seopress'),
|
269 |
+
'external' => true,
|
270 |
+
],
|
271 |
+
'icon' => 'dashicons-admin-customizer',
|
272 |
+
'deleteable' => false,
|
273 |
+
];
|
274 |
+
seopress_notification($args);
|
275 |
+
}
|
276 |
}
|
277 |
+
if (is_plugin_active('swift-performance-lite/performance.php')) {
|
278 |
+
function seopress_get_swift_performance_sitemap_option()
|
279 |
{
|
280 |
+
$seopress_get_swift_performance_sitemap_option = get_option('swift_performance_options');
|
281 |
+
if (! empty($seopress_get_swift_performance_sitemap_option)) {
|
282 |
+
foreach ($seopress_get_swift_performance_sitemap_option as $key => $seopress_get_swift_performance_sitemap_value) {
|
283 |
+
$options[$key] = $seopress_get_swift_performance_sitemap_value;
|
284 |
}
|
285 |
+
if (isset($seopress_get_swift_performance_sitemap_option['cache-sitemap'])) {
|
286 |
+
return $seopress_get_swift_performance_sitemap_option['cache-sitemap'];
|
287 |
}
|
288 |
}
|
289 |
}
|
290 |
+
if (seopress_get_swift_performance_sitemap_option() === "1") {
|
291 |
+
function seopress_get_hidden_notices_swift_option()
|
292 |
+
{
|
293 |
+
$seopress_get_hidden_notices_swift_option = get_option('seopress_notices');
|
294 |
+
if (! empty($seopress_get_hidden_notices_swift_option)) {
|
295 |
+
foreach ($seopress_get_hidden_notices_swift_option as $key => $seopress_get_hidden_notices_swift_value) {
|
296 |
+
$options[$key] = $seopress_get_hidden_notices_swift_value;
|
297 |
+
}
|
298 |
+
if (isset($seopress_get_hidden_notices_swift_option['notice-swift'])) {
|
299 |
+
return $seopress_get_hidden_notices_swift_option['notice-swift'];
|
300 |
+
}
|
301 |
+
}
|
302 |
+
}
|
303 |
+
$args = [
|
304 |
+
'id' => 'notice-swift',
|
305 |
+
'title' => __('Your XML sitemap is cached!', 'wp-seopress'),
|
306 |
+
'desc' => __('Swift Performance is caching your XML sitemap. You must disable this option to prevent any compatibility issue (Swift Performance > Settings > Caching, General tab).', 'wp-seopress'),
|
307 |
+
'impact' => [
|
308 |
+
'high' => __('High impact', 'wp-seopress'),
|
309 |
+
],
|
310 |
+
'link' => [
|
311 |
+
'en' => admin_url('tools.php?page=swift-performance'),
|
312 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
313 |
+
'external' => false,
|
314 |
+
],
|
315 |
+
'icon' => 'dashicons-media-spreadsheet',
|
316 |
+
'deleteable' => false,
|
317 |
+
];
|
318 |
+
seopress_notification($args);
|
319 |
+
}
|
320 |
+
}
|
321 |
+
$seo_plugins = [
|
322 |
+
'wordpress-seo/wp-seo.php' => 'Yoast SEO',
|
323 |
+
'wordpress-seo-premium/wp-seo-premium.php' => 'Yoast SEO Premium',
|
324 |
+
'all-in-one-seo-pack/all_in_one_seo_pack.php' => 'All In One SEO',
|
325 |
+
'autodescription/autodescription.php' => 'The SEO Framework',
|
326 |
+
'squirrly-seo/squirrly.php' => 'Squirrly SEO',
|
327 |
+
'seo-by-rank-math/rank-math.php' => 'Rank Math',
|
328 |
+
'seo-ultimate/seo-ultimate.php' => 'SEO Ultimate',
|
329 |
+
'wp-meta-seo/wp-meta-seo.php' => 'WP Meta SEO',
|
330 |
+
'premium-seo-pack/plugin.php' => 'Premium SEO Pack',
|
331 |
+
'wpseo/wpseo.php' => 'wpSEO',
|
332 |
+
'platinum-seo-pack/platinum-seo-pack.php' => 'Platinum SEO Pack',
|
333 |
+
'smartcrawl-seo/wpmu-dev-seo.php' => 'SmartCrawl',
|
334 |
+
'seo-pressor/seo-pressor.php' => 'SEOPressor',
|
335 |
+
];
|
336 |
+
|
337 |
+
foreach ($seo_plugins as $key => $value) {
|
338 |
+
if (is_plugin_active($key)) {
|
339 |
+
$args = [
|
340 |
+
'id' => 'notice-seo-plugins',
|
341 |
+
/* translators: %s name of a SEO plugin (eg: Yoast SEO) */
|
342 |
+
'title' => sprintf(__('We noticed that you use <strong>%s</strong> plugin.', 'wp-seopress'), $value),
|
343 |
+
'desc' => __('Do you want to migrate all your metadata to SEOPress? Do not use multiple SEO plugins at once to avoid conflicts!', 'wp-seopress'),
|
344 |
'impact' => [
|
345 |
'high' => __('High impact', 'wp-seopress'),
|
346 |
],
|
347 |
'link' => [
|
348 |
+
'en' => admin_url('admin.php?page=seopress-import-export'),
|
349 |
+
'title' => __('Migrate!', 'wp-seopress'),
|
350 |
'external' => false,
|
351 |
],
|
352 |
+
'icon' => 'dashicons-admin-plugins',
|
353 |
'deleteable' => false,
|
354 |
];
|
355 |
+
seopress_notification($args);
|
356 |
+
}
|
357 |
+
}
|
358 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
359 |
+
if (1 == seopress_404_cleaning_option() && ! wp_next_scheduled('seopress_404_cron_cleaning')) {
|
360 |
+
$args = [
|
361 |
+
'id' => 'notice-title-tag',
|
362 |
+
'title' => __('You have enabled 404 cleaning BUT the scheduled task is not running.', 'wp-seopress'),
|
363 |
+
'desc' => __('To solve this, please disable and re-enable SEOPress PRO. No data will be lost.', 'wp-seopress'),
|
364 |
+
'icon' => 'dashicons-clock',
|
365 |
+
'deleteable' => false,
|
366 |
+
];
|
367 |
+
seopress_notification($args);
|
368 |
+
}
|
369 |
+
}
|
370 |
+
//Enfold theme
|
371 |
+
$avia_options_enfold = get_option('avia_options_enfold');
|
372 |
+
$avia_options_enfold_child = get_option('avia_options_enfold_child');
|
373 |
+
$theme = wp_get_theme();
|
374 |
+
if ('enfold' == $theme->template || 'enfold' == $theme->parent_theme) {
|
375 |
+
if ('plugin' != $avia_options_enfold['avia']['seo_robots'] || 'plugin' != $avia_options_enfold_child['avia']['seo_robots']) {
|
376 |
+
function seopress_get_hidden_notices_enfold_option()
|
377 |
+
{
|
378 |
+
$seopress_get_hidden_notices_enfold_option = get_option('seopress_notices');
|
379 |
+
if (! empty($seopress_get_hidden_notices_enfold_option)) {
|
380 |
+
foreach ($seopress_get_hidden_notices_enfold_option as $key => $seopress_get_hidden_notices_enfold_value) {
|
381 |
+
$options[$key] = $seopress_get_hidden_notices_enfold_value;
|
382 |
+
}
|
383 |
+
if (isset($seopress_get_hidden_notices_enfold_option['notice-enfold'])) {
|
384 |
+
return $seopress_get_hidden_notices_enfold_option['notice-enfold'];
|
385 |
+
}
|
386 |
+
}
|
387 |
+
}
|
388 |
+
if ('1' != seopress_get_hidden_notices_enfold_option()) {
|
389 |
+
$args = [
|
390 |
+
'id' => 'notice-enfold',
|
391 |
+
'title' => __('Enfold theme is not correctly setup for SEO!', 'wp-seopress'),
|
392 |
+
'desc' => __('You must disable "Meta tag robots" option from Enfold settings (SEO Support tab) to avoid any SEO issues.', 'wp-seopress'),
|
393 |
+
'impact' => [
|
394 |
+
'low' => __('High impact', 'wp-seopress'),
|
395 |
+
],
|
396 |
+
'link' => [
|
397 |
+
'en' => admin_url('admin.php?avia_welcome=true&page=avia'),
|
398 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
399 |
+
'external' => true,
|
400 |
+
],
|
401 |
+
'icon' => 'dashicons-admin-tools',
|
402 |
+
'deleteable' => true,
|
403 |
+
];
|
404 |
+
seopress_notification($args);
|
405 |
+
}
|
406 |
+
}
|
407 |
+
}
|
408 |
+
if (seopress_get_empty_templates('cpt', 'title')) {
|
409 |
+
$args = [
|
410 |
+
'id' => 'notice-cpt-empty-title',
|
411 |
+
'title' => __('Global meta title missing for several custom post types!', 'wp-seopress'),
|
412 |
+
'desc' => seopress_get_empty_templates('cpt', 'title', false),
|
413 |
+
'impact' => [
|
414 |
+
'high' => __('High impact', 'wp-seopress'),
|
415 |
+
],
|
416 |
+
'link' => [
|
417 |
+
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_single'),
|
418 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
419 |
+
'external' => false,
|
420 |
+
],
|
421 |
+
'icon' => 'dashicons-editor-table',
|
422 |
+
'deleteable' => false,
|
423 |
+
'wrap' => false,
|
424 |
+
];
|
425 |
seopress_notification($args);
|
426 |
}
|
427 |
+
if (seopress_get_empty_templates('cpt', 'description')) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
$args = [
|
429 |
+
'id' => 'notice-cpt-empty-desc',
|
430 |
+
'title' => __('Global meta description missing for several custom post types!', 'wp-seopress'),
|
431 |
+
'desc' => seopress_get_empty_templates('cpt', 'description', false),
|
|
|
432 |
'impact' => [
|
433 |
'high' => __('High impact', 'wp-seopress'),
|
434 |
],
|
435 |
'link' => [
|
436 |
+
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_single'),
|
437 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
438 |
'external' => false,
|
439 |
],
|
440 |
+
'icon' => 'dashicons-editor-table',
|
441 |
'deleteable' => false,
|
442 |
+
'wrap' => false,
|
443 |
];
|
444 |
seopress_notification($args);
|
445 |
}
|
446 |
+
if (seopress_get_empty_templates('tax', 'title')) {
|
|
|
|
|
447 |
$args = [
|
448 |
+
'id' => 'notice-tax-empty-title',
|
449 |
+
'title' => __('Global meta title missing for several taxonomies!', 'wp-seopress'),
|
450 |
+
'desc' => seopress_get_empty_templates('tax', 'title', false),
|
451 |
+
'impact' => [
|
452 |
+
'high' => __('High impact', 'wp-seopress'),
|
453 |
+
],
|
454 |
+
'link' => [
|
455 |
+
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_tax'),
|
456 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
457 |
+
'external' => false,
|
458 |
+
],
|
459 |
+
'icon' => 'dashicons-editor-table',
|
460 |
'deleteable' => false,
|
461 |
+
'wrap' => false,
|
462 |
];
|
463 |
seopress_notification($args);
|
464 |
}
|
465 |
+
if (seopress_get_empty_templates('tax', 'description')) {
|
466 |
+
$args = [
|
467 |
+
'id' => 'notice-tax-empty-templates',
|
468 |
+
'title' => __('Global meta description missing for several taxonomies!', 'wp-seopress'),
|
469 |
+
'desc' => seopress_get_empty_templates('tax', 'description', false),
|
470 |
+
'impact' => [
|
471 |
+
'high' => __('High impact', 'wp-seopress'),
|
472 |
+
],
|
473 |
+
'link' => [
|
474 |
+
'en' => admin_url('admin.php?page=seopress-titles#tab=tab_seopress_titles_tax'),
|
475 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
476 |
+
'external' => false,
|
477 |
+
],
|
478 |
+
'icon' => 'dashicons-editor-table',
|
479 |
+
'deleteable' => false,
|
480 |
+
'wrap' => false,
|
481 |
+
];
|
482 |
+
seopress_notification($args);
|
483 |
+
}
|
484 |
+
|
485 |
+
if (! is_ssl()) {
|
486 |
+
function seopress_get_hidden_notices_ssl_option()
|
487 |
{
|
488 |
+
$seopress_get_hidden_notices_ssl_option = get_option('seopress_notices');
|
489 |
+
if (! empty($seopress_get_hidden_notices_ssl_option)) {
|
490 |
+
foreach ($seopress_get_hidden_notices_ssl_option as $key => $seopress_get_hidden_notices_ssl_value) {
|
491 |
+
$options[$key] = $seopress_get_hidden_notices_ssl_value;
|
492 |
}
|
493 |
+
if (isset($seopress_get_hidden_notices_ssl_option['notice-ssl'])) {
|
494 |
+
return $seopress_get_hidden_notices_ssl_option['notice-ssl'];
|
495 |
}
|
496 |
}
|
497 |
}
|
498 |
+
if ('1' != seopress_get_hidden_notices_ssl_option()) {
|
499 |
$args = [
|
500 |
+
'id' => 'notice-ssl',
|
501 |
+
'title' => __('Your site doesn\'t use an SSL certificate!', 'wp-seopress'),
|
502 |
+
'desc' => __('Https is considered by Google as a positive signal for the ranking of your site. It also reassures your visitors for data security, and improves trust.', 'wp-seopress') . '</a>',
|
503 |
'impact' => [
|
504 |
+
'low' => __('Low impact', 'wp-seopress'),
|
505 |
],
|
506 |
'link' => [
|
507 |
+
'en' => 'https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html',
|
508 |
+
'title' => __('Learn more', 'wp-seopress'),
|
509 |
'external' => true,
|
510 |
],
|
511 |
+
'icon' => 'dashicons-unlock',
|
512 |
'deleteable' => true,
|
513 |
];
|
514 |
seopress_notification($args);
|
515 |
}
|
516 |
}
|
517 |
+
if (function_exists('extension_loaded') && ! extension_loaded('dom')) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
518 |
$args = [
|
519 |
+
'id' => 'notice-ssl-alert',
|
520 |
+
'title' => __('PHP module "DOM" is missing on your server.', 'wp-seopress'),
|
521 |
+
'desc' => __('This PHP module, installed by default with PHP, is required by many plugins including SEOPress. Please contact your host as soon as possible to solve this.', 'wp-seopress'),
|
522 |
'impact' => [
|
523 |
+
'high' => __('High impact', 'wp-seopress'),
|
524 |
],
|
525 |
'link' => [
|
526 |
+
'fr' => 'https://www.seopress.org/fr/support/guides/debutez-seopress/',
|
527 |
+
'en' => 'https://www.seopress.org/support/guides/get-started-seopress/',
|
528 |
+
'title' => __('Learn more', 'wp-seopress'),
|
529 |
'external' => true,
|
530 |
],
|
|
|
531 |
'deleteable' => true,
|
532 |
];
|
533 |
seopress_notification($args);
|
534 |
}
|
535 |
+
if (! function_exists('seopress_titles_noindex_option')) {
|
536 |
+
function seopress_titles_noindex_option()
|
537 |
+
{
|
538 |
+
$seopress_titles_noindex_option = get_option('seopress_titles_option_name');
|
539 |
+
if (! empty($seopress_titles_noindex_option)) {
|
540 |
+
foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value) {
|
541 |
+
$options[$key] = $seopress_titles_noindex_value;
|
542 |
+
}
|
543 |
+
if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
|
544 |
+
return $seopress_titles_noindex_option['seopress_titles_noindex'];
|
545 |
+
}
|
546 |
+
}
|
547 |
+
}
|
548 |
+
}
|
549 |
+
function seopress_get_hidden_notices_noindex_option()
|
|
|
|
|
|
|
|
|
|
|
|
|
550 |
{
|
551 |
+
$seopress_get_hidden_notices_noindex_option = get_option('seopress_notices');
|
552 |
+
if (! empty($seopress_get_hidden_notices_noindex_option)) {
|
553 |
+
foreach ($seopress_get_hidden_notices_noindex_option as $key => $seopress_get_hidden_notices_noindex_value) {
|
554 |
+
$options[$key] = $seopress_get_hidden_notices_noindex_value;
|
555 |
}
|
556 |
+
if (isset($seopress_get_hidden_notices_noindex_option['notice-noindex'])) {
|
557 |
+
return $seopress_get_hidden_notices_noindex_option['notice-noindex'];
|
558 |
}
|
559 |
}
|
560 |
}
|
561 |
+
if ('1' != seopress_get_hidden_notices_noindex_option()) {
|
562 |
+
if ('1' == seopress_titles_noindex_option() || '1' != get_option('blog_public')) {
|
563 |
+
$args = [
|
564 |
+
'id' => 'notice-noindex',
|
565 |
+
'title' => __('Your site is not visible to Search Engines!', 'wp-seopress'),
|
566 |
+
'desc' => __('You have activated the blocking of the indexing of your site. If your site is under development, this is probably normal. Otherwise, check your settings. Delete this notification using the cross on the right if you are not concerned.', 'wp-seopress'),
|
567 |
+
'impact' => [
|
568 |
+
'high' => __('High impact', 'wp-seopress'),
|
569 |
+
],
|
570 |
+
'link' => [
|
571 |
+
'en' => admin_url('options-reading.php'),
|
572 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
573 |
+
'external' => false,
|
574 |
+
],
|
575 |
+
'icon' => 'dashicons-warning',
|
576 |
+
'deleteable' => true,
|
577 |
+
];
|
578 |
+
seopress_notification($args);
|
579 |
}
|
580 |
}
|
581 |
+
if ('' == get_option('blogname')) {
|
|
|
|
|
582 |
$args = [
|
583 |
+
'id' => 'notice-title-empty',
|
584 |
+
'title' => __('Your site title is empty!', 'wp-seopress'),
|
585 |
+
'desc' => __('Your Site Title is used by WordPress, your theme and your plugins including SEOPress. It is an essential component in the generation of title tags, but not only. Enter one!', 'wp-seopress'),
|
586 |
'impact' => [
|
587 |
'high' => __('High impact', 'wp-seopress'),
|
588 |
],
|
589 |
'link' => [
|
590 |
+
'en' => admin_url('options-general.php'),
|
591 |
'title' => __('Fix this!', 'wp-seopress'),
|
592 |
'external' => false,
|
593 |
],
|
594 |
+
'deleteable' => false,
|
|
|
595 |
];
|
596 |
seopress_notification($args);
|
597 |
}
|
598 |
+
if ('' == get_option('permalink_structure')) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
599 |
$args = [
|
600 |
+
'id' => 'notice-permalinks',
|
601 |
+
'title' => __('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.', 'wp-seopress'),
|
602 |
'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'wp-seopress'),
|
603 |
'impact' => [
|
604 |
+
'high' => __('High impact', 'wp-seopress'),
|
605 |
],
|
606 |
'link' => [
|
607 |
+
'en' => admin_url('options-permalink.php'),
|
608 |
'title' => __('Fix this!', 'wp-seopress'),
|
609 |
'external' => false,
|
610 |
],
|
611 |
+
'icon' => 'dashicons-admin-links',
|
612 |
+
'deleteable' => false,
|
613 |
];
|
614 |
seopress_notification($args);
|
615 |
}
|
616 |
+
if ('0' == get_option('rss_use_excerpt')) {
|
617 |
+
function seopress_get_hidden_notices_rss_use_excerpt_option()
|
618 |
+
{
|
619 |
+
$seopress_get_hidden_notices_rss_use_excerpt_option = get_option('seopress_notices');
|
620 |
+
if (! empty($seopress_get_hidden_notices_rss_use_excerpt_option)) {
|
621 |
+
foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value) {
|
622 |
+
$options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
|
623 |
+
}
|
624 |
+
if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
|
625 |
+
return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
|
626 |
+
}
|
627 |
+
}
|
628 |
+
}
|
629 |
+
if ('1' != seopress_get_hidden_notices_rss_use_excerpt_option()) {
|
630 |
+
$args = [
|
631 |
+
'id' => 'notice-rss-use-excerpt',
|
632 |
+
'title' => __('Your RSS feed shows full text!', 'wp-seopress'),
|
633 |
+
'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...', 'wp-seopress'),
|
634 |
+
'impact' => [
|
635 |
+
'medium' => __('Medium impact', 'wp-seopress'),
|
636 |
+
],
|
637 |
+
'link' => [
|
638 |
+
'en' => admin_url('options-reading.php'),
|
639 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
640 |
+
'external' => false,
|
641 |
+
],
|
642 |
+
'icon' => 'dashicons-rss',
|
643 |
+
'deleteable' => true,
|
644 |
+
];
|
645 |
+
seopress_notification($args);
|
646 |
}
|
647 |
+
}
|
648 |
+
|
649 |
+
function seopress_ga_enable_option()
|
650 |
+
{
|
651 |
+
$seopress_ga_enable_option = get_option('seopress_google_analytics_option_name');
|
652 |
+
if (! empty($seopress_ga_enable_option)) {
|
653 |
+
foreach ($seopress_ga_enable_option as $key => $seopress_ga_enable_value) {
|
654 |
+
$options[$key] = $seopress_ga_enable_value;
|
655 |
+
}
|
656 |
+
if (isset($seopress_ga_enable_option['seopress_google_analytics_enable'])) {
|
657 |
+
return $seopress_ga_enable_option['seopress_google_analytics_enable'];
|
658 |
+
}
|
659 |
}
|
660 |
}
|
661 |
+
function seopress_ga_ua_option()
|
662 |
+
{
|
663 |
+
$seopress_ga_ua_option = get_option('seopress_google_analytics_option_name');
|
664 |
+
if (! empty($seopress_ga_ua_option)) {
|
665 |
+
foreach ($seopress_ga_ua_option as $key => $seopress_ga_ua_value) {
|
666 |
+
$options[$key] = $seopress_ga_ua_value;
|
667 |
+
}
|
668 |
+
if (isset($seopress_ga_ua_option['seopress_google_analytics_ua'])) {
|
669 |
+
return $seopress_ga_ua_option['seopress_google_analytics_ua'];
|
670 |
+
}
|
671 |
}
|
672 |
+
}
|
673 |
+
function seopress_ga4_option()
|
674 |
+
{
|
675 |
+
$seopress_ga4_option = get_option('seopress_google_analytics_option_name');
|
676 |
+
if (! empty($seopress_ga4_option)) {
|
677 |
+
foreach ($seopress_ga4_option as $key => $seopress_ga4_value) {
|
678 |
+
$options[$key] = $seopress_ga4_value;
|
679 |
+
}
|
680 |
+
if (isset($seopress_ga4_option['seopress_google_analytics_ga4'])) {
|
681 |
+
return $seopress_ga4_option['seopress_google_analytics_ga4'];
|
682 |
+
}
|
683 |
}
|
684 |
}
|
685 |
+
if ('' === seopress_ga_ua_option() && '' === seopress_ga4_option() && '1' === seopress_ga_enable_option()) {
|
686 |
+
function seopress_get_hidden_notices_analytics_option()
|
687 |
+
{
|
688 |
+
$seopress_get_hidden_notices_analytics_option = get_option('seopress_notices');
|
689 |
+
if (! empty($seopress_get_hidden_notices_analytics_option)) {
|
690 |
+
foreach ($seopress_get_hidden_notices_analytics_option as $key => $seopress_get_hidden_notices_analytics_value) {
|
691 |
+
$options[$key] = $seopress_get_hidden_notices_analytics_value;
|
692 |
+
}
|
693 |
+
if (isset($seopress_get_hidden_notices_analytics_option['notice-ga-ids'])) {
|
694 |
+
return $seopress_get_hidden_notices_analytics_option['notice-ga-ids'];
|
695 |
+
}
|
696 |
+
}
|
697 |
}
|
698 |
+
if ('1' != seopress_get_hidden_notices_analytics_option()) {
|
699 |
+
$args = [
|
700 |
+
'id' => 'notice-ga-ids',
|
701 |
+
'title' => __('You have activated Google Analytics tracking without adding identifiers!', 'wp-seopress'),
|
702 |
+
'desc' => __('Google Analytics will not track your visitors until you finish the configuration.', 'wp-seopress'),
|
703 |
+
'impact' => [
|
704 |
+
'medium' => __('Medium impact', 'wp-seopress'),
|
705 |
+
],
|
706 |
+
'link' => [
|
707 |
+
'en' => admin_url('admin.php?page=seopress-google-analytics'),
|
708 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
709 |
+
'external' => false,
|
710 |
+
],
|
711 |
+
'icon' => 'dashicons-chart-area',
|
712 |
+
'deleteable' => true,
|
713 |
+
];
|
714 |
+
seopress_notification($args);
|
715 |
}
|
716 |
}
|
717 |
+
|
718 |
+
function seopress_get_hidden_notices_review_option()
|
|
|
719 |
{
|
720 |
+
$seopress_get_hidden_notices_review_option = get_option('seopress_notices');
|
721 |
+
if (! empty($seopress_get_hidden_notices_review_option)) {
|
722 |
+
foreach ($seopress_get_hidden_notices_review_option as $key => $seopress_get_hidden_notices_review_value) {
|
723 |
+
$options[$key] = $seopress_get_hidden_notices_review_value;
|
724 |
}
|
725 |
+
if (isset($seopress_get_hidden_notices_review_option['notice-review'])) {
|
726 |
+
return $seopress_get_hidden_notices_review_option['notice-review'];
|
727 |
}
|
728 |
}
|
729 |
}
|
730 |
+
if ('1' != seopress_get_hidden_notices_review_option()) {
|
731 |
$args = [
|
732 |
+
'id' => 'notice-review',
|
733 |
+
'title' => __('You like SEOPress? Please help us by rating us 5 stars!', 'wp-seopress'),
|
734 |
+
'desc' => __('Support the development and improvement of the plugin by taking 15 seconds of your time to leave us a user review on the official WordPress plugins repository. Thank you!', 'wp-seopress'),
|
735 |
'impact' => [
|
736 |
+
'info' => __('Information', 'wp-seopress'),
|
737 |
],
|
738 |
'link' => [
|
739 |
+
'en' => 'https://wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform',
|
740 |
+
'title' => __('Rate us!', 'wp-seopress'),
|
741 |
+
'external' => true,
|
742 |
],
|
743 |
+
'icon' => 'dashicons-thumbs-up',
|
744 |
'deleteable' => true,
|
745 |
];
|
746 |
seopress_notification($args);
|
747 |
}
|
748 |
+
if ('1' == get_option('page_comments')) {
|
749 |
+
function seopress_get_hidden_notices_divide_comments_option()
|
750 |
+
{
|
751 |
+
$seopress_get_hidden_notices_divide_comments_option = get_option('seopress_notices');
|
752 |
+
if (! empty($seopress_get_hidden_notices_divide_comments_option)) {
|
753 |
+
foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value) {
|
754 |
+
$options[$key] = $seopress_get_hidden_notices_divide_comments_value;
|
755 |
+
}
|
756 |
+
if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
|
757 |
+
return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
|
758 |
+
}
|
759 |
+
}
|
760 |
}
|
761 |
+
if ('1' != seopress_get_hidden_notices_divide_comments_option()) {
|
762 |
+
$args = [
|
763 |
+
'id' => 'notice-divide-comments',
|
764 |
+
'title' => __('Break comments into pages is ON!', 'wp-seopress'),
|
765 |
+
'desc' => __('Enabling this option will create duplicate content for each article beyond x comments. This can have a disastrous effect by creating a large number of poor quality pages, and slowing the Google bot unnecessarily, so your ranking in search results.', 'wp-seopress'),
|
766 |
+
'impact' => [
|
767 |
+
'high' => __('High impact', 'wp-seopress'),
|
768 |
+
],
|
769 |
+
'link' => [
|
770 |
+
'en' => admin_url('options-discussion.php'),
|
771 |
+
'title' => __('Disable this!', 'wp-seopress'),
|
772 |
+
'external' => false,
|
773 |
+
],
|
774 |
+
'icon' => 'dashicons-admin-comments',
|
775 |
+
'deleteable' => true,
|
776 |
+
];
|
777 |
+
seopress_notification($args);
|
778 |
}
|
779 |
}
|
780 |
+
if (get_option('posts_per_page') < '16') {
|
781 |
+
function seopress_get_hidden_notices_posts_number_option()
|
782 |
+
{
|
783 |
+
$seopress_get_hidden_notices_posts_number_option = get_option('seopress_notices');
|
784 |
+
if (! empty($seopress_get_hidden_notices_posts_number_option)) {
|
785 |
+
foreach ($seopress_get_hidden_notices_posts_number_option as $key => $seopress_get_hidden_notices_posts_number_value) {
|
786 |
+
$options[$key] = $seopress_get_hidden_notices_posts_number_value;
|
787 |
+
}
|
788 |
+
if (isset($seopress_get_hidden_notices_posts_number_option['notice-posts-number'])) {
|
789 |
+
return $seopress_get_hidden_notices_posts_number_option['notice-posts-number'];
|
790 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
791 |
}
|
792 |
}
|
793 |
+
if ('1' != seopress_get_hidden_notices_posts_number_option()) {
|
794 |
+
$args = [
|
795 |
+
'id' => 'notice-posts-number',
|
796 |
+
'title' => __('Display more posts per page on homepage and archives', 'wp-seopress'),
|
797 |
+
'desc' => __('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links.', 'wp-seopress'),
|
798 |
+
'impact' => [
|
799 |
+
'medium' => __('Medium impact', 'wp-seopress'),
|
800 |
+
],
|
801 |
+
'link' => [
|
802 |
+
'en' => admin_url('options-reading.php'),
|
803 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
804 |
+
'external' => false,
|
805 |
+
],
|
806 |
+
'deleteable' => true,
|
807 |
+
];
|
808 |
+
seopress_notification($args);
|
809 |
+
}
|
810 |
}
|
811 |
+
if ('1' != seopress_xml_sitemap_general_enable_option()) {
|
812 |
$args = [
|
813 |
+
'id' => 'notice-xml-sitemaps',
|
814 |
+
'title' => __('You don\'t have an XML Sitemap!', 'wp-seopress'),
|
815 |
+
'desc' => __('XML Sitemaps are useful to facilitate the crawling of your content by search engine robots. Indirectly, this can benefit your ranking by reducing the crawl bugdet.', 'wp-seopress'),
|
816 |
'impact' => [
|
817 |
+
'medium' => __('Medium impact', 'wp-seopress'),
|
818 |
],
|
819 |
'link' => [
|
820 |
+
'en' => admin_url('admin.php?page=seopress-xml-sitemap'),
|
821 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
822 |
'external' => false,
|
823 |
],
|
824 |
+
'icon' => 'dashicons-warning',
|
825 |
+
'deleteable' => false,
|
826 |
];
|
827 |
seopress_notification($args);
|
828 |
}
|
829 |
+
function seopress_get_hidden_notices_google_business_option()
|
|
|
|
|
830 |
{
|
831 |
+
$seopress_get_hidden_notices_google_business_option = get_option('seopress_notices');
|
832 |
+
if (! empty($seopress_get_hidden_notices_google_business_option)) {
|
833 |
+
foreach ($seopress_get_hidden_notices_google_business_option as $key => $seopress_get_hidden_notices_google_business_value) {
|
834 |
+
$options[$key] = $seopress_get_hidden_notices_google_business_value;
|
835 |
}
|
836 |
+
if (isset($seopress_get_hidden_notices_google_business_option['notice-google-business'])) {
|
837 |
+
return $seopress_get_hidden_notices_google_business_option['notice-google-business'];
|
838 |
}
|
839 |
}
|
840 |
}
|
841 |
+
if ('1' != seopress_get_hidden_notices_google_business_option()) {
|
842 |
$args = [
|
843 |
+
'id' => 'notice-google-business',
|
844 |
+
'title' => __('Do you have a Google My Business page? It\'s free!', 'wp-seopress'),
|
845 |
+
'desc' => __('Local Business websites should have a My Business page to improve visibility in search results. Click on the cross on the right to delete this notification if you are not concerned.', 'wp-seopress'),
|
846 |
'impact' => [
|
847 |
+
'high' => __('High impact', 'wp-seopress'),
|
848 |
],
|
849 |
'link' => [
|
850 |
+
'en' => 'https://www.google.com/business/go/',
|
851 |
+
'title' => __('Create your page now!', 'wp-seopress'),
|
852 |
+
'external' => true,
|
853 |
],
|
854 |
'deleteable' => true,
|
855 |
];
|
856 |
seopress_notification($args);
|
857 |
}
|
858 |
+
function seopress_get_hidden_notices_search_console_option()
|
859 |
+
{
|
860 |
+
$seopress_get_hidden_notices_search_console_option = get_option('seopress_notices');
|
861 |
+
if (! empty($seopress_get_hidden_notices_search_console_option)) {
|
862 |
+
foreach ($seopress_get_hidden_notices_search_console_option as $key => $seopress_get_hidden_notices_search_console_value) {
|
863 |
+
$options[$key] = $seopress_get_hidden_notices_search_console_value;
|
864 |
+
}
|
865 |
+
if (isset($seopress_get_hidden_notices_search_console_option['notice-search-console'])) {
|
866 |
+
return $seopress_get_hidden_notices_search_console_option['notice-search-console'];
|
867 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
868 |
}
|
869 |
}
|
870 |
+
function seopress_get_google_site_verification_option()
|
871 |
+
{
|
872 |
+
$seopress_get_google_site_verification_option = get_option('seopress_advanced_option_name');
|
873 |
+
if (! empty($seopress_get_google_site_verification_option)) {
|
874 |
+
foreach ($seopress_get_google_site_verification_option as $key => $seopress_get_google_site_verification_value) {
|
875 |
+
$options[$key] = $seopress_get_google_site_verification_value;
|
876 |
+
}
|
877 |
+
if (isset($seopress_get_google_site_verification_option['seopress_advanced_advanced_google'])) {
|
878 |
+
return $seopress_get_google_site_verification_option['seopress_advanced_advanced_google'];
|
879 |
+
}
|
880 |
}
|
881 |
}
|
882 |
+
if ('1' != seopress_get_hidden_notices_search_console_option() && '' == seopress_get_google_site_verification_option()) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
883 |
$args = [
|
884 |
+
'id' => 'notice-search-console',
|
885 |
+
'title' => __('Add your site to Google. It\'s free!', 'wp-seopress'),
|
886 |
+
'desc' => __('Is your brand new site online? So reference it as quickly as possible on Google to get your first visitors via Google Search Console. Already the case? Click on the cross on the right to remove this alert.', 'wp-seopress'),
|
887 |
'impact' => [
|
888 |
'high' => __('High impact', 'wp-seopress'),
|
889 |
],
|
890 |
'link' => [
|
891 |
+
'en' => 'https://www.google.com/webmasters/tools/home',
|
892 |
+
'title' => __('Add your site to Search Console!', 'wp-seopress'),
|
893 |
+
'external' => true,
|
894 |
],
|
895 |
+
'deleteable' => true,
|
|
|
896 |
];
|
897 |
seopress_notification($args);
|
898 |
}
|
899 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
900 |
+
if (function_exists('seopress_rich_snippets_enable_option') && '1' != seopress_rich_snippets_enable_option()) {
|
901 |
+
$args = [
|
902 |
+
'id' => 'notice-schemas-metabox',
|
903 |
+
'title' => __('Structured data types is not correctly enabled', 'wp-seopress'),
|
904 |
+
'desc' => __('Please enable <strong>Structured Data Types metabox for your posts, pages and custom post types</strong> option in order to use automatic and manual schemas. (SEO > PRO > Structured Data Types (schema.org)', 'wp-seopress'),
|
905 |
+
'impact' => [
|
906 |
+
'high' => __('High impact', 'wp-seopress'),
|
907 |
+
],
|
908 |
+
'link' => [
|
909 |
+
'en' => esc_url(admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets')),
|
910 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
911 |
+
'external' => false,
|
912 |
+
],
|
913 |
+
'icon' => 'dashicons-warning',
|
914 |
+
'deleteable' => false,
|
915 |
+
];
|
916 |
+
seopress_notification($args);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
917 |
}
|
918 |
}
|
919 |
+
if ('valid' != get_option('seopress_pro_license_status') && is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
920 |
$args = [
|
921 |
+
'id' => 'notice-license',
|
922 |
+
'title' => __('You have to enter your licence key to get updates and support', 'wp-seopress'),
|
923 |
+
'desc' => __('Please activate the SEOPress PRO license key to automatically receive updates to guarantee you the best user experience possible.', 'wp-seopress'),
|
924 |
'impact' => [
|
925 |
+
'info' => __('License', 'wp-seopress'),
|
926 |
],
|
927 |
'link' => [
|
928 |
+
'en' => admin_url('admin.php?page=seopress-license'),
|
929 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
930 |
+
'external' => false,
|
|
|
931 |
],
|
932 |
+
'icon' => 'dashicons-admin-network',
|
933 |
+
'deleteable' => false,
|
934 |
];
|
935 |
seopress_notification($args);
|
936 |
}
|
937 |
+
if (! is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
938 |
+
function seopress_get_hidden_notices_go_pro_option()
|
939 |
+
{
|
940 |
+
$seopress_get_hidden_notices_go_pro_option = get_option('seopress_notices');
|
941 |
+
if (! empty($seopress_get_hidden_notices_go_pro_option)) {
|
942 |
+
foreach ($seopress_get_hidden_notices_go_pro_option as $key => $seopress_get_hidden_notices_go_pro_value) {
|
943 |
+
$options[$key] = $seopress_get_hidden_notices_go_pro_value;
|
944 |
+
}
|
945 |
+
if (isset($seopress_get_hidden_notices_go_pro_option['notice-go-pro'])) {
|
946 |
+
return $seopress_get_hidden_notices_go_pro_option['notice-go-pro'];
|
947 |
+
}
|
948 |
+
}
|
949 |
+
}
|
950 |
+
if ('1' != seopress_get_hidden_notices_go_pro_option() && '' == seopress_get_hidden_notices_go_pro_option()) {
|
951 |
+
$args = [
|
952 |
+
'id' => 'notice-go-pro',
|
953 |
+
'title' => __('Take your SEO to the next level with SEOPress PRO!', 'wp-seopress'),
|
954 |
+
'desc' => __('The PRO version of SEOPress allows you to easily manage your structured data (schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO for WooCommerce, gain productivity with our import / export tool from a CSV of your metadata and so much more.', 'wp-seopress'),
|
955 |
+
'impact' => [
|
956 |
+
'info' => __('PRO', 'wp-seopress'),
|
957 |
+
],
|
958 |
+
'link' => [
|
959 |
+
'fr' => 'https://www.seopress.org/fr?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard',
|
960 |
+
'en' => 'https://www.seopress.org/?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard',
|
961 |
+
'title' => __('Upgrade now!', 'wp-seopress'),
|
962 |
+
'external' => true,
|
963 |
+
],
|
964 |
+
'deleteable' => true,
|
965 |
+
];
|
966 |
+
seopress_notification($args);
|
967 |
+
}
|
968 |
+
}
|
969 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
970 |
+
function seopress_get_hidden_notices_robots_txt_option()
|
971 |
+
{
|
972 |
+
$options = get_option('seopress_notices');
|
973 |
+
if (empty($options)) {
|
974 |
+
return;
|
975 |
+
}
|
976 |
+
if (!isset($options['notice-robots-txt'])) {
|
977 |
+
return;
|
978 |
+
}
|
979 |
+
|
980 |
+
return $options['notice-robots-txt'];
|
981 |
+
}
|
982 |
+
|
983 |
+
function seopress_get_hidden_notices_robots_txt_valid()
|
984 |
+
{
|
985 |
+
$options = get_option('seopress_notices');
|
986 |
+
if (empty($options)) {
|
987 |
+
return;
|
988 |
+
}
|
989 |
+
if (!isset($options['notice-robots-txt-valid'])) {
|
990 |
+
return;
|
991 |
+
}
|
992 |
+
|
993 |
+
return $options['notice-robots-txt-valid'];
|
994 |
+
}
|
995 |
+
|
996 |
+
if(file_exists(ABSPATH . 'robots.txt') && '1' !== seopress_get_hidden_notices_robots_txt_option() && empty(seopress_get_hidden_notices_robots_txt_option())){
|
997 |
+
|
998 |
+
$args = [
|
999 |
+
'id' => 'notice-robots-txt',
|
1000 |
+
'title' => __('A physical robots.txt file has been found', 'wp-seopress'),
|
1001 |
+
'desc' => __('A robots.txt file already exists at the root of your site. We invite you to remove it so SEOPress can handle it virtually.', 'wp-seopress'),
|
1002 |
+
'impact' => [
|
1003 |
+
'high' => __('High impact', 'wp-seopress'),
|
1004 |
+
],
|
1005 |
+
'deleteable' => true,
|
1006 |
+
];
|
1007 |
+
seopress_notification($args);
|
1008 |
+
}
|
1009 |
+
|
1010 |
+
try {
|
1011 |
+
$contentRobotsTxt = @file_get_contents(site_url('robots.txt'));
|
1012 |
+
if(!empty($contentRobotsTxt)){
|
1013 |
+
$contentRobotsTxt = explode("\n", $contentRobotsTxt);
|
1014 |
+
|
1015 |
+
$checkDisallowAfter = false;
|
1016 |
+
$validRobotsTxt = true;
|
1017 |
+
foreach($contentRobotsTxt as $line){
|
1018 |
+
if(strpos($line, 'User-agent:') !== false && strpos($line, '*') !== false){
|
1019 |
+
$checkDisallowAfter = true;
|
1020 |
+
}
|
1021 |
+
|
1022 |
+
if(trim($line) === 'Disallow: /' && $checkDisallowAfter){
|
1023 |
+
$validRobotsTxt = false;
|
1024 |
+
}
|
1025 |
+
}
|
1026 |
+
|
1027 |
+
if(!$validRobotsTxt && '1' !== seopress_get_hidden_notices_robots_txt_valid() && empty(seopress_get_hidden_notices_robots_txt_valid())){
|
1028 |
+
$args = [
|
1029 |
+
'id' => 'notice-robots-txt-valid',
|
1030 |
+
'title' => __('Your site is not indexable!', 'wp-seopress'),
|
1031 |
+
'desc' => __('Your robots.txt file contains a rule that prevents search engines to index your all site: <code>Disallow: /</code>', 'wp-seopress'),
|
1032 |
+
'impact' => [
|
1033 |
+
'high' => __('High impact', 'wp-seopress'),
|
1034 |
+
],
|
1035 |
+
'link' => [
|
1036 |
+
'en' => admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_robots'),
|
1037 |
+
'title' => __('Fix this!', 'wp-seopress'),
|
1038 |
+
'external' => false,
|
1039 |
+
],
|
1040 |
+
'deleteable' => true,
|
1041 |
+
];
|
1042 |
+
seopress_notification($args);
|
1043 |
+
}
|
1044 |
+
}
|
1045 |
+
|
1046 |
+
|
1047 |
+
} catch (\Exception $e) {
|
1048 |
+
|
1049 |
+
}
|
1050 |
+
}
|
1051 |
+
?>
|
1052 |
+
</div>
|
1053 |
+
<!--#seopress-notifications-center-->
|
1054 |
<?php }
|
1055 |
+
}
|
@@ -4,111 +4,115 @@
|
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
|
|
|
|
|
|
7 |
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
17 |
}
|
18 |
}
|
19 |
-
}
|
20 |
|
21 |
-
|
22 |
-
?>
|
23 |
|
24 |
-
<div id="notice-tasks-alert" class="seopress-card">
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
39 |
</div>
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
</
|
51 |
-
|
52 |
-
<?php
|
53 |
-
}
|
54 |
-
$done = '';
|
55 |
-
$options = get_option('seopress_xml_sitemap_option_name');
|
56 |
-
$check = isset($options['seopress_xml_sitemap_general_enable']);
|
57 |
-
if ('1' == $check) {
|
58 |
-
$done = 'done';
|
59 |
}
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
} ?>
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
} ?>
|
102 |
-
|
103 |
-
|
104 |
-
class="seopress-item-inner check <?php echo $done; ?>">
|
105 |
-
<?php _e('Add Structured Data Types to increase visibility in SERPs', 'wp-seopress'); ?>
|
106 |
-
</a>
|
107 |
-
</li>
|
108 |
-
<?php
|
109 |
-
} ?>
|
110 |
-
</ul>
|
111 |
</div>
|
112 |
-
</div>
|
113 |
|
114 |
<?php }
|
|
4 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
5 |
exit;
|
6 |
}
|
7 |
+
if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
|
8 |
+
//do nothing
|
9 |
+
} else {
|
10 |
|
11 |
+
function seopress_get_hidden_notices_tasks_option()
|
12 |
+
{
|
13 |
+
$seopress_get_hidden_notices_tasks_option = get_option('seopress_notices');
|
14 |
+
if (! empty($seopress_get_hidden_notices_tasks_option)) {
|
15 |
+
foreach ($seopress_get_hidden_notices_tasks_option as $key => $seopress_get_hidden_notices_tasks_value) {
|
16 |
+
$options[$key] = $seopress_get_hidden_notices_tasks_value;
|
17 |
+
}
|
18 |
+
if (isset($seopress_get_hidden_notices_tasks_option['notice-tasks'])) {
|
19 |
+
return $seopress_get_hidden_notices_tasks_option['notice-tasks'];
|
20 |
+
}
|
21 |
}
|
22 |
}
|
|
|
23 |
|
24 |
+
if ('1' != seopress_get_hidden_notices_tasks_option()) {
|
25 |
+
?>
|
26 |
|
27 |
+
<div id="notice-tasks-alert" class="seopress-card">
|
28 |
+
<div class="seopress-card-title">
|
29 |
+
<h2><?php _e('Get ready to improve your SEO', 'wp-seopress'); ?>
|
30 |
+
</h2>
|
31 |
|
32 |
+
<span class="seopress-item-toggle-options"></span>
|
33 |
+
<div class="seopress-card-popover">
|
34 |
+
<?php
|
35 |
+
$options = get_option('seopress_dashboard_option_name');
|
36 |
+
$value = isset($options['hide_tasks']) ? esc_attr($options['hide_tasks']) : 5;
|
37 |
+
?>
|
38 |
|
39 |
+
<button id="notice-tasks" name="notice-tasks" data-notice="notice-tasks" type="submit" class="btn btnSecondary">
|
40 |
+
<?php _e('Hide this', 'wp-seopress'); ?>
|
41 |
+
</button>
|
42 |
+
</div>
|
43 |
</div>
|
44 |
+
<div class="seopress-card-content">
|
45 |
+
<ul class="seopress-list-items" role="menu">
|
46 |
+
<?php $done = '';
|
47 |
+
if ('valid' === get_option('seopress_pro_license_status') && is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) {
|
48 |
+
$done = 'done'; ?>
|
49 |
+
<li class="seopress-item has-action seopress-item-inner">
|
50 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-license'); ?>"
|
51 |
+
class="seopress-item-inner check <?php echo $done; ?>">
|
52 |
+
<?php _e('Activate your license key', 'wp-seopress'); ?>
|
53 |
+
</a>
|
54 |
+
</li>
|
55 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
+
$done = '';
|
58 |
+
$options = get_option('seopress_xml_sitemap_option_name');
|
59 |
+
$check = isset($options['seopress_xml_sitemap_general_enable']);
|
60 |
+
if ('1' == $check) {
|
61 |
+
$done = 'done';
|
62 |
+
}
|
63 |
+
?>
|
64 |
+
<li class="seopress-item has-action seopress-item-inner">
|
65 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-xml-sitemap'); ?>"
|
66 |
+
class="seopress-item-inner check <?php echo $done; ?>">
|
67 |
+
<?php _e('Generate XML sitemaps', 'wp-seopress'); ?>
|
68 |
+
</a>
|
69 |
+
</li>
|
70 |
+
<?php $done = '';
|
71 |
+
$options = get_option('seopress_social_option_name');
|
72 |
+
$check = isset($options['seopress_social_facebook_og']);
|
73 |
+
if ('1' == $check) {
|
74 |
+
$done = 'done';
|
75 |
+
}
|
76 |
+
?>
|
77 |
+
<li class="seopress-item has-action seopress-item-inner">
|
78 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-social'); ?>"
|
79 |
+
class="seopress-item-inner check <?php echo $done; ?>">
|
80 |
+
<?php _e('Be social', 'wp-seopress'); ?>
|
81 |
+
</a>
|
82 |
+
</li>
|
83 |
+
<?php
|
84 |
+
$done = '';
|
85 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
86 |
+
if ('1' === seopress_get_toggle_option('local-business')) {
|
87 |
+
$done = 'done';
|
88 |
+
} ?>
|
89 |
+
<li class="seopress-item has-action seopress-item-inner">
|
90 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_local_business'); ?>"
|
91 |
+
class="seopress-item-inner check <?php echo $done; ?>">
|
92 |
+
<?php _e('Improve Local SEO', 'wp-seopress'); ?>
|
93 |
+
</a>
|
94 |
+
</li>
|
95 |
+
<?php
|
96 |
} ?>
|
97 |
+
<?php
|
98 |
+
$done = '';
|
99 |
+
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
100 |
+
$options = get_option('seopress_pro_option_name');
|
101 |
+
$check = isset($options['seopress_rich_snippets_enable']);
|
102 |
+
if ('1' === seopress_get_toggle_option('rich-snippets') && '1' == $check) {
|
103 |
+
$done = 'done';
|
104 |
+
} ?>
|
105 |
+
<li class="seopress-item has-action seopress-item-inner">
|
106 |
+
<a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets'); ?>"
|
107 |
+
class="seopress-item-inner check <?php echo $done; ?>">
|
108 |
+
<?php _e('Add Structured Data Types to increase visibility in SERPs', 'wp-seopress'); ?>
|
109 |
+
</a>
|
110 |
+
</li>
|
111 |
+
<?php
|
112 |
} ?>
|
113 |
+
</ul>
|
114 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
</div>
|
|
|
116 |
|
117 |
<?php }
|
118 |
+
}
|
@@ -568,7 +568,7 @@ function seopress_advanced_appearance_seo_tools_callback() {
|
|
568 |
<?php } ?>
|
569 |
value="1"/>
|
570 |
|
571 |
-
<?php _e('Hide
|
572 |
|
573 |
<?php if (isset($options['seopress_advanced_appearance_seo_tools'])) {
|
574 |
esc_attr($options['seopress_advanced_appearance_seo_tools']);
|
568 |
<?php } ?>
|
569 |
value="1"/>
|
570 |
|
571 |
+
<?php _e('Hide Site Overview in SEO Dashboard page', 'wp-seopress'); ?></label>
|
572 |
|
573 |
<?php if (isset($options['seopress_advanced_appearance_seo_tools'])) {
|
574 |
esc_attr($options['seopress_advanced_appearance_seo_tools']);
|
@@ -614,7 +614,7 @@ function seopress_google_analytics_ads_callback() {
|
|
614 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_ads]" placeholder="' . esc_html__('Enter your Google Ads conversion ID (eg: AW-123456789)', 'wp-seopress') . '" value="%s" aria-label="' . __('AW-XXXXXXXXX', 'wp-seopress') . '"/>',
|
615 |
esc_html($check)); ?>
|
616 |
<p class="description">
|
617 |
-
<a class="seopress-help" href="
|
618 |
<?php _e('Learn how to find your Google Ads Conversion ID', 'wp-seopress'); ?>
|
619 |
</a>
|
620 |
<span class="seopress-help dashicons dashicons-external"></span>
|
614 |
'<input type="text" name="seopress_google_analytics_option_name[seopress_google_analytics_ads]" placeholder="' . esc_html__('Enter your Google Ads conversion ID (eg: AW-123456789)', 'wp-seopress') . '" value="%s" aria-label="' . __('AW-XXXXXXXXX', 'wp-seopress') . '"/>',
|
615 |
esc_html($check)); ?>
|
616 |
<p class="description">
|
617 |
+
<a class="seopress-help" href="<?php echo $docs['analytics']['gads']; ?>" target="_blank">
|
618 |
<?php _e('Learn how to find your Google Ads Conversion ID', 'wp-seopress'); ?>
|
619 |
</a>
|
620 |
<span class="seopress-help dashicons dashicons-external"></span>
|
@@ -344,8 +344,8 @@ value="1"/>
|
|
344 |
|
345 |
function seopress_social_facebook_img_cpt_callback()
|
346 |
{
|
347 |
-
|
348 |
-
|
349 |
unset($post_types['post'], $post_types['page']);
|
350 |
|
351 |
if (! empty($post_types)) {
|
344 |
|
345 |
function seopress_social_facebook_img_cpt_callback()
|
346 |
{
|
347 |
+
$post_types = seopress_get_service('WordPressData')->getPostTypes();
|
348 |
+
if (! empty($post_types)) {
|
349 |
unset($post_types['post'], $post_types['page']);
|
350 |
|
351 |
if (! empty($post_types)) {
|
@@ -85,7 +85,8 @@ function seopress_titles_single_titles_callback()
|
|
85 |
|
86 |
$docs = seopress_get_docs_links();
|
87 |
|
88 |
-
|
|
|
89 |
?>
|
90 |
<h3>
|
91 |
<?php echo $seopress_cpt_value->labels->name; ?>
|
@@ -790,7 +791,8 @@ function seopress_titles_archives_titles_callback()
|
|
790 |
{
|
791 |
$options = get_option('seopress_titles_option_name');
|
792 |
|
793 |
-
|
|
|
794 |
if (! in_array($seopress_cpt_key, ['post', 'page'])) {
|
795 |
$check = isset($options['seopress_titles_archive_titles'][$seopress_cpt_key]['title']) ? $options['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] : null; ?>
|
796 |
<h3><?php echo $seopress_cpt_value->labels->name; ?>
|
85 |
|
86 |
$docs = seopress_get_docs_links();
|
87 |
|
88 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
89 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
90 |
?>
|
91 |
<h3>
|
92 |
<?php echo $seopress_cpt_value->labels->name; ?>
|
791 |
{
|
792 |
$options = get_option('seopress_titles_option_name');
|
793 |
|
794 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
795 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
796 |
if (! in_array($seopress_cpt_key, ['post', 'page'])) {
|
797 |
$check = isset($options['seopress_titles_archive_titles'][$seopress_cpt_key]['title']) ? $options['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] : null; ?>
|
798 |
<h3><?php echo $seopress_cpt_value->labels->name; ?>
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! defined('ABSPATH')) {
|
4 |
+
exit;
|
5 |
+
}
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Automatically ping Google / Bing daily for XML sitemaps
|
9 |
+
*
|
10 |
+
* @since 5.3.0
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
function seopress_xml_sitemaps_ping_cron_action() {
|
14 |
+
|
15 |
+
//If site is set to noindex globally
|
16 |
+
if ('1' === seopress_global_noindex_option() || '0' === get_option('blog_public')) {
|
17 |
+
return;
|
18 |
+
}
|
19 |
+
//Check if XML sitemaps is enabled
|
20 |
+
if ('1' !== seopress_xml_sitemap_general_enable_option() || '1' !== seopress_get_toggle_option('xml-sitemap')) {
|
21 |
+
return;
|
22 |
+
}
|
23 |
+
$url = rawurlencode(get_option('home').'/sitemaps.xml/');
|
24 |
+
|
25 |
+
$url = apply_filters( 'seopress_sitemaps_xml_ping_url', $url);
|
26 |
+
|
27 |
+
$args = [
|
28 |
+
'blocking' => false,
|
29 |
+
];
|
30 |
+
|
31 |
+
$args = apply_filters( 'seopress_sitemaps_xml_ping_args', $args);
|
32 |
+
|
33 |
+
wp_remote_get('https://www.google.com/ping?sitemap='.$url, $args);
|
34 |
+
wp_remote_get('https://www.bing.com/ping?sitemap='.$url, $args);
|
35 |
+
}
|
36 |
+
add_action('seopress_xml_sitemaps_ping_cron', 'seopress_xml_sitemaps_ping_cron_action');
|
@@ -9,6 +9,7 @@ function seopress_get_docs_links()
|
|
9 |
$docs = [];
|
10 |
$utm = '?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress';
|
11 |
$utm2 = '?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
|
|
|
12 |
|
13 |
if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
|
14 |
$docs = [
|
@@ -17,47 +18,58 @@ function seopress_get_docs_links()
|
|
17 |
'support' => 'https://www.seopress.org/fr/support/' . $utm,
|
18 |
'guides' => 'https://www.seopress.org/fr/support/guides/' . $utm,
|
19 |
'faq' => 'https://www.seopress.org/fr/support/faq/' . $utm,
|
20 |
-
'insights' => 'https://www.seopress.org/insights/' . $utm2,
|
21 |
'get_started' => [
|
22 |
-
'installation' => ['Installation de SEOPress' => 'https://www.seopress.org/fr/support/guides/debutez-seopress/' . $utm],
|
23 |
-
'license' => ['Activater votre clé de licence pour recevoir les mises à jours automatiques' => 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/' . $utm],
|
24 |
'wizard' => ['Configurez SEOPress en 5 minutes' => 'https://youtu.be/uwgS5zTk0j0' . $utm],
|
25 |
-
'migration' => ['Migrer vos métadonnées SEO depuis d\'autres extensions' => 'https://www.seopress.org/fr/
|
26 |
-
'sitemaps' => ['Favoriser l\'exploration de votre site WordPress par les robots des moteurs de recherche' => 'https://www.seopress.org/fr/support/guides/activer-sitemap-xml/' . $utm],
|
27 |
-
'content' => ['Optimiser un contenu de A à Z avec SEOPress' => 'https://www.seopress.org/fr/
|
28 |
-
'analytics' => ['Mesurez votre trafic avec Google Analytics' => 'https://www.seopress.org/fr/support/guides/debutez-google-analytics/' . $utm],
|
29 |
-
'search_console' => ['Ajouter votre site WordPress à l’index de Google' => 'https://www.seopress.org/fr/support/guides/google-search-console/' . $utm],
|
30 |
'social' => ['Optimisez votre taux de clics sur les réseaux sociaux' => 'https://www.seopress.org/fr/support/guides/gerer-les-metas-facebook-open-graph-et-twitter-cards/' . $utm],
|
31 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
'titles' => [
|
33 |
'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=fr',
|
34 |
-
'wrong_meta' => 'https://www.seopress.org/fr/support/guides/
|
35 |
],
|
36 |
'sitemaps' => [
|
37 |
'error' => [
|
38 |
-
'blank' => 'https://www.seopress.org/fr/support/guides/xml-
|
39 |
'404' => 'https://www.seopress.org/fr/support/guides/plan-de-site-xml-retourne-erreur-404/' . $utm,
|
40 |
-
'html' => 'https://www.seopress.org/fr/support/guides/exclure-fichiers-xml-xsl-extensions-cache/' . $utm,
|
41 |
],
|
42 |
-
'html' => 'https://www.seopress.org/fr/support/guides/activer-plan-de-site-html/' . $utm,
|
43 |
-
'xml' => 'https://www.seopress.org/fr/support/guides/activer-sitemap-xml/' . $utm,
|
44 |
-
'image' => 'https://www.seopress.org/fr/support/guides/activer-sitemap-xml-images/' . $utm,
|
45 |
-
'video' => 'https://www.seopress.org/fr/support/guides/
|
46 |
],
|
47 |
'social' => [
|
48 |
'og' => 'https://www.seopress.org/fr/support/guides/gerer-les-metas-facebook-open-graph-et-twitter-cards/' . $utm,
|
49 |
],
|
50 |
'analytics' => [
|
51 |
-
'connect' => 'https://www.seopress.org/fr/support/guides/connectez-site-wordpress-a-google-analytics/' . $utm,
|
52 |
-
'custom_dimensions' => 'https://www.seopress.org/fr/support/guides/creer-dimensions-personnalisees-google-analytics/' . $utm,
|
53 |
'custom_tracking' => 'https://www.seopress.org/fr/support/hooks/ajouter-votre-code-de-suivi-personnalise-avec-le-consentement-utilisateur/' . $utm,
|
54 |
'consent_msg' => 'https://www.seopress.org/fr/support/hooks/filtrer-le-message-du-consentement-utilisateur/' . $utm,
|
55 |
'gads' => 'https://www.seopress.org/fr/support/guides/trouver-votre-id-de-conversion-google-ads/' . $utm,
|
56 |
-
'gtm' => 'https://www.seopress.org/fr/support/guides/google-tag-manager-site-wordpress-seopress/' . $utm,
|
57 |
'ecommerce' => 'https://www.seopress.org/fr/support/guides/configurer-le-commerce-electronique-ameliore-pour-google-analytics/' . $utm,
|
|
|
|
|
58 |
],
|
59 |
'compatibility' => [
|
60 |
-
'automatic' => 'https://www.seopress.org/fr/support/guides/generez-automatiquement-
|
61 |
],
|
62 |
'security' => [
|
63 |
'metaboxe_seo' => 'https://www.seopress.org/fr/support/hooks/filtrer-lappel-de-la-metaboxe-seo-par-types-de-contenu/' . $utm,
|
@@ -67,54 +79,66 @@ function seopress_get_docs_links()
|
|
67 |
'google_preview' => [
|
68 |
'authentification' => 'https://www.seopress.org/fr/support/hooks/filtrer-la-requete-distante-google-snippet-preview/' . $utm,
|
69 |
],
|
70 |
-
'bot' => 'https://www.seopress.org/fr/support/guides/detecter-liens-casses/' . $utm,
|
71 |
'lb' => [
|
72 |
-
'eat' => 'https://www.seopress.org/fr/
|
73 |
],
|
74 |
'robots' => [
|
75 |
-
'file' => 'https://www.seopress.org/fr/support/guides/editer-fichier-robots-txt/' . $utm,
|
76 |
],
|
77 |
'breadcrumbs' => [
|
78 |
'sep' => 'https://www.seopress.org/fr/support/hooks/filtrer-le-separateur-du-fil-dariane/' . $utm,
|
79 |
],
|
80 |
'redirects' => [
|
81 |
-
'enable' => 'https://www.seopress.org/fr/support/guides/activer-redirections-301-surveillance-404/' . $utm,
|
82 |
'query' => 'https://www.seopress.org/fr/support/guides/nettoyez-vos-erreurs-404-a-laide-dune-requete-mysql/' . $utm,
|
83 |
],
|
84 |
'schemas' => [
|
85 |
'ebook' => 'https://www.seopress.org/fr/support/ebooks/types-de-donnees-structurees-de-google-schemas/' . $utm,
|
86 |
-
'add' => 'https://www.seopress.org/fr/
|
87 |
-
'faq_acf' => 'https://www.seopress.org/fr/support/guides/schema-faq-automatique-champs-repeteurs-
|
88 |
-
'dynamic' => 'https://www.seopress.org/fr/support/guides/gerez-vos-balises-titres-metas/' . $utm,
|
|
|
|
|
|
|
89 |
],
|
90 |
'tools' => [
|
91 |
'csv_import' => 'https://www.seopress.org/fr/support/guides/importer-metadonnees-csv-seopress-pro/' . $utm,
|
92 |
'csv_export' => 'https://www.seopress.org/fr/support/guides/exporter-vos-metadonnees-vers-un-fichier-csv-avec-seopress-pro/' . $utm,
|
93 |
],
|
94 |
'license' => [
|
95 |
-
'account' => 'https://www.seopress.org/fr/compte/' . $utm,
|
96 |
-
'license_errors' => 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/' . $utm,
|
97 |
],
|
98 |
];
|
99 |
} else {
|
100 |
$docs = [
|
101 |
'website' => 'https://www.seopress.org/' . $utm,
|
102 |
-
'blog' => 'https://www.seopress.org/
|
103 |
'support' => 'https://www.seopress.org/support/' . $utm,
|
104 |
'guides' => 'https://www.seopress.org/support/guides/' . $utm,
|
105 |
'faq' => 'https://www.seopress.org/support/faq/' . $utm,
|
106 |
-
'insights' => 'https://www.seopress.org/insights/' . $utm2,
|
107 |
'get_started' => [
|
108 |
'installation' => [__('Installation of SEOPress', 'wp-seopress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
|
109 |
'license' => [__('Activate your license key to receive automatic updates', 'wp-seopress') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
|
110 |
'wizard' => [__('Configure SEOPress in 5 minutes', 'wp-seopress') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
|
111 |
-
'migration' => [__('Migrate your SEO metadata from other plugins', 'wp-seopress') => 'https://www.seopress.org/migrate-
|
112 |
'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots', 'wp-seopress') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
|
113 |
-
'content' => [__('Optimize content from A to Z with SEOPress', 'wp-seopress') => 'https://www.seopress.org/
|
114 |
'analytics' => [__('Measure your traffic with Google Analytics', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
|
115 |
'search_console' => [__('Add your WordPress site to Google’s index', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
|
116 |
'social' => [__('Optimize your click-through rate on social networks', 'wp-seopress') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
|
117 |
],
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
'titles' => [
|
119 |
'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
|
120 |
'wrong_meta' => 'https://www.seopress.org/support/guides/google-uses-the-wrong-meta-title-meta-description-in-search-results/' . $utm,
|
@@ -141,21 +165,23 @@ function seopress_get_docs_links()
|
|
141 |
'gads' => 'https://www.seopress.org/support/guides/how-to-find-your-google-ads-conversions-id/' . $utm,
|
142 |
'gtm' => 'https://www.seopress.org/support/guides/google-tag-manager-wordpress-seopress/' . $utm,
|
143 |
'ecommerce' => 'https://www.seopress.org/support/guides/how-to-setup-google-enhanced-ecommerce/' . $utm,
|
|
|
|
|
144 |
],
|
145 |
'compatibility' => [
|
146 |
'automatic' => 'https://www.seopress.org/support/guides/generate-automatic-meta-description-from-page-builders/' . $utm,
|
147 |
],
|
148 |
'security' => [
|
149 |
'metaboxe_seo' => 'https://www.seopress.org/support/hooks/filter-seo-metaboxe-call-by-post-type/' . $utm,
|
150 |
-
'metaboxe_ca' => 'https://www.seopress.org/support/hooks/filter-content-analysis-
|
151 |
-
'metaboxe_data_types' => 'https://www.seopress.org/support/hooks/filter-structured-data-types-
|
152 |
],
|
153 |
'google_preview' => [
|
154 |
'authentification' => 'https://www.seopress.org/support/hooks/filter-google-snippet-preview-remote-request/' . $utm,
|
155 |
],
|
156 |
-
'bot' => 'https://www.seopress.org/support/guides/detect-broken-links
|
157 |
'lb' => [
|
158 |
-
'eat' => 'https://www.seopress.org/
|
159 |
],
|
160 |
'robots' => [
|
161 |
'file' => 'https://www.seopress.org/support/guides/edit-robots-txt-file/' . $utm,
|
@@ -169,10 +195,13 @@ function seopress_get_docs_links()
|
|
169 |
],
|
170 |
'schemas' => [
|
171 |
'ebook' => 'https://www.seopress.org/support/ebooks/master-google-structured-data-types-schemas/' . $utm,
|
172 |
-
'add' => 'https://www.seopress.org/
|
173 |
'faq_acf' => 'https://www.seopress.org/support/guides/create-an-automatic-faq-schema-with-acf-repeater-fields/' . $utm,
|
174 |
'dynamic' => 'https://www.seopress.org/support/guides/manage-titles-meta-descriptions/' . $utm,
|
175 |
],
|
|
|
|
|
|
|
176 |
'tools' => [
|
177 |
'csv_import' => 'https://www.seopress.org/support/guides/import-metadata-from-a-csv-file-with-seopress-pro/' . $utm,
|
178 |
'csv_export' => 'https://www.seopress.org/support/guides/export-metadata-from-seopress-to-a-csv-file/' . $utm,
|
9 |
$docs = [];
|
10 |
$utm = '?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress';
|
11 |
$utm2 = '?utm_source=plugin&utm_medium=wizard&utm_campaign=seopress';
|
12 |
+
$utm3 = '?utm_source=plugin&utm_medium=wp-admin-insights&utm_campaign=seopress';
|
13 |
|
14 |
if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
|
15 |
$docs = [
|
18 |
'support' => 'https://www.seopress.org/fr/support/' . $utm,
|
19 |
'guides' => 'https://www.seopress.org/fr/support/guides/' . $utm,
|
20 |
'faq' => 'https://www.seopress.org/fr/support/faq/' . $utm,
|
21 |
+
'insights' => 'https://www.seopress.org/fr/extensions-seo-wordpress/seopress-insights/' . $utm2,
|
22 |
'get_started' => [
|
23 |
+
'installation' => ['Installation de SEOPress' => 'https://www.seopress.org/fr/support/guides/debutez-avec-seopress/' . $utm],
|
24 |
+
'license' => ['Activater votre clé de licence pour recevoir les mises à jours automatiques' => 'https://www.seopress.org/fr/support/guides/activer-votre-licence-seopress-pro-insights/' . $utm],
|
25 |
'wizard' => ['Configurez SEOPress en 5 minutes' => 'https://youtu.be/uwgS5zTk0j0' . $utm],
|
26 |
+
'migration' => ['Migrer vos métadonnées SEO depuis d\'autres extensions' => 'https://www.seopress.org/fr/solutions/migrer-vers-seopress/' . $utm],
|
27 |
+
'sitemaps' => ['Favoriser l\'exploration de votre site WordPress par les robots des moteurs de recherche' => 'https://www.seopress.org/fr/support/guides/activer-le-sitemap-xml/' . $utm],
|
28 |
+
'content' => ['Optimiser un contenu de A à Z avec SEOPress' => 'https://www.seopress.org/fr/support/tutoriels/optimisez-votre-article-wordpress-pour-un-mot-cle/' . $utm],
|
29 |
+
'analytics' => ['Mesurez votre trafic avec Google Analytics' => 'https://www.seopress.org/fr/support/guides/debutez-avec-google-analytics/' . $utm],
|
30 |
+
'search_console' => ['Ajouter votre site WordPress à l’index de Google' => 'https://www.seopress.org/fr/support/guides/ajouter-votre-site-a-google-search-console/' . $utm],
|
31 |
'social' => ['Optimisez votre taux de clics sur les réseaux sociaux' => 'https://www.seopress.org/fr/support/guides/gerer-les-metas-facebook-open-graph-et-twitter-cards/' . $utm],
|
32 |
],
|
33 |
+
'get_started_insights' => [
|
34 |
+
'installation' => ['Activer votre licence SEOPress PRO / Insights' => 'https://www.seopress.org/fr/support/guides/activer-votre-licence-seopress-pro-insights/' . $utm3],
|
35 |
+
'track_kw' => ['Suivez les positions de vos mots clés dans Google avec SEOPress Insights' => 'https://www.seopress.org/fr/support/guides/suivez-les-positions-de-vos-mots-cles-dans-google-avec-seopress-insights/' . $utm3],
|
36 |
+
'track_bl' => ['Surveiller et analyser vos backlinks avec SEOPress Insights' => 'https://www.seopress.org/fr/support/guides/surveiller-et-analyser-vos-backlinks-avec-seopress-insights/' . $utm3],
|
37 |
+
'find_kw' => ['Trouver les bons mots clés pour le référencement de votre site' => 'https://www.seopress.org/fr/support/tutoriels/trouver-les-bons-mots-cles-pour-le-referencement-de-votre-site/' . $utm3],
|
38 |
+
'optimize_kw' => ['Optimisez votre article WordPress pour un mot clé' => 'https://www.seopress.org/fr/support/tutoriels/optimisez-votre-article-wordpress-pour-un-mot-cle/' . $utm3],
|
39 |
+
'audit_bl' => ['Auditer les backlinks de votre site WordPress (dans WordPress)' => 'https://www.seopress.org/fr/support/tutoriels/auditer-les-backlinks-de-votre-site-wordpress-dans-wordpress/' . $utm3],
|
40 |
+
'importance_bl' => ['L’importance des backlinks' => 'https://www.seopress.org/fr/support/tutoriels/limportance-des-backlinks/' . $utm3],
|
41 |
+
],
|
42 |
'titles' => [
|
43 |
'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=fr',
|
44 |
+
'wrong_meta' => 'https://www.seopress.org/fr/support/guides/google-utilise-une-balise-titre-meta-description-incorrecte-dans-les-resultats-de-recherche/' . $utm,
|
45 |
],
|
46 |
'sitemaps' => [
|
47 |
'error' => [
|
48 |
+
'blank' => 'https://www.seopress.org/fr/support/guides/mon-plan-de-site-xml-retourne-une-page-blanche/' . $utm,
|
49 |
'404' => 'https://www.seopress.org/fr/support/guides/plan-de-site-xml-retourne-erreur-404/' . $utm,
|
50 |
+
'html' => 'https://www.seopress.org/fr/support/guides/exclure-les-fichiers-xml-et-xsl-des-extensions-de-cache/' . $utm,
|
51 |
],
|
52 |
+
'html' => 'https://www.seopress.org/fr/support/guides/activer-le-plan-de-site-html/' . $utm,
|
53 |
+
'xml' => 'https://www.seopress.org/fr/support/guides/activer-le-sitemap-xml/' . $utm,
|
54 |
+
'image' => 'https://www.seopress.org/fr/support/guides/activer-le-sitemap-xml-pour-images/' . $utm,
|
55 |
+
'video' => 'https://www.seopress.org/fr/support/guides/activer-le-sitemap-xml-pour-les-videos/' . $utm,
|
56 |
],
|
57 |
'social' => [
|
58 |
'og' => 'https://www.seopress.org/fr/support/guides/gerer-les-metas-facebook-open-graph-et-twitter-cards/' . $utm,
|
59 |
],
|
60 |
'analytics' => [
|
61 |
+
'connect' => 'https://www.seopress.org/fr/support/guides/connectez-votre-site-wordpress-a-google-analytics/' . $utm,
|
62 |
+
'custom_dimensions' => 'https://www.seopress.org/fr/support/guides/creer-des-dimensions-personnalisees-dans-google-analytics/' . $utm,
|
63 |
'custom_tracking' => 'https://www.seopress.org/fr/support/hooks/ajouter-votre-code-de-suivi-personnalise-avec-le-consentement-utilisateur/' . $utm,
|
64 |
'consent_msg' => 'https://www.seopress.org/fr/support/hooks/filtrer-le-message-du-consentement-utilisateur/' . $utm,
|
65 |
'gads' => 'https://www.seopress.org/fr/support/guides/trouver-votre-id-de-conversion-google-ads/' . $utm,
|
66 |
+
'gtm' => 'https://www.seopress.org/fr/support/guides/ajouter-google-tag-manager-a-votre-site-wordpress-avec-seopress/' . $utm,
|
67 |
'ecommerce' => 'https://www.seopress.org/fr/support/guides/configurer-le-commerce-electronique-ameliore-pour-google-analytics/' . $utm,
|
68 |
+
'events' => 'https://www.seopress.org/fr/support/guides/suivre-vos-telechargements-liens-affilies-sortants-et-externes-google-analytics/' . $utm,
|
69 |
+
'ga4_property' => 'https://support.google.com/analytics/answer/9744165?hl=en&ref_topic=9303319#analyticsjs',
|
70 |
],
|
71 |
'compatibility' => [
|
72 |
+
'automatic' => 'https://www.seopress.org/fr/support/guides/generez-automatiquement-les-metas-descriptions-depuis-divi-oxygen-builder-fusion-builder/' . $utm,
|
73 |
],
|
74 |
'security' => [
|
75 |
'metaboxe_seo' => 'https://www.seopress.org/fr/support/hooks/filtrer-lappel-de-la-metaboxe-seo-par-types-de-contenu/' . $utm,
|
79 |
'google_preview' => [
|
80 |
'authentification' => 'https://www.seopress.org/fr/support/hooks/filtrer-la-requete-distante-google-snippet-preview/' . $utm,
|
81 |
],
|
82 |
+
'bot' => 'https://www.seopress.org/fr/support/guides/detecter-les-liens-casses-dans-vos-contenus/' . $utm,
|
83 |
'lb' => [
|
84 |
+
'eat' => 'https://www.seopress.org/fr/newsroom/reportage/optimiser-votre-site-wordpress-pour-google-eat/' . $utm,
|
85 |
],
|
86 |
'robots' => [
|
87 |
+
'file' => 'https://www.seopress.org/fr/support/guides/editer-votre-fichier-robots-txt/' . $utm,
|
88 |
],
|
89 |
'breadcrumbs' => [
|
90 |
'sep' => 'https://www.seopress.org/fr/support/hooks/filtrer-le-separateur-du-fil-dariane/' . $utm,
|
91 |
],
|
92 |
'redirects' => [
|
93 |
+
'enable' => 'https://www.seopress.org/fr/support/guides/activer-les-redirections-301-et-la-surveillance-des-404/' . $utm,
|
94 |
'query' => 'https://www.seopress.org/fr/support/guides/nettoyez-vos-erreurs-404-a-laide-dune-requete-mysql/' . $utm,
|
95 |
],
|
96 |
'schemas' => [
|
97 |
'ebook' => 'https://www.seopress.org/fr/support/ebooks/types-de-donnees-structurees-de-google-schemas/' . $utm,
|
98 |
+
'add' => 'https://www.seopress.org/fr/support/tutoriels/comment-utiliser-les-schemas-dans-votre-site-wordpress-avec-seopress-pro-1/' . $utm,
|
99 |
+
'faq_acf' => 'https://www.seopress.org/fr/support/guides/creer-un-schema-faq-automatique-avec-les-champs-repeteurs-dacf/' . $utm,
|
100 |
+
'dynamic' => 'https://www.seopress.org/fr/support/guides/gerez-vos-balises-titres-et-metas/' . $utm,
|
101 |
+
],
|
102 |
+
'page_speed' => [
|
103 |
+
'cwv' => 'https://www.seopress.org/fr/newsroom/reportage/les-core-web-vitals-et-leurs-effets-sur-le-seo-des-sites-wordpress/' . $utm,
|
104 |
],
|
105 |
'tools' => [
|
106 |
'csv_import' => 'https://www.seopress.org/fr/support/guides/importer-metadonnees-csv-seopress-pro/' . $utm,
|
107 |
'csv_export' => 'https://www.seopress.org/fr/support/guides/exporter-vos-metadonnees-vers-un-fichier-csv-avec-seopress-pro/' . $utm,
|
108 |
],
|
109 |
'license' => [
|
110 |
+
'account' => 'https://www.seopress.org/fr/mon-compte/' . $utm,
|
111 |
+
'license_errors' => 'https://www.seopress.org/fr/support/guides/activer-votre-licence-seopress-pro-insights/' . $utm,
|
112 |
],
|
113 |
];
|
114 |
} else {
|
115 |
$docs = [
|
116 |
'website' => 'https://www.seopress.org/' . $utm,
|
117 |
+
'blog' => 'https://www.seopress.org/newsroom/' . $utm,
|
118 |
'support' => 'https://www.seopress.org/support/' . $utm,
|
119 |
'guides' => 'https://www.seopress.org/support/guides/' . $utm,
|
120 |
'faq' => 'https://www.seopress.org/support/faq/' . $utm,
|
121 |
+
'insights' => 'https://www.seopress.org/wordpress-seo-plugins/insights/' . $utm2,
|
122 |
'get_started' => [
|
123 |
'installation' => [__('Installation of SEOPress', 'wp-seopress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
|
124 |
'license' => [__('Activate your license key to receive automatic updates', 'wp-seopress') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
|
125 |
'wizard' => [__('Configure SEOPress in 5 minutes', 'wp-seopress') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
|
126 |
+
'migration' => [__('Migrate your SEO metadata from other plugins', 'wp-seopress') => 'https://www.seopress.org/solutions/migrate-from/' . $utm],
|
127 |
'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots', 'wp-seopress') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
|
128 |
+
'content' => [__('Optimize content from A to Z with SEOPress', 'wp-seopress') => 'https://www.seopress.org/support/tutorials/optimize-wordpress-posts-for-a-keyword/' . $utm],
|
129 |
'analytics' => [__('Measure your traffic with Google Analytics', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
|
130 |
'search_console' => [__('Add your WordPress site to Google’s index', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
|
131 |
'social' => [__('Optimize your click-through rate on social networks', 'wp-seopress') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
|
132 |
],
|
133 |
+
'get_started_insights' => [
|
134 |
+
'installation' => ['Activate your SEOPress Insights license' => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm3],
|
135 |
+
'track_kw' => ['Track your keyword rankings in Google with SEOPress Insights' => 'https://www.seopress.org/support/guides/track-keyword-rankings-google-seopress-insights/' . $utm3],
|
136 |
+
'track_bl' => ['Monitor and analyse your Backlinks with SEOPress Insights' => 'https://www.seopress.org/support/guides/monitor-and-analyse-your-backlinks-with-seopress-insights/' . $utm3],
|
137 |
+
'find_kw' => ['Finding SEO keywords for your WordPress site' => 'https://www.seopress.org/support/tutorials/finding-seo-keywords-for-your-blog/' . $utm3],
|
138 |
+
'optimize_kw' => ['Optimize WordPress posts for a keyword' => 'https://www.seopress.org/support/tutorials/optimize-wordpress-posts-for-a-keyword/' . $utm3],
|
139 |
+
'audit_bl' => ['Audit the backlinks of your WordPress site (in WordPress)' => 'https://www.seopress.org/support/tutorials/audit-the-backlinks-of-your-wordpress-site-in-wordpress/' . $utm3],
|
140 |
+
'importance_bl' => ['The importance of backlinks' => 'https://www.seopress.org/support/tutorials/the-importance-of-backlinks/' . $utm3],
|
141 |
+
],
|
142 |
'titles' => [
|
143 |
'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
|
144 |
'wrong_meta' => 'https://www.seopress.org/support/guides/google-uses-the-wrong-meta-title-meta-description-in-search-results/' . $utm,
|
165 |
'gads' => 'https://www.seopress.org/support/guides/how-to-find-your-google-ads-conversions-id/' . $utm,
|
166 |
'gtm' => 'https://www.seopress.org/support/guides/google-tag-manager-wordpress-seopress/' . $utm,
|
167 |
'ecommerce' => 'https://www.seopress.org/support/guides/how-to-setup-google-enhanced-ecommerce/' . $utm,
|
168 |
+
'events' => 'https://www.seopress.org/support/guides/how-to-track-file-downloads-affiliates-outbound-and-external-links-with-google-analytics/' . $utm,
|
169 |
+
'ga4_property' => 'https://support.google.com/analytics/answer/9744165?hl=en&ref_topic=9303319#analyticsjs',
|
170 |
],
|
171 |
'compatibility' => [
|
172 |
'automatic' => 'https://www.seopress.org/support/guides/generate-automatic-meta-description-from-page-builders/' . $utm,
|
173 |
],
|
174 |
'security' => [
|
175 |
'metaboxe_seo' => 'https://www.seopress.org/support/hooks/filter-seo-metaboxe-call-by-post-type/' . $utm,
|
176 |
+
'metaboxe_ca' => 'https://www.seopress.org/support/hooks/filter-content-analysis-metabox-call-by-post-type/' . $utm,
|
177 |
+
'metaboxe_data_types' => 'https://www.seopress.org/support/hooks/filter-structured-data-types-metabox-call-by-post-type/' . $utm,
|
178 |
],
|
179 |
'google_preview' => [
|
180 |
'authentification' => 'https://www.seopress.org/support/hooks/filter-google-snippet-preview-remote-request/' . $utm,
|
181 |
],
|
182 |
+
'bot' => 'https://www.seopress.org/support/guides/detect-broken-links/' . $utm,
|
183 |
'lb' => [
|
184 |
+
'eat' => 'https://www.seopress.org/newsroom/featured-stories/optimizing-wordpress-sites-for-google-eat/' . $utm,
|
185 |
],
|
186 |
'robots' => [
|
187 |
'file' => 'https://www.seopress.org/support/guides/edit-robots-txt-file/' . $utm,
|
195 |
],
|
196 |
'schemas' => [
|
197 |
'ebook' => 'https://www.seopress.org/support/ebooks/master-google-structured-data-types-schemas/' . $utm,
|
198 |
+
'add' => 'https://www.seopress.org/support/tutorials/how-to-add-schema-to-wordpress-with-seopress-1/' . $utm,
|
199 |
'faq_acf' => 'https://www.seopress.org/support/guides/create-an-automatic-faq-schema-with-acf-repeater-fields/' . $utm,
|
200 |
'dynamic' => 'https://www.seopress.org/support/guides/manage-titles-meta-descriptions/' . $utm,
|
201 |
],
|
202 |
+
'page_speed' => [
|
203 |
+
'cwv' => 'https://www.seopress.org/newsroom/featured-stories/core-web-vitals-and-wordpress-seo/' . $utm,
|
204 |
+
],
|
205 |
'tools' => [
|
206 |
'csv_import' => 'https://www.seopress.org/support/guides/import-metadata-from-a-csv-file-with-seopress-pro/' . $utm,
|
207 |
'csv_export' => 'https://www.seopress.org/support/guides/export-metadata-from-seopress-to-a-csv-file/' . $utm,
|
@@ -403,7 +403,7 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
403 |
<?php _e('Facebook Thumbnail', 'wp-seopress'); ?>
|
404 |
</label>
|
405 |
<input id="seopress_social_fb_img_meta" type="text" name="seopress_social_fb_img"
|
406 |
-
class="components-text-control__input"
|
407 |
placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>"
|
408 |
aria-label="<?php _e('Facebook Thumbnail', 'wp-seopress'); ?>"
|
409 |
value="<?php echo $seopress_social_fb_img; ?>" />
|
@@ -459,11 +459,11 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
459 |
</p>
|
460 |
</div>
|
461 |
<div class="snippet-fb-img"><img src="" width="524" height="274" alt=""
|
462 |
-
aria-label=""
|
463 |
<div class="snippet-fb-img-custom" style="display:none"><img src="" width="524"
|
464 |
-
height="274" alt="" aria-label=""
|
465 |
<div class="snippet-fb-img-default" style="display:none"><img src="" width="524"
|
466 |
-
height="274" alt="" aria-label=""
|
467 |
<div class="facebook-snippet-text">
|
468 |
<div class="snippet-meta">
|
469 |
<div class="snippet-fb-url"></div>
|
@@ -523,7 +523,7 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
523 |
<p>
|
524 |
<label for="seopress_social_twitter_img_meta"><?php _e('Twitter Thumbnail', 'wp-seopress'); ?></label>
|
525 |
<input id="seopress_social_twitter_img_meta" type="text"
|
526 |
-
class="components-text-control__input" name="seopress_social_twitter_img"
|
527 |
placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>"
|
528 |
value="<?php echo $seopress_social_twitter_img; ?>" />
|
529 |
</p>
|
@@ -576,11 +576,11 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
576 |
</p>
|
577 |
</div>
|
578 |
<div class="snippet-twitter-img"><img src="" width="524" height="274" alt=""
|
579 |
-
aria-label=""
|
580 |
<div class="snippet-twitter-img-custom" style="display:none"><img src="" width="600"
|
581 |
-
height="314" alt="" aria-label=""
|
582 |
<div class="snippet-twitter-img-default" style="display:none"><img src=""
|
583 |
-
width="600" height="314" alt="" aria-label=""
|
584 |
|
585 |
<div class="twitter-snippet-text">
|
586 |
<div class="title-desc">
|
@@ -611,7 +611,9 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
611 |
<?php }
|
612 |
}
|
613 |
|
614 |
-
if (array_key_exists('redirect-tab', $seo_tabs)) {
|
|
|
|
|
615 |
<div id="tabs-4">
|
616 |
<p>
|
617 |
<label for="seopress_redirections_enabled_meta" id="seopress_redirections_enabled">
|
@@ -621,6 +623,29 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
621 |
<?php _e('Enable redirection?', 'wp-seopress'); ?>
|
622 |
</label>
|
623 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
624 |
<p>
|
625 |
|
626 |
<label for="seopress_redirections_type"><?php _e('Select a redirection type: ', 'wp-seopress'); ?></label>
|
@@ -646,12 +671,43 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
|
|
646 |
<p>
|
647 |
<label for="seopress_redirections_value_meta"><?php _e('URL redirection', 'wp-seopress'); ?></label>
|
648 |
<input id="seopress_redirections_value_meta" type="text" name="seopress_redirections_value"
|
649 |
-
class="components-text-control__input"
|
650 |
placeholder="<?php esc_html_e('Enter your new URL in absolute (eg: https://www.example.com/)', 'wp-seopress'); ?>"
|
651 |
aria-label="<?php _e('URL redirection', 'wp-seopress'); ?>"
|
652 |
value="<?php echo $seopress_redirections_value; ?>" />
|
653 |
|
654 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
655 |
<?php if ('seopress_404' == $typenow) { ?>
|
656 |
<p>
|
657 |
<label for="seopress_redirections_param_meta"><?php _e('Query parameters', 'wp-seopress'); ?></label>
|
403 |
<?php _e('Facebook Thumbnail', 'wp-seopress'); ?>
|
404 |
</label>
|
405 |
<input id="seopress_social_fb_img_meta" type="text" name="seopress_social_fb_img"
|
406 |
+
class="components-text-control__input seopress_social_fb_img_meta"
|
407 |
placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>"
|
408 |
aria-label="<?php _e('Facebook Thumbnail', 'wp-seopress'); ?>"
|
409 |
value="<?php echo $seopress_social_fb_img; ?>" />
|
459 |
</p>
|
460 |
</div>
|
461 |
<div class="snippet-fb-img"><img src="" width="524" height="274" alt=""
|
462 |
+
aria-label="" /><span class="seopress_social_fb_img_upload"></span></div>
|
463 |
<div class="snippet-fb-img-custom" style="display:none"><img src="" width="524"
|
464 |
+
height="274" alt="" aria-label="" /><span class="seopress_social_fb_img_upload"></span></div>
|
465 |
<div class="snippet-fb-img-default" style="display:none"><img src="" width="524"
|
466 |
+
height="274" alt="" aria-label="" /><span class="seopress_social_fb_img_upload"></span></div>
|
467 |
<div class="facebook-snippet-text">
|
468 |
<div class="snippet-meta">
|
469 |
<div class="snippet-fb-url"></div>
|
523 |
<p>
|
524 |
<label for="seopress_social_twitter_img_meta"><?php _e('Twitter Thumbnail', 'wp-seopress'); ?></label>
|
525 |
<input id="seopress_social_twitter_img_meta" type="text"
|
526 |
+
class="components-text-control__input seopress_social_twitter_img_meta" name="seopress_social_twitter_img"
|
527 |
placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>"
|
528 |
value="<?php echo $seopress_social_twitter_img; ?>" />
|
529 |
</p>
|
576 |
</p>
|
577 |
</div>
|
578 |
<div class="snippet-twitter-img"><img src="" width="524" height="274" alt=""
|
579 |
+
aria-label="" /><span class="seopress_social_twitter_img_upload"></span></div>
|
580 |
<div class="snippet-twitter-img-custom" style="display:none"><img src="" width="600"
|
581 |
+
height="314" alt="" aria-label="" /><span class="seopress_social_twitter_img_upload"></span></div>
|
582 |
<div class="snippet-twitter-img-default" style="display:none"><img src=""
|
583 |
+
width="600" height="314" alt="" aria-label="" /><span class="seopress_social_twitter_img_upload"></span></div>
|
584 |
|
585 |
<div class="twitter-snippet-text">
|
586 |
<div class="title-desc">
|
611 |
<?php }
|
612 |
}
|
613 |
|
614 |
+
if (array_key_exists('redirect-tab', $seo_tabs)) {
|
615 |
+
|
616 |
+
?>
|
617 |
<div id="tabs-4">
|
618 |
<p>
|
619 |
<label for="seopress_redirections_enabled_meta" id="seopress_redirections_enabled">
|
623 |
<?php _e('Enable redirection?', 'wp-seopress'); ?>
|
624 |
</label>
|
625 |
</p>
|
626 |
+
<p>
|
627 |
+
<label for="seopress_redirections_enabled_regex_meta" id="seopress_redirections_enabled_regex">
|
628 |
+
<input type="checkbox" name="seopress_redirections_enabled_regex"
|
629 |
+
id="seopress_redirections_enabled_regex_meta" value="yes" <?php echo checked($seopress_redirections_enabled_regex, 'yes', false); ?>
|
630 |
+
/>
|
631 |
+
<?php _e('Regex?', 'wp-seopress'); ?>
|
632 |
+
</label>
|
633 |
+
</p>
|
634 |
+
<p>
|
635 |
+
<label for="seopress_redirections_logged_status"><?php _e('Select a login status: ', 'wp-seopress'); ?></label>
|
636 |
+
|
637 |
+
<select id="seopress_redirections_logged_status" name="seopress_redirections_logged_status">
|
638 |
+
<option <?php echo selected('both', $seopress_redirections_logged_status); ?>
|
639 |
+
value="both"><?php _e('All', 'wp-seopress'); ?>
|
640 |
+
</option>
|
641 |
+
<option <?php echo selected('only_logged_in', $seopress_redirections_logged_status); ?>
|
642 |
+
value="only_logged_in"><?php _e('Only Logged In', 'wp-seopress'); ?>
|
643 |
+
</option>
|
644 |
+
<option <?php echo selected('only_not_logged_in', $seopress_redirections_logged_status); ?>
|
645 |
+
value="only_not_logged_in"><?php _e('Only Not Logged In', 'wp-seopress'); ?>
|
646 |
+
</option>
|
647 |
+
</select>
|
648 |
+
</p>
|
649 |
<p>
|
650 |
|
651 |
<label for="seopress_redirections_type"><?php _e('Select a redirection type: ', 'wp-seopress'); ?></label>
|
671 |
<p>
|
672 |
<label for="seopress_redirections_value_meta"><?php _e('URL redirection', 'wp-seopress'); ?></label>
|
673 |
<input id="seopress_redirections_value_meta" type="text" name="seopress_redirections_value"
|
674 |
+
class="components-text-control__input js-seopress_redirections_value_meta"
|
675 |
placeholder="<?php esc_html_e('Enter your new URL in absolute (eg: https://www.example.com/)', 'wp-seopress'); ?>"
|
676 |
aria-label="<?php _e('URL redirection', 'wp-seopress'); ?>"
|
677 |
value="<?php echo $seopress_redirections_value; ?>" />
|
678 |
|
679 |
</p>
|
680 |
+
|
681 |
+
<script>
|
682 |
+
document.addEventListener('DOMContentLoaded', function(){
|
683 |
+
|
684 |
+
var cache = {};
|
685 |
+
jQuery( ".js-seopress_redirections_value_meta" ).autocomplete({
|
686 |
+
source: async function( request, response ) {
|
687 |
+
var term = request.term;
|
688 |
+
if ( term in cache ) {
|
689 |
+
response( cache[ term ] );
|
690 |
+
return;
|
691 |
+
}
|
692 |
+
|
693 |
+
const dataResponse = await fetch("<?php echo rest_url(); ?>seopress/v1/search-url?url=" + term)
|
694 |
+
const data = await dataResponse.json();
|
695 |
+
|
696 |
+
cache[ term ] = data.map(item => {
|
697 |
+
return {
|
698 |
+
label: item.post_title + " (" + item.guid + ")",
|
699 |
+
value: item.guid
|
700 |
+
}
|
701 |
+
});
|
702 |
+
response( cache[term] );
|
703 |
+
},
|
704 |
+
|
705 |
+
minLength: 3,
|
706 |
+
});
|
707 |
+
|
708 |
+
|
709 |
+
})
|
710 |
+
</script>
|
711 |
<?php if ('seopress_404' == $typenow) { ?>
|
712 |
<p>
|
713 |
<label for="seopress_redirections_param_meta"><?php _e('Query parameters', 'wp-seopress'); ?></label>
|
@@ -228,7 +228,7 @@ function seopress_display_seo_metaboxe()
|
|
228 |
}
|
229 |
|
230 |
if (function_exists('seopress_get_post_types')) {
|
231 |
-
$seopress_get_post_types =
|
232 |
|
233 |
$seopress_get_post_types = apply_filters('seopress_metaboxe_seo', $seopress_get_post_types);
|
234 |
|
@@ -347,16 +347,18 @@ function seopress_display_seo_metaboxe()
|
|
347 |
$seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
|
348 |
$seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
|
349 |
$seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
|
350 |
-
$seopress_social_fb_img_attachment_id
|
351 |
-
$seopress_social_fb_img_width
|
352 |
-
$seopress_social_fb_img_height
|
353 |
$seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
|
354 |
$seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
|
355 |
$seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
|
356 |
$seopress_social_twitter_img_attachment_id = get_post_meta($post->ID, '_seopress_social_twitter_img_attachment_id', true);
|
357 |
-
$seopress_social_twitter_img_width
|
358 |
-
$seopress_social_twitter_img_height
|
359 |
$seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
|
|
|
|
|
360 |
$seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
|
361 |
$seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
|
362 |
$seopress_redirections_param = get_post_meta($post->ID, '_seopress_redirections_param', true);
|
@@ -495,6 +497,17 @@ function seopress_display_seo_metaboxe()
|
|
495 |
} else {
|
496 |
delete_post_meta($post_id, '_seopress_redirections_enabled', '');
|
497 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
}
|
499 |
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
500 |
if (in_array('news-tab', $seo_tabs)) {
|
@@ -616,7 +629,7 @@ function seopress_display_ca_metaboxe()
|
|
616 |
$seopress_advanced_appearance_metaboxe_position_option = 'default';
|
617 |
}
|
618 |
if (function_exists('seopress_get_post_types')) {
|
619 |
-
$seopress_get_post_types =
|
620 |
|
621 |
$seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
|
622 |
|
228 |
}
|
229 |
|
230 |
if (function_exists('seopress_get_post_types')) {
|
231 |
+
$seopress_get_post_types = seopress_get_service('WordPressData')->getPostTypes();
|
232 |
|
233 |
$seopress_get_post_types = apply_filters('seopress_metaboxe_seo', $seopress_get_post_types);
|
234 |
|
347 |
$seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
|
348 |
$seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
|
349 |
$seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
|
350 |
+
$seopress_social_fb_img_attachment_id = get_post_meta($post->ID, '_seopress_social_fb_img_attachment_id', true);
|
351 |
+
$seopress_social_fb_img_width = get_post_meta($post->ID, '_seopress_social_fb_img_width', true);
|
352 |
+
$seopress_social_fb_img_height = get_post_meta($post->ID, '_seopress_social_fb_img_height', true);
|
353 |
$seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
|
354 |
$seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
|
355 |
$seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
|
356 |
$seopress_social_twitter_img_attachment_id = get_post_meta($post->ID, '_seopress_social_twitter_img_attachment_id', true);
|
357 |
+
$seopress_social_twitter_img_width = get_post_meta($post->ID, '_seopress_social_twitter_img_width', true);
|
358 |
+
$seopress_social_twitter_img_height = get_post_meta($post->ID, '_seopress_social_twitter_img_height', true);
|
359 |
$seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
|
360 |
+
$seopress_redirections_enabled_regex = get_post_meta($post->ID, '_seopress_redirections_enabled_regex', true);
|
361 |
+
$seopress_redirections_logged_status = get_post_meta($post->ID, '_seopress_redirections_logged_status', true);
|
362 |
$seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
|
363 |
$seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
|
364 |
$seopress_redirections_param = get_post_meta($post->ID, '_seopress_redirections_param', true);
|
497 |
} else {
|
498 |
delete_post_meta($post_id, '_seopress_redirections_enabled', '');
|
499 |
}
|
500 |
+
if (isset($_POST['seopress_redirections_enabled_regex'])) {
|
501 |
+
update_post_meta($post_id, '_seopress_redirections_enabled_regex', 'yes');
|
502 |
+
} else {
|
503 |
+
delete_post_meta($post_id, '_seopress_redirections_enabled_regex');
|
504 |
+
}
|
505 |
+
if (isset($_POST['seopress_redirections_logged_status'])) {
|
506 |
+
update_post_meta($post_id, '_seopress_redirections_logged_status', $_POST['seopress_redirections_logged_status']);
|
507 |
+
|
508 |
+
} else {
|
509 |
+
delete_post_meta($post_id, '_seopress_redirections_logged_status');
|
510 |
+
}
|
511 |
}
|
512 |
if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
|
513 |
if (in_array('news-tab', $seo_tabs)) {
|
629 |
$seopress_advanced_appearance_metaboxe_position_option = 'default';
|
630 |
}
|
631 |
if (function_exists('seopress_get_post_types')) {
|
632 |
+
$seopress_get_post_types = seopress_get_service('WordPressData')->getPostTypes();
|
633 |
|
634 |
$seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
|
635 |
|
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '31d0e88c486b722bec9c2b5c34fe4e45');
|
@@ -1,26 +1,2 @@
|
|
1 |
-
.wpseopress-answer-meta .wp-block-wp-seopress-image .components-button.editor-post-featured-image__preview {
|
2 |
-
text-align: left; }
|
3 |
|
4 |
-
.wpseopress-faq-cta {
|
5 |
-
display: flex;
|
6 |
-
justify-content: flex-end; }
|
7 |
-
.wpseopress-faq-cta .button-link-delete, .wpseopress-faq-cta .button-link-delete:hover {
|
8 |
-
border: 1px solid #a00; }
|
9 |
-
|
10 |
-
.wpseopress-faqs-list-style button.components-button.is-primary,
|
11 |
-
.wpseopress-faqs-title-wrapper button.components-button.is-primary,
|
12 |
-
.wpseopress-faqs-image-size button.components-button.is-primary {
|
13 |
-
background-color: #007cba;
|
14 |
-
color: #ffffff;
|
15 |
-
border-color: #007cba;
|
16 |
-
box-shadow: inset 0 0 0 1px #007cba; }
|
17 |
-
.wpseopress-faqs-list-style button.components-button.is-primary:hover:not(:disabled),
|
18 |
-
.wpseopress-faqs-title-wrapper button.components-button.is-primary:hover:not(:disabled),
|
19 |
-
.wpseopress-faqs-image-size button.components-button.is-primary:hover:not(:disabled) {
|
20 |
-
color: #ffffff; }
|
21 |
-
|
22 |
-
.components-panel__body > p {
|
23 |
-
margin: 15px 0 0 0; }
|
24 |
-
|
25 |
-
|
26 |
-
/*# sourceMappingURL=index.css.map*/
|
1 |
+
.wpseopress-faqs-actions{border:1px solid #1e1e1e;padding:1rem;background:#fff;margin-top:1rem}.wpseopress-answer-meta .wp-block-wp-seopress-image .components-button.editor-post-featured-image__preview{text-align:left}.wpseopress-faq-cta{display:flex;justify-content:flex-end}.wpseopress-faqs-list-style button.components-button.is-primary,.wpseopress-faqs-title-wrapper button.components-button.is-primary,.wpseopress-faqs-image-size button.components-button.is-primary{background-color:#007cba;color:#ffffff;border-color:#007cba;box-shadow:inset 0 0 0 1px #007cba}.wpseopress-faqs-list-style button.components-button.is-primary:hover:not(:disabled),.wpseopress-faqs-title-wrapper button.components-button.is-primary:hover:not(:disabled),.wpseopress-faqs-image-size button.components-button.is-primary:hover:not(:disabled){color:#ffffff}.components-panel__body>p{margin:15px 0 0 0}
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///editor.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB,EAAE;;AAEpB;EACE,aAAa;EACb,yBAAyB,EAAE;EAC3B;IACE,sBAAsB,EAAE;;AAE5B;;;EAGE,yBAAyB;EACzB,cAAc;EACd,qBAAqB;EACrB,mCAAmC,EAAE;EACrC;;;IAGE,cAAc,EAAE;;AAEpB;EACE,kBAAkB,EAAE","file":"index.css","sourcesContent":[".wpseopress-answer-meta .wp-block-wp-seopress-image .components-button.editor-post-featured-image__preview {\n text-align: left; }\n\n.wpseopress-faq-cta {\n display: flex;\n justify-content: flex-end; }\n .wpseopress-faq-cta .button-link-delete, .wpseopress-faq-cta .button-link-delete:hover {\n border: 1px solid #a00; }\n\n.wpseopress-faqs-list-style button.components-button.is-primary,\n.wpseopress-faqs-title-wrapper button.components-button.is-primary,\n.wpseopress-faqs-image-size button.components-button.is-primary {\n background-color: #007cba;\n color: #ffffff;\n border-color: #007cba;\n box-shadow: inset 0 0 0 1px #007cba; }\n .wpseopress-faqs-list-style button.components-button.is-primary:hover:not(:disabled),\n .wpseopress-faqs-title-wrapper button.components-button.is-primary:hover:not(:disabled),\n .wpseopress-faqs-image-size button.components-button.is-primary:hover:not(:disabled) {\n color: #ffffff; }\n\n.components-panel__body > p {\n margin: 15px 0 0 0; }\n"],"sourceRoot":""}
|
|
@@ -1,891 +1 @@
|
|
1 |
-
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["style-index"],{
|
2 |
-
|
3 |
-
/***/ "./src/style.scss":
|
4 |
-
/*!************************!*\
|
5 |
-
!*** ./src/style.scss ***!
|
6 |
-
\************************/
|
7 |
-
/*! no static exports found */
|
8 |
-
/***/ (function(module, exports, __webpack_require__) {
|
9 |
-
|
10 |
-
// extracted by mini-css-extract-plugin
|
11 |
-
|
12 |
-
/***/ })
|
13 |
-
|
14 |
-
}]);
|
15 |
-
|
16 |
-
/******/ (function(modules) { // webpackBootstrap
|
17 |
-
/******/ // install a JSONP callback for chunk loading
|
18 |
-
/******/ function webpackJsonpCallback(data) {
|
19 |
-
/******/ var chunkIds = data[0];
|
20 |
-
/******/ var moreModules = data[1];
|
21 |
-
/******/ var executeModules = data[2];
|
22 |
-
/******/
|
23 |
-
/******/ // add "moreModules" to the modules object,
|
24 |
-
/******/ // then flag all "chunkIds" as loaded and fire callback
|
25 |
-
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
26 |
-
/******/ for(;i < chunkIds.length; i++) {
|
27 |
-
/******/ chunkId = chunkIds[i];
|
28 |
-
/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
|
29 |
-
/******/ resolves.push(installedChunks[chunkId][0]);
|
30 |
-
/******/ }
|
31 |
-
/******/ installedChunks[chunkId] = 0;
|
32 |
-
/******/ }
|
33 |
-
/******/ for(moduleId in moreModules) {
|
34 |
-
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
35 |
-
/******/ modules[moduleId] = moreModules[moduleId];
|
36 |
-
/******/ }
|
37 |
-
/******/ }
|
38 |
-
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
39 |
-
/******/
|
40 |
-
/******/ while(resolves.length) {
|
41 |
-
/******/ resolves.shift()();
|
42 |
-
/******/ }
|
43 |
-
/******/
|
44 |
-
/******/ // add entry modules from loaded chunk to deferred list
|
45 |
-
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
46 |
-
/******/
|
47 |
-
/******/ // run deferred modules when all chunks ready
|
48 |
-
/******/ return checkDeferredModules();
|
49 |
-
/******/ };
|
50 |
-
/******/ function checkDeferredModules() {
|
51 |
-
/******/ var result;
|
52 |
-
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
53 |
-
/******/ var deferredModule = deferredModules[i];
|
54 |
-
/******/ var fulfilled = true;
|
55 |
-
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
56 |
-
/******/ var depId = deferredModule[j];
|
57 |
-
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
58 |
-
/******/ }
|
59 |
-
/******/ if(fulfilled) {
|
60 |
-
/******/ deferredModules.splice(i--, 1);
|
61 |
-
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
62 |
-
/******/ }
|
63 |
-
/******/ }
|
64 |
-
/******/
|
65 |
-
/******/ return result;
|
66 |
-
/******/ }
|
67 |
-
/******/
|
68 |
-
/******/ // The module cache
|
69 |
-
/******/ var installedModules = {};
|
70 |
-
/******/
|
71 |
-
/******/ // object to store loaded and loading chunks
|
72 |
-
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
73 |
-
/******/ // Promise = chunk loading, 0 = chunk loaded
|
74 |
-
/******/ var installedChunks = {
|
75 |
-
/******/ "index": 0
|
76 |
-
/******/ };
|
77 |
-
/******/
|
78 |
-
/******/ var deferredModules = [];
|
79 |
-
/******/
|
80 |
-
/******/ // The require function
|
81 |
-
/******/ function __webpack_require__(moduleId) {
|
82 |
-
/******/
|
83 |
-
/******/ // Check if module is in cache
|
84 |
-
/******/ if(installedModules[moduleId]) {
|
85 |
-
/******/ return installedModules[moduleId].exports;
|
86 |
-
/******/ }
|
87 |
-
/******/ // Create a new module (and put it into the cache)
|
88 |
-
/******/ var module = installedModules[moduleId] = {
|
89 |
-
/******/ i: moduleId,
|
90 |
-
/******/ l: false,
|
91 |
-
/******/ exports: {}
|
92 |
-
/******/ };
|
93 |
-
/******/
|
94 |
-
/******/ // Execute the module function
|
95 |
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
96 |
-
/******/
|
97 |
-
/******/ // Flag the module as loaded
|
98 |
-
/******/ module.l = true;
|
99 |
-
/******/
|
100 |
-
/******/ // Return the exports of the module
|
101 |
-
/******/ return module.exports;
|
102 |
-
/******/ }
|
103 |
-
/******/
|
104 |
-
/******/
|
105 |
-
/******/ // expose the modules object (__webpack_modules__)
|
106 |
-
/******/ __webpack_require__.m = modules;
|
107 |
-
/******/
|
108 |
-
/******/ // expose the module cache
|
109 |
-
/******/ __webpack_require__.c = installedModules;
|
110 |
-
/******/
|
111 |
-
/******/ // define getter function for harmony exports
|
112 |
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
113 |
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
114 |
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
115 |
-
/******/ }
|
116 |
-
/******/ };
|
117 |
-
/******/
|
118 |
-
/******/ // define __esModule on exports
|
119 |
-
/******/ __webpack_require__.r = function(exports) {
|
120 |
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
121 |
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
122 |
-
/******/ }
|
123 |
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
124 |
-
/******/ };
|
125 |
-
/******/
|
126 |
-
/******/ // create a fake namespace object
|
127 |
-
/******/ // mode & 1: value is a module id, require it
|
128 |
-
/******/ // mode & 2: merge all properties of value into the ns
|
129 |
-
/******/ // mode & 4: return value when already ns object
|
130 |
-
/******/ // mode & 8|1: behave like require
|
131 |
-
/******/ __webpack_require__.t = function(value, mode) {
|
132 |
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
133 |
-
/******/ if(mode & 8) return value;
|
134 |
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
135 |
-
/******/ var ns = Object.create(null);
|
136 |
-
/******/ __webpack_require__.r(ns);
|
137 |
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
138 |
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
139 |
-
/******/ return ns;
|
140 |
-
/******/ };
|
141 |
-
/******/
|
142 |
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
143 |
-
/******/ __webpack_require__.n = function(module) {
|
144 |
-
/******/ var getter = module && module.__esModule ?
|
145 |
-
/******/ function getDefault() { return module['default']; } :
|
146 |
-
/******/ function getModuleExports() { return module; };
|
147 |
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
148 |
-
/******/ return getter;
|
149 |
-
/******/ };
|
150 |
-
/******/
|
151 |
-
/******/ // Object.prototype.hasOwnProperty.call
|
152 |
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
153 |
-
/******/
|
154 |
-
/******/ // __webpack_public_path__
|
155 |
-
/******/ __webpack_require__.p = "";
|
156 |
-
/******/
|
157 |
-
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
|
158 |
-
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
159 |
-
/******/ jsonpArray.push = webpackJsonpCallback;
|
160 |
-
/******/ jsonpArray = jsonpArray.slice();
|
161 |
-
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
162 |
-
/******/ var parentJsonpFunction = oldJsonpFunction;
|
163 |
-
/******/
|
164 |
-
/******/
|
165 |
-
/******/ // add entry module to deferred list
|
166 |
-
/******/ deferredModules.push(["./src/index.js","style-index"]);
|
167 |
-
/******/ // run deferred modules when ready
|
168 |
-
/******/ return checkDeferredModules();
|
169 |
-
/******/ })
|
170 |
-
/************************************************************************/
|
171 |
-
/******/ ({
|
172 |
-
|
173 |
-
/***/ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
|
174 |
-
/*!*****************************************************************!*\
|
175 |
-
!*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
|
176 |
-
\*****************************************************************/
|
177 |
-
/*! no static exports found */
|
178 |
-
/***/ (function(module, exports) {
|
179 |
-
|
180 |
-
function _arrayLikeToArray(arr, len) {
|
181 |
-
if (len == null || len > arr.length) len = arr.length;
|
182 |
-
|
183 |
-
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
184 |
-
arr2[i] = arr[i];
|
185 |
-
}
|
186 |
-
|
187 |
-
return arr2;
|
188 |
-
}
|
189 |
-
|
190 |
-
module.exports = _arrayLikeToArray;
|
191 |
-
|
192 |
-
/***/ }),
|
193 |
-
|
194 |
-
/***/ "./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
|
195 |
-
/*!******************************************************************!*\
|
196 |
-
!*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
|
197 |
-
\******************************************************************/
|
198 |
-
/*! no static exports found */
|
199 |
-
/***/ (function(module, exports, __webpack_require__) {
|
200 |
-
|
201 |
-
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray */ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
|
202 |
-
|
203 |
-
function _arrayWithoutHoles(arr) {
|
204 |
-
if (Array.isArray(arr)) return arrayLikeToArray(arr);
|
205 |
-
}
|
206 |
-
|
207 |
-
module.exports = _arrayWithoutHoles;
|
208 |
-
|
209 |
-
/***/ }),
|
210 |
-
|
211 |
-
/***/ "./node_modules/@babel/runtime/helpers/defineProperty.js":
|
212 |
-
/*!***************************************************************!*\
|
213 |
-
!*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!
|
214 |
-
\***************************************************************/
|
215 |
-
/*! no static exports found */
|
216 |
-
/***/ (function(module, exports) {
|
217 |
-
|
218 |
-
function _defineProperty(obj, key, value) {
|
219 |
-
if (key in obj) {
|
220 |
-
Object.defineProperty(obj, key, {
|
221 |
-
value: value,
|
222 |
-
enumerable: true,
|
223 |
-
configurable: true,
|
224 |
-
writable: true
|
225 |
-
});
|
226 |
-
} else {
|
227 |
-
obj[key] = value;
|
228 |
-
}
|
229 |
-
|
230 |
-
return obj;
|
231 |
-
}
|
232 |
-
|
233 |
-
module.exports = _defineProperty;
|
234 |
-
|
235 |
-
/***/ }),
|
236 |
-
|
237 |
-
/***/ "./node_modules/@babel/runtime/helpers/iterableToArray.js":
|
238 |
-
/*!****************************************************************!*\
|
239 |
-
!*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***!
|
240 |
-
\****************************************************************/
|
241 |
-
/*! no static exports found */
|
242 |
-
/***/ (function(module, exports) {
|
243 |
-
|
244 |
-
function _iterableToArray(iter) {
|
245 |
-
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
246 |
-
}
|
247 |
-
|
248 |
-
module.exports = _iterableToArray;
|
249 |
-
|
250 |
-
/***/ }),
|
251 |
-
|
252 |
-
/***/ "./node_modules/@babel/runtime/helpers/nonIterableSpread.js":
|
253 |
-
/*!******************************************************************!*\
|
254 |
-
!*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
|
255 |
-
\******************************************************************/
|
256 |
-
/*! no static exports found */
|
257 |
-
/***/ (function(module, exports) {
|
258 |
-
|
259 |
-
function _nonIterableSpread() {
|
260 |
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
261 |
-
}
|
262 |
-
|
263 |
-
module.exports = _nonIterableSpread;
|
264 |
-
|
265 |
-
/***/ }),
|
266 |
-
|
267 |
-
/***/ "./node_modules/@babel/runtime/helpers/toConsumableArray.js":
|
268 |
-
/*!******************************************************************!*\
|
269 |
-
!*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
|
270 |
-
\******************************************************************/
|
271 |
-
/*! no static exports found */
|
272 |
-
/***/ (function(module, exports, __webpack_require__) {
|
273 |
-
|
274 |
-
var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles */ "./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
|
275 |
-
|
276 |
-
var iterableToArray = __webpack_require__(/*! ./iterableToArray */ "./node_modules/@babel/runtime/helpers/iterableToArray.js");
|
277 |
-
|
278 |
-
var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray */ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
|
279 |
-
|
280 |
-
var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread */ "./node_modules/@babel/runtime/helpers/nonIterableSpread.js");
|
281 |
-
|
282 |
-
function _toConsumableArray(arr) {
|
283 |
-
return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
|
284 |
-
}
|
285 |
-
|
286 |
-
module.exports = _toConsumableArray;
|
287 |
-
|
288 |
-
/***/ }),
|
289 |
-
|
290 |
-
/***/ "./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
|
291 |
-
/*!***************************************************************************!*\
|
292 |
-
!*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
|
293 |
-
\***************************************************************************/
|
294 |
-
/*! no static exports found */
|
295 |
-
/***/ (function(module, exports, __webpack_require__) {
|
296 |
-
|
297 |
-
var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray */ "./node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
|
298 |
-
|
299 |
-
function _unsupportedIterableToArray(o, minLen) {
|
300 |
-
if (!o) return;
|
301 |
-
if (typeof o === "string") return arrayLikeToArray(o, minLen);
|
302 |
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
303 |
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
304 |
-
if (n === "Map" || n === "Set") return Array.from(o);
|
305 |
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
|
306 |
-
}
|
307 |
-
|
308 |
-
module.exports = _unsupportedIterableToArray;
|
309 |
-
|
310 |
-
/***/ }),
|
311 |
-
|
312 |
-
/***/ "./src/edit.js":
|
313 |
-
/*!*********************!*\
|
314 |
-
!*** ./src/edit.js ***!
|
315 |
-
\*********************/
|
316 |
-
/*! exports provided: default */
|
317 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
318 |
-
|
319 |
-
"use strict";
|
320 |
-
__webpack_require__.r(__webpack_exports__);
|
321 |
-
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
|
322 |
-
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
|
323 |
-
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "./node_modules/@babel/runtime/helpers/toConsumableArray.js");
|
324 |
-
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1__);
|
325 |
-
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
326 |
-
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
|
327 |
-
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
|
328 |
-
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__);
|
329 |
-
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
330 |
-
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__);
|
331 |
-
/* harmony import */ var _image_control__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./image-control */ "./src/image-control.js");
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
337 |
-
|
338 |
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
339 |
-
|
340 |
-
var _wp$element = wp.element,
|
341 |
-
Component = _wp$element.Component,
|
342 |
-
Fragment = _wp$element.Fragment;
|
343 |
-
|
344 |
-
var _wp$i18n = wp.i18n,
|
345 |
-
__ = _wp$i18n.__,
|
346 |
-
_x = _wp$i18n._x;
|
347 |
-
|
348 |
-
|
349 |
-
var compose = wp.compose.compose;
|
350 |
-
var withSelect = wp.data.withSelect;
|
351 |
-
|
352 |
-
function WPSeopress_FAQ(props) {
|
353 |
-
var attributes = props.attributes;
|
354 |
-
var listStyle = attributes.listStyle,
|
355 |
-
titleWrapper = attributes.titleWrapper,
|
356 |
-
imageSize = attributes.imageSize,
|
357 |
-
showFAQScheme = attributes.showFAQScheme;
|
358 |
-
|
359 |
-
var showFAQs = function showFAQs() {
|
360 |
-
return attributes.listStyle === 'none' && attributes.faqs.map(function (faq, i) {
|
361 |
-
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
362 |
-
key: i,
|
363 |
-
className: "wpseopress-faqs-area"
|
364 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
365 |
-
className: "wpseopress-faq"
|
366 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__["RichText"], {
|
367 |
-
tagName: attributes.titleWrapper,
|
368 |
-
className: "wpseopress-faq-question",
|
369 |
-
placeholder: __('Question...', 'wp-seopress'),
|
370 |
-
value: !!faq ? faq.question : '',
|
371 |
-
onChange: function onChange(value) {
|
372 |
-
return handleQuestionChange(value, i);
|
373 |
-
}
|
374 |
-
}), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
375 |
-
className: "wpseopress-answer-meta"
|
376 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_image_control__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
377 |
-
value: !!faq ? faq.image : '',
|
378 |
-
onSelect: handleImageChange,
|
379 |
-
onRemoveImage: onRemoveImage,
|
380 |
-
imageSize: attributes.imageSize,
|
381 |
-
index: i
|
382 |
-
}), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__["RichText"], {
|
383 |
-
tagName: "p",
|
384 |
-
className: "wpseopress-faq-answer",
|
385 |
-
placeholder: __('Answer...', 'wp-seopress'),
|
386 |
-
value: !!faq ? faq.answer : '',
|
387 |
-
onChange: function onChange(value) {
|
388 |
-
return handleAnswerChange(value, i);
|
389 |
-
}
|
390 |
-
}))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
391 |
-
className: "wpseopress-faq-cta"
|
392 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("button", {
|
393 |
-
className: "button button-link-delete",
|
394 |
-
value: __('Remove', 'wp-seopress'),
|
395 |
-
onClick: function onClick() {
|
396 |
-
return removeFAQ(i);
|
397 |
-
}
|
398 |
-
}, __('Remove', 'wp-seopress'))));
|
399 |
-
}) || (attributes.listStyle === 'ul' || attributes.listStyle === 'ol') && attributes.faqs.map(function (faq, i) {
|
400 |
-
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("li", {
|
401 |
-
key: i,
|
402 |
-
className: "wpseopress-faqs-area"
|
403 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
404 |
-
className: "wpseopress-faq"
|
405 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__["RichText"], {
|
406 |
-
tagName: attributes.titleWrapper,
|
407 |
-
className: "wpseopress-faq-question",
|
408 |
-
placeholder: __('Question...', 'wp-seopress'),
|
409 |
-
value: !!faq ? faq.question : '',
|
410 |
-
onChange: function onChange(value) {
|
411 |
-
return handleQuestionChange(value, i);
|
412 |
-
}
|
413 |
-
}), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
414 |
-
className: "wpseopress-answer-meta"
|
415 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_image_control__WEBPACK_IMPORTED_MODULE_5__["default"], {
|
416 |
-
value: !!faq ? faq.image : '',
|
417 |
-
onSelect: handleImageChange,
|
418 |
-
onRemoveImage: onRemoveImage,
|
419 |
-
imageSize: attributes.imageSize,
|
420 |
-
index: i
|
421 |
-
}), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__["RichText"], {
|
422 |
-
tagName: "div",
|
423 |
-
className: "wpseopress-faq-answer",
|
424 |
-
placeholder: __('Answer...', 'wp-seopress'),
|
425 |
-
value: !!faq ? faq.answer : '',
|
426 |
-
onChange: function onChange(value) {
|
427 |
-
return handleAnswerChange(value, i);
|
428 |
-
}
|
429 |
-
}))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
430 |
-
className: "wpseopress-faq-cta"
|
431 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("button", {
|
432 |
-
className: "button button-link-delete",
|
433 |
-
value: __('Remove', 'wp-seopress'),
|
434 |
-
onClick: function onClick() {
|
435 |
-
return removeFAQ(i);
|
436 |
-
}
|
437 |
-
}, __('Remove', 'wp-seopress'))));
|
438 |
-
}); // End return
|
439 |
-
};
|
440 |
-
|
441 |
-
var addFAQ = function addFAQ() {
|
442 |
-
props.setAttributes({
|
443 |
-
faqs: [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_1___default()(attributes.faqs), [{
|
444 |
-
question: '',
|
445 |
-
answer: '',
|
446 |
-
image: ''
|
447 |
-
}])
|
448 |
-
});
|
449 |
-
};
|
450 |
-
|
451 |
-
var removeFAQ = function removeFAQ(i) {
|
452 |
-
var faqs = attributes.faqs.filter(function (item, key) {
|
453 |
-
return key !== i;
|
454 |
-
});
|
455 |
-
props.setAttributes({
|
456 |
-
faqs: faqs
|
457 |
-
});
|
458 |
-
};
|
459 |
-
|
460 |
-
var handleQuestionChange = function handleQuestionChange(value, i) {
|
461 |
-
var faqs = attributes.faqs.map(function (faq, key) {
|
462 |
-
if (key !== i) {
|
463 |
-
return faq;
|
464 |
-
}
|
465 |
-
|
466 |
-
return _objectSpread(_objectSpread({}, faq), {}, {
|
467 |
-
question: value
|
468 |
-
});
|
469 |
-
});
|
470 |
-
props.setAttributes({
|
471 |
-
faqs: faqs
|
472 |
-
});
|
473 |
-
};
|
474 |
-
|
475 |
-
var handleAnswerChange = function handleAnswerChange(value, i) {
|
476 |
-
var faqs = attributes.faqs.map(function (faq, key) {
|
477 |
-
if (key !== i) {
|
478 |
-
return faq;
|
479 |
-
}
|
480 |
-
|
481 |
-
return _objectSpread(_objectSpread({}, faq), {}, {
|
482 |
-
answer: value
|
483 |
-
});
|
484 |
-
});
|
485 |
-
props.setAttributes({
|
486 |
-
faqs: faqs
|
487 |
-
});
|
488 |
-
};
|
489 |
-
|
490 |
-
var handleImageChange = function handleImageChange(value, i) {
|
491 |
-
var faqs = attributes.faqs.map(function (faq, key) {
|
492 |
-
if (key !== i) {
|
493 |
-
return faq;
|
494 |
-
}
|
495 |
-
|
496 |
-
return _objectSpread(_objectSpread({}, faq), {}, {
|
497 |
-
image: value
|
498 |
-
});
|
499 |
-
});
|
500 |
-
props.setAttributes({
|
501 |
-
faqs: faqs
|
502 |
-
});
|
503 |
-
};
|
504 |
-
|
505 |
-
var onRemoveImage = function onRemoveImage(i) {
|
506 |
-
var faqs = attributes.faqs.map(function (faq, key) {
|
507 |
-
if (key !== i) {
|
508 |
-
return faq;
|
509 |
-
}
|
510 |
-
|
511 |
-
return _objectSpread(_objectSpread({}, faq), {}, {
|
512 |
-
image: null
|
513 |
-
});
|
514 |
-
});
|
515 |
-
props.setAttributes({
|
516 |
-
faqs: faqs
|
517 |
-
});
|
518 |
-
};
|
519 |
-
|
520 |
-
var inspectorControls = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__["InspectorControls"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["PanelBody"], {
|
521 |
-
title: __('FAQ Settings', 'wp-seopress')
|
522 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", null, __('List Style', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["PanelRow"], {
|
523 |
-
className: "wpseopress-faqs-list-style"
|
524 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["ButtonGroup"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
525 |
-
isSecondary: true,
|
526 |
-
isPrimary: 'none' == listStyle ? true : false,
|
527 |
-
onClick: function onClick(e) {
|
528 |
-
props.setAttributes({
|
529 |
-
listStyle: 'none'
|
530 |
-
});
|
531 |
-
}
|
532 |
-
}, _x('NONE', 'Div tag List', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
533 |
-
isSecondary: true,
|
534 |
-
isPrimary: 'ol' == listStyle ? true : false,
|
535 |
-
onClick: function onClick(e) {
|
536 |
-
props.setAttributes({
|
537 |
-
listStyle: 'ol'
|
538 |
-
});
|
539 |
-
}
|
540 |
-
}, _x('OL', 'Numbered List', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
541 |
-
isSecondary: true,
|
542 |
-
isPrimary: 'ul' == listStyle ? true : false,
|
543 |
-
onClick: function onClick(e) {
|
544 |
-
props.setAttributes({
|
545 |
-
listStyle: 'ul'
|
546 |
-
});
|
547 |
-
}
|
548 |
-
}, _x('UL', 'Unordered List', 'wp-seopress')))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", null, __('Title Wrapper', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["PanelRow"], {
|
549 |
-
className: "wpseopress-faqs-title-wrapper"
|
550 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["ButtonGroup"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
551 |
-
isSecondary: true,
|
552 |
-
isPrimary: 'h2' == titleWrapper ? true : false,
|
553 |
-
onClick: function onClick(e) {
|
554 |
-
props.setAttributes({
|
555 |
-
titleWrapper: 'h2'
|
556 |
-
});
|
557 |
-
}
|
558 |
-
}, _x('H2', 'H2 title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
559 |
-
isSecondary: true,
|
560 |
-
isPrimary: 'h3' == titleWrapper ? true : false,
|
561 |
-
onClick: function onClick(e) {
|
562 |
-
props.setAttributes({
|
563 |
-
titleWrapper: 'h3'
|
564 |
-
});
|
565 |
-
}
|
566 |
-
}, _x('H3', 'H3 title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
567 |
-
isSecondary: true,
|
568 |
-
isPrimary: 'h4' == titleWrapper ? true : false,
|
569 |
-
onClick: function onClick(e) {
|
570 |
-
props.setAttributes({
|
571 |
-
titleWrapper: 'h4'
|
572 |
-
});
|
573 |
-
}
|
574 |
-
}, _x('H4', 'H4 title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
575 |
-
isSecondary: true,
|
576 |
-
isPrimary: 'h5' == titleWrapper ? true : false,
|
577 |
-
onClick: function onClick(e) {
|
578 |
-
props.setAttributes({
|
579 |
-
titleWrapper: 'h5'
|
580 |
-
});
|
581 |
-
}
|
582 |
-
}, _x('H5', 'H5 title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
583 |
-
isSecondary: true,
|
584 |
-
isPrimary: 'h6' == titleWrapper ? true : false,
|
585 |
-
onClick: function onClick(e) {
|
586 |
-
props.setAttributes({
|
587 |
-
titleWrapper: 'h6'
|
588 |
-
});
|
589 |
-
}
|
590 |
-
}, _x('H6', 'H6 title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
591 |
-
isSecondary: true,
|
592 |
-
isPrimary: 'p' == titleWrapper ? true : false,
|
593 |
-
onClick: function onClick(e) {
|
594 |
-
props.setAttributes({
|
595 |
-
titleWrapper: 'p'
|
596 |
-
});
|
597 |
-
}
|
598 |
-
}, _x('P', 'P title tag', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
599 |
-
isSecondary: true,
|
600 |
-
isPrimary: 'div' == titleWrapper ? true : false,
|
601 |
-
onClick: function onClick(e) {
|
602 |
-
props.setAttributes({
|
603 |
-
titleWrapper: 'div'
|
604 |
-
});
|
605 |
-
}
|
606 |
-
}, _x('DIV', 'DIV title tag', 'wp-seopress')))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", null, __('Image Size', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["PanelRow"], {
|
607 |
-
className: "wpseopress-faqs-image-size"
|
608 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["ButtonGroup"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
609 |
-
isSecondary: true,
|
610 |
-
isPrimary: 'thumbnail' == imageSize ? true : false,
|
611 |
-
onClick: function onClick(e) {
|
612 |
-
props.setAttributes({
|
613 |
-
imageSize: 'thumbnail'
|
614 |
-
});
|
615 |
-
}
|
616 |
-
}, _x('S', 'Thubmnail Size', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
617 |
-
isSecondary: true,
|
618 |
-
isPrimary: 'medium' == imageSize ? true : false,
|
619 |
-
onClick: function onClick(e) {
|
620 |
-
props.setAttributes({
|
621 |
-
imageSize: 'medium'
|
622 |
-
});
|
623 |
-
}
|
624 |
-
}, _x('M', 'Medium Size', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
625 |
-
isSecondary: true,
|
626 |
-
isPrimary: 'large' == imageSize ? true : false,
|
627 |
-
onClick: function onClick(e) {
|
628 |
-
props.setAttributes({
|
629 |
-
imageSize: 'large'
|
630 |
-
});
|
631 |
-
}
|
632 |
-
}, _x('L', 'Large Size', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["Button"], {
|
633 |
-
isSecondary: true,
|
634 |
-
isPrimary: 'full' == imageSize ? true : false,
|
635 |
-
onClick: function onClick(e) {
|
636 |
-
props.setAttributes({
|
637 |
-
imageSize: 'full'
|
638 |
-
});
|
639 |
-
}
|
640 |
-
}, _x('XL', 'Original Size', 'wp-seopress')))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", null, __('SEO Settings', 'wp-seopress')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["PanelRow"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__["ToggleControl"], {
|
641 |
-
label: __('Enable FAQ Schema', 'wp-seopress'),
|
642 |
-
checked: !!showFAQScheme,
|
643 |
-
onChange: function onChange(e) {
|
644 |
-
props.setAttributes({
|
645 |
-
showFAQScheme: !showFAQScheme
|
646 |
-
});
|
647 |
-
}
|
648 |
-
}))));
|
649 |
-
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(Fragment, null, inspectorControls, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
650 |
-
className: "wpseopress-faqs"
|
651 |
-
}, listStyle === 'ul' && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("ul", null, showFAQs()), listStyle === 'ol' && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("ol", null, showFAQs()), listStyle === 'none' && showFAQs(), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", {
|
652 |
-
className: "wpseopress-faqs-actions"
|
653 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("button", {
|
654 |
-
type: "button",
|
655 |
-
title: __('Add FAQ', 'wp-seopress'),
|
656 |
-
className: "add-faq button button-link-add",
|
657 |
-
onClick: function onClick(e) {
|
658 |
-
e.preventDefault();
|
659 |
-
addFAQ();
|
660 |
-
}
|
661 |
-
}, __('Add FAQ', 'wp-seopress')))));
|
662 |
-
}
|
663 |
-
|
664 |
-
/* harmony default export */ __webpack_exports__["default"] = (compose(withSelect(function (select, _ref) {
|
665 |
-
var attributes = _ref.attributes;
|
666 |
-
|
667 |
-
var _select = select('core'),
|
668 |
-
getMedia = _select.getMedia;
|
669 |
-
|
670 |
-
var selectedImageId = attributes.selectedImageId;
|
671 |
-
return {
|
672 |
-
selectedImage: selectedImageId ? getMedia(selectedImageId) : 0
|
673 |
-
};
|
674 |
-
}))(WPSeopress_FAQ));
|
675 |
-
|
676 |
-
/***/ }),
|
677 |
-
|
678 |
-
/***/ "./src/editor.scss":
|
679 |
-
/*!*************************!*\
|
680 |
-
!*** ./src/editor.scss ***!
|
681 |
-
\*************************/
|
682 |
-
/*! no static exports found */
|
683 |
-
/***/ (function(module, exports, __webpack_require__) {
|
684 |
-
|
685 |
-
// extracted by mini-css-extract-plugin
|
686 |
-
|
687 |
-
/***/ }),
|
688 |
-
|
689 |
-
/***/ "./src/image-control.js":
|
690 |
-
/*!******************************!*\
|
691 |
-
!*** ./src/image-control.js ***!
|
692 |
-
\******************************/
|
693 |
-
/*! exports provided: default */
|
694 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
695 |
-
|
696 |
-
"use strict";
|
697 |
-
__webpack_require__.r(__webpack_exports__);
|
698 |
-
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
|
699 |
-
/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
|
700 |
-
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
|
701 |
-
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
|
702 |
-
|
703 |
-
var wp = window.wp;
|
704 |
-
var withSelect = wp.data.withSelect;
|
705 |
-
var Component = wp.element.Component;
|
706 |
-
|
707 |
-
var _wp$components = wp.components,
|
708 |
-
Spinner = _wp$components.Spinner,
|
709 |
-
Button = _wp$components.Button,
|
710 |
-
ResponsiveWrapper = _wp$components.ResponsiveWrapper;
|
711 |
-
var compose = wp.compose.compose;
|
712 |
-
var __ = wp.i18n.__;
|
713 |
-
var ALLOWED_MEDIA_TYPES = ['image'];
|
714 |
-
|
715 |
-
function ImageControl(props) {
|
716 |
-
var value = props.value,
|
717 |
-
image = props.image;
|
718 |
-
|
719 |
-
var onUpdateImage = function onUpdateImage(image) {
|
720 |
-
props.onSelect(image.id, props.index);
|
721 |
-
};
|
722 |
-
|
723 |
-
var onRemoveImage = function onRemoveImage() {
|
724 |
-
props.onRemoveImage(props.index);
|
725 |
-
};
|
726 |
-
|
727 |
-
var getImageSize = function getImageSize(image) {
|
728 |
-
var imgSize = null;
|
729 |
-
|
730 |
-
try {
|
731 |
-
if (undefined != image) {
|
732 |
-
imgSize = {};
|
733 |
-
imgSize.source_url = image.guid.raw;
|
734 |
-
|
735 |
-
if (undefined != image.media_details.sizes) {
|
736 |
-
imgSize = null;
|
737 |
-
|
738 |
-
switch (props.imageSize) {
|
739 |
-
case 'thumbnail':
|
740 |
-
imgSize = undefined != image ? image.media_details.sizes.thumbnail : null;
|
741 |
-
break;
|
742 |
-
|
743 |
-
case 'medium':
|
744 |
-
imgSize = undefined != image ? image.media_details.sizes.medium : null;
|
745 |
-
break;
|
746 |
-
|
747 |
-
case 'large':
|
748 |
-
imgSize = undefined != image ? undefined != image.media_details.sizes.large ? image.media_details.sizes.large : image.media_details.sizes.medium_large : null;
|
749 |
-
break;
|
750 |
-
|
751 |
-
default:
|
752 |
-
imgSize = undefined != image ? image.media_details.sizes.full : null;
|
753 |
-
}
|
754 |
-
}
|
755 |
-
}
|
756 |
-
|
757 |
-
return imgSize;
|
758 |
-
} catch (error) {
|
759 |
-
return imgSize;
|
760 |
-
}
|
761 |
-
};
|
762 |
-
|
763 |
-
var instructions = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, __('To edit the background image, you need permission to upload media.', 'wp-seopress'));
|
764 |
-
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
|
765 |
-
className: "wp-block-wp-seopress-image"
|
766 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__["MediaUploadCheck"], {
|
767 |
-
fallback: instructions
|
768 |
-
}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__["MediaUpload"], {
|
769 |
-
title: __('Set Image', 'wp-seopress'),
|
770 |
-
onSelect: onUpdateImage,
|
771 |
-
allowedTypes: ALLOWED_MEDIA_TYPES,
|
772 |
-
value: value,
|
773 |
-
render: function render(_ref) {
|
774 |
-
var open = _ref.open;
|
775 |
-
var imageSize = getImageSize(image);
|
776 |
-
return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Button, {
|
777 |
-
className: !value ? 'editor-post-featured-image__toggle' : 'editor-post-featured-image__preview',
|
778 |
-
onClick: open
|
779 |
-
}, !value && __('Set Image', 'wp-seopress'), !!value && !image && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Spinner, null), !!value && image && imageSize && imageSize.source_url && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("img", {
|
780 |
-
src: imageSize.source_url,
|
781 |
-
alt: __('Set Image', 'wp-seopress')
|
782 |
-
}));
|
783 |
-
}
|
784 |
-
})), !!value && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__["MediaUploadCheck"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(Button, {
|
785 |
-
onClick: onRemoveImage,
|
786 |
-
isLink: true,
|
787 |
-
isDestructive: true
|
788 |
-
}, __('Remove Image', 'wp-seopress'))));
|
789 |
-
}
|
790 |
-
|
791 |
-
/* harmony default export */ __webpack_exports__["default"] = (compose(withSelect(function (select, ownProps) {
|
792 |
-
return {
|
793 |
-
image: ownProps.value ? select('core').getMedia(ownProps.value) : null
|
794 |
-
};
|
795 |
-
}))(ImageControl));
|
796 |
-
|
797 |
-
/***/ }),
|
798 |
-
|
799 |
-
/***/ "./src/index.js":
|
800 |
-
/*!**********************!*\
|
801 |
-
!*** ./src/index.js ***!
|
802 |
-
\**********************/
|
803 |
-
/*! no exports provided */
|
804 |
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
805 |
-
|
806 |
-
"use strict";
|
807 |
-
__webpack_require__.r(__webpack_exports__);
|
808 |
-
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
|
809 |
-
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_editor_scss__WEBPACK_IMPORTED_MODULE_0__);
|
810 |
-
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss");
|
811 |
-
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_1__);
|
812 |
-
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/edit.js");
|
813 |
-
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
|
814 |
-
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__);
|
815 |
-
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
|
816 |
-
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
|
817 |
-
|
818 |
-
|
819 |
-
|
820 |
-
|
821 |
-
|
822 |
-
Object(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_3__["registerBlockType"])('wpseopress/faq-block', {
|
823 |
-
title: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('FAQ', 'wp-seopress'),
|
824 |
-
icon: 'index-card',
|
825 |
-
category: 'wpseopress',
|
826 |
-
example: {},
|
827 |
-
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
|
828 |
-
save: function save() {
|
829 |
-
return null;
|
830 |
-
}
|
831 |
-
});
|
832 |
-
|
833 |
-
/***/ }),
|
834 |
-
|
835 |
-
/***/ "@wordpress/block-editor":
|
836 |
-
/*!**********************************************!*\
|
837 |
-
!*** external {"this":["wp","blockEditor"]} ***!
|
838 |
-
\**********************************************/
|
839 |
-
/*! no static exports found */
|
840 |
-
/***/ (function(module, exports) {
|
841 |
-
|
842 |
-
(function() { module.exports = this["wp"]["blockEditor"]; }());
|
843 |
-
|
844 |
-
/***/ }),
|
845 |
-
|
846 |
-
/***/ "@wordpress/blocks":
|
847 |
-
/*!*****************************************!*\
|
848 |
-
!*** external {"this":["wp","blocks"]} ***!
|
849 |
-
\*****************************************/
|
850 |
-
/*! no static exports found */
|
851 |
-
/***/ (function(module, exports) {
|
852 |
-
|
853 |
-
(function() { module.exports = this["wp"]["blocks"]; }());
|
854 |
-
|
855 |
-
/***/ }),
|
856 |
-
|
857 |
-
/***/ "@wordpress/components":
|
858 |
-
/*!*********************************************!*\
|
859 |
-
!*** external {"this":["wp","components"]} ***!
|
860 |
-
\*********************************************/
|
861 |
-
/*! no static exports found */
|
862 |
-
/***/ (function(module, exports) {
|
863 |
-
|
864 |
-
(function() { module.exports = this["wp"]["components"]; }());
|
865 |
-
|
866 |
-
/***/ }),
|
867 |
-
|
868 |
-
/***/ "@wordpress/element":
|
869 |
-
/*!******************************************!*\
|
870 |
-
!*** external {"this":["wp","element"]} ***!
|
871 |
-
\******************************************/
|
872 |
-
/*! no static exports found */
|
873 |
-
/***/ (function(module, exports) {
|
874 |
-
|
875 |
-
(function() { module.exports = this["wp"]["element"]; }());
|
876 |
-
|
877 |
-
/***/ }),
|
878 |
-
|
879 |
-
/***/ "@wordpress/i18n":
|
880 |
-
/*!***************************************!*\
|
881 |
-
!*** external {"this":["wp","i18n"]} ***!
|
882 |
-
\***************************************/
|
883 |
-
/*! no static exports found */
|
884 |
-
/***/ (function(module, exports) {
|
885 |
-
|
886 |
-
(function() { module.exports = this["wp"]["i18n"]; }());
|
887 |
-
|
888 |
-
/***/ })
|
889 |
-
|
890 |
-
/******/ });
|
891 |
-
//# sourceMappingURL=index.js.map
|
1 |
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{9:function(e,t,n){}}]),function(e){function t(t){for(var r,o,i=t[0],c=t[1],l=t[2],p=0,m=[];p<i.length;p++)o=i[p],Object.prototype.hasOwnProperty.call(s,o)&&s[o]&&m.push(s[o][0]),s[o]=0;for(r in c)Object.prototype.hasOwnProperty.call(c,r)&&(e[r]=c[r]);for(u&&u(t);m.length;)m.shift()();return a.push.apply(a,l||[]),n()}function n(){for(var e,t=0;t<a.length;t++){for(var n=a[t],r=!0,i=1;i<n.length;i++){var c=n[i];0!==s[c]&&(r=!1)}r&&(a.splice(t--,1),e=o(o.s=n[0]))}return e}var r={},s={0:0},a=[];function o(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,o),n.l=!0,n.exports}o.m=e,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="";var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var u=c;a.push([14,1]),n()}([function(e,t){!function(){e.exports=this.wp.element}()},function(e,t){!function(){e.exports=this.wp.components}()},function(e,t){!function(){e.exports=this.wp.blockEditor}()},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){var r=n(10),s=n(11),a=n(12),o=n(13);e.exports=function(e){return r(e)||s(e)||a(e)||o()}},function(e,t){!function(){e.exports=this.wp.blocks}()},function(e,t){!function(){e.exports=this.wp.i18n}()},function(e,t,n){},,function(e,t,n){var r=n(3);e.exports=function(e){if(Array.isArray(e))return r(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t,n){var r=n(3);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,n){"use strict";n.r(t);n(8),n(9);var r=n(4),s=n.n(r),a=n(5),o=n.n(a),i=n(0),c=n(1),l=n(2),u=window.wp,p=u.data.withSelect,m=(u.element.Component,u.components),f=m.Spinner,b=m.Button,d=(m.ResponsiveWrapper,u.compose.compose),w=u.i18n.__,O=["image"];var g=d(p((function(e,t){return{image:t.value?e("core").getMedia(t.value):null}})))((function(e){var t=e.value,n=e.image,r=Object(i.createElement)("p",null,w("To edit the background image, you need permission to upload media.","wp-seopress"));return Object(i.createElement)("div",{className:"wp-block-wp-seopress-image"},Object(i.createElement)(l.MediaUploadCheck,{fallback:r},Object(i.createElement)(l.MediaUpload,{title:w("Set Image","wp-seopress"),onSelect:function(t){e.onSelect(t.id,e.index)},allowedTypes:O,value:t,render:function(r){var s=r.open,a=function(t){var n=null;try{if(null!=t&&((n={}).source_url=t.guid.raw,null!=t.media_details.sizes))switch(n=null,e.imageSize){case"thumbnail":n=null!=t?t.media_details.sizes.thumbnail:null;break;case"medium":n=null!=t?t.media_details.sizes.medium:null;break;case"large":n=null!=t?null!=t.media_details.sizes.large?t.media_details.sizes.large:t.media_details.sizes.medium_large:null;break;default:n=null!=t?t.media_details.sizes.full:null}return n}catch(e){return n}}(n);return Object(i.createElement)(b,{className:t?"editor-post-featured-image__preview":"editor-post-featured-image__toggle",onClick:s},!t&&w("Set Image","wp-seopress"),!!t&&!n&&Object(i.createElement)(f,null),!!t&&n&&a&&a.source_url&&Object(i.createElement)("img",{src:a.source_url,alt:w("Set Image","wp-seopress")}))}})),!!t&&Object(i.createElement)(l.MediaUploadCheck,null,Object(i.createElement)(b,{onClick:function(){e.onRemoveImage(e.index)},isLink:!0,isDestructive:!0},w("Remove Image","wp-seopress"))))}));function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){s()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v=wp.element,h=(v.Component,v.Fragment),E=wp.i18n,S=E.__,A=E._x;var k=(0,wp.compose.compose)((0,wp.data.withSelect)((function(e,t){var n=t.attributes,r=e("core").getMedia,s=n.selectedImageId;return{selectedImage:s?r(s):0}})))((function(e){var t=e.attributes,n=t.listStyle,r=t.titleWrapper,s=t.imageSize,a=t.showFAQScheme,u=t.showAccordion,p=function(){return"none"===t.listStyle&&t.faqs.map((function(e,n){return Object(i.createElement)("div",{key:n,className:"wpseopress-faqs-area"},Object(i.createElement)("div",{className:"wpseopress-faq"},Object(i.createElement)(l.RichText,{tagName:t.titleWrapper,className:"wpseopress-faq-question",placeholder:S("Question...","wp-seopress"),value:e?e.question:"",onChange:function(e){return f(e,n)}}),Object(i.createElement)("div",{className:"wpseopress-answer-meta"},Object(i.createElement)(g,{value:e?e.image:"",onSelect:d,onRemoveImage:w,imageSize:t.imageSize,index:n}),Object(i.createElement)(l.RichText,{tagName:"p",className:"wpseopress-faq-answer",placeholder:S("Answer...","wp-seopress"),value:e?e.answer:"",onChange:function(e){return b(e,n)}}))),Object(i.createElement)("div",{className:"wpseopress-faq-cta"},Object(i.createElement)("button",{className:"components-button is-tertiary is-destructive",value:S("Remove","wp-seopress"),onClick:function(){return m(n)}},S("Remove","wp-seopress"))))}))||("ul"===t.listStyle||"ol"===t.listStyle)&&t.faqs.map((function(e,n){return Object(i.createElement)("li",{key:n,className:"wpseopress-faqs-area"},Object(i.createElement)("div",{className:"wpseopress-faq"},Object(i.createElement)(l.RichText,{tagName:t.titleWrapper,className:"wpseopress-faq-question",placeholder:S("Question...","wp-seopress"),value:e?e.question:"",onChange:function(e){return f(e,n)}}),Object(i.createElement)("div",{className:"wpseopress-answer-meta"},Object(i.createElement)(g,{value:e?e.image:"",onSelect:d,onRemoveImage:w,imageSize:t.imageSize,index:n}),Object(i.createElement)(l.RichText,{tagName:"div",className:"wpseopress-faq-answer",placeholder:S("Answer...","wp-seopress"),value:e?e.answer:"",onChange:function(e){return b(e,n)}}))),Object(i.createElement)("div",{className:"wpseopress-faq-cta"},Object(i.createElement)("button",{className:"components-button is-tertiary is-destructive",value:S("Remove","wp-seopress"),onClick:function(){return m(n)}},S("Remove","wp-seopress"))))}))},m=function(n){var r=t.faqs.filter((function(e,t){return t!==n}));e.setAttributes({faqs:r})},f=function(n,r){var s=t.faqs.map((function(e,t){return t!==r?e:j(j({},e),{},{question:n})}));e.setAttributes({faqs:s})},b=function(n,r){var s=t.faqs.map((function(e,t){return t!==r?e:j(j({},e),{},{answer:n})}));e.setAttributes({faqs:s})},d=function(n,r){var s=t.faqs.map((function(e,t){return t!==r?e:j(j({},e),{},{image:n})}));e.setAttributes({faqs:s})},w=function(n){var r=t.faqs.map((function(e,t){return t!==n?e:j(j({},e),{},{image:null})}));e.setAttributes({faqs:r})},O=Object(i.createElement)(l.InspectorControls,null,Object(i.createElement)(c.PanelBody,{title:S("FAQ Settings","wp-seopress")},Object(i.createElement)("p",null,S("List Style","wp-seopress")),Object(i.createElement)(c.PanelRow,{className:"wpseopress-faqs-list-style"},Object(i.createElement)(c.ButtonGroup,null,Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"none"==n,onClick:function(t){e.setAttributes({listStyle:"none"})}},A("NONE","Div tag List","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"ol"==n,onClick:function(t){e.setAttributes({listStyle:"ol"})}},A("OL","Numbered List","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"ul"==n,onClick:function(t){e.setAttributes({listStyle:"ul"})}},A("UL","Unordered List","wp-seopress")))),Object(i.createElement)("p",null,S("Title Wrapper","wp-seopress")),Object(i.createElement)(c.PanelRow,{className:"wpseopress-faqs-title-wrapper"},Object(i.createElement)(c.ButtonGroup,null,Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"h2"==r,onClick:function(t){e.setAttributes({titleWrapper:"h2"})}},A("H2","H2 title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"h3"==r,onClick:function(t){e.setAttributes({titleWrapper:"h3"})}},A("H3","H3 title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"h4"==r,onClick:function(t){e.setAttributes({titleWrapper:"h4"})}},A("H4","H4 title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"h5"==r,onClick:function(t){e.setAttributes({titleWrapper:"h5"})}},A("H5","H5 title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"h6"==r,onClick:function(t){e.setAttributes({titleWrapper:"h6"})}},A("H6","H6 title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"p"==r,onClick:function(t){e.setAttributes({titleWrapper:"p"})}},A("P","P title tag","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"div"==r,onClick:function(t){e.setAttributes({titleWrapper:"div"})}},A("DIV","DIV title tag","wp-seopress")))),Object(i.createElement)("p",null,S("Image Size","wp-seopress")),Object(i.createElement)(c.PanelRow,{className:"wpseopress-faqs-image-size"},Object(i.createElement)(c.ButtonGroup,null,Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"thumbnail"==s,onClick:function(t){e.setAttributes({imageSize:"thumbnail"})}},A("S","Thubmnail Size","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"medium"==s,onClick:function(t){e.setAttributes({imageSize:"medium"})}},A("M","Medium Size","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"large"==s,onClick:function(t){e.setAttributes({imageSize:"large"})}},A("L","Large Size","wp-seopress")),Object(i.createElement)(c.Button,{isSecondary:!0,isPrimary:"full"==s,onClick:function(t){e.setAttributes({imageSize:"full"})}},A("XL","Original Size","wp-seopress")))),Object(i.createElement)("p",null,S("SEO Settings","wp-seopress")),Object(i.createElement)(c.PanelRow,null,Object(i.createElement)(c.ToggleControl,{label:S("Enable FAQ Schema","wp-seopress"),checked:!!a,onChange:function(t){e.setAttributes({showFAQScheme:!a})}})),Object(i.createElement)("p",null,S("Display","wp-seopress")),Object(i.createElement)(c.PanelRow,null,Object(i.createElement)(c.ToggleControl,{label:S("Enable accordion","wp-seopress"),checked:!!u,onChange:function(t){e.setAttributes({showAccordion:!u})}}))));return Object(i.createElement)(h,null,O,Object(i.createElement)("div",{className:"wpseopress-faqs"},"ul"===n&&Object(i.createElement)("ul",null,p()),"ol"===n&&Object(i.createElement)("ol",null,p()),"none"===n&&p(),Object(i.createElement)("div",{className:"wpseopress-faqs-actions"},Object(i.createElement)("button",{type:"button",title:S("Add FAQ","wp-seopress"),className:"add-faq components-button is-secondary",onClick:function(n){n.preventDefault(),e.setAttributes({faqs:[].concat(o()(t.faqs),[{question:"",answer:"",image:""}])})}},S("Add FAQ","wp-seopress")))))})),P=n(6),q=n(7);Object(P.registerBlockType)("wpseopress/faq-block",{title:Object(q.__)("FAQ","wp-seopress"),icon:"index-card",category:"wpseopress",example:{},edit:k,save:function(){return null}})}]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./src/edit.js","webpack:///./src/editor.scss","webpack:///./src/image-control.js","webpack:///./src/index.js","webpack:///external {\"this\":[\"wp\",\"blockEditor\"]}","webpack:///external {\"this\":[\"wp\",\"blocks\"]}","webpack:///external {\"this\":[\"wp\",\"components\"]}","webpack:///external {\"this\":[\"wp\",\"element\"]}","webpack:///external {\"this\":[\"wp\",\"i18n\"]}"],"names":["wp","element","Component","Fragment","i18n","__","_x","compose","withSelect","data","WPSeopress_FAQ","props","attributes","listStyle","titleWrapper","imageSize","showFAQScheme","showFAQs","faqs","map","faq","i","question","value","handleQuestionChange","image","handleImageChange","onRemoveImage","answer","handleAnswerChange","removeFAQ","addFAQ","setAttributes","filter","item","key","inspectorControls","e","preventDefault","select","getMedia","selectedImageId","selectedImage","window","components","Spinner","Button","ResponsiveWrapper","ALLOWED_MEDIA_TYPES","ImageControl","onUpdateImage","onSelect","id","index","getImageSize","imgSize","undefined","source_url","guid","raw","media_details","sizes","thumbnail","medium","large","medium_large","full","error","instructions","open","ownProps","registerBlockType","title","icon","category","example","edit","save"],"mappings":";;;;;;;;;;;;;;;;QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;ACvJA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA;;AAEA,mC;;;;;;;;;;;ACVA,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;ACfA;AACA;AACA;;AAEA,kC;;;;;;;;;;;ACJA;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACJA,wBAAwB,mBAAO,CAAC,uFAAqB;;AAErD,sBAAsB,mBAAO,CAAC,mFAAmB;;AAEjD,iCAAiC,mBAAO,CAAC,yGAA8B;;AAEvE,wBAAwB,mBAAO,CAAC,uFAAqB;;AAErD;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACZA,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBCXgCA,EAAE,CAACC,O;IAA3BC,S,eAAAA,S;IAAWC,Q,eAAAA,Q;AAEnB;eAQmBH,EAAE,CAACI,I;IAAdC,E,YAAAA,E;IAAIC,E,YAAAA,E;AAEZ;AACA;IAEQC,O,GAAYP,EAAE,CAACO,O,CAAfA,O;IACAC,U,GAAeR,EAAE,CAACS,I,CAAlBD,U;;AAER,SAASE,cAAT,CAAwBC,KAAxB,EAA+B;AAAA,MACnBC,UADmB,GACJD,KADI,CACnBC,UADmB;AAAA,MAEnBC,SAFmB,GAEmCD,UAFnC,CAEnBC,SAFmB;AAAA,MAERC,YAFQ,GAEmCF,UAFnC,CAERE,YAFQ;AAAA,MAEMC,SAFN,GAEmCH,UAFnC,CAEMG,SAFN;AAAA,MAEiBC,aAFjB,GAEmCJ,UAFnC,CAEiBI,aAFjB;;AAI3B,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACnB,WACKL,UAAU,CAACC,SAAX,KAAyB,MAAzB,IACGD,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMC,CAAN;AAAA,aAChB;AAAK,WAAG,EAAEA,CAAV;AAAa,iBAAS,EAAC;AAAvB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,gEAAD;AACI,eAAO,EAAET,UAAU,CAACE,YADxB;AAEI,iBAAS,EAAC,yBAFd;AAGI,mBAAW,EAAET,EAAE,CAAC,aAAD,EAAgB,aAAhB,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACE,QAAZ,GAAuB,EAJlC;AAKI,gBAAQ,EAAE,kBAACC,KAAD;AAAA,iBACNC,oBAAoB,CAACD,KAAD,EAAQF,CAAR,CADd;AAAA;AALd,QADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,sDAAD;AACI,aAAK,EAAE,CAAC,CAACD,GAAF,GAAQA,GAAG,CAACK,KAAZ,GAAoB,EAD/B;AAEI,gBAAQ,EAAEC,iBAFd;AAGI,qBAAa,EAAEC,aAHnB;AAII,iBAAS,EAAEf,UAAU,CAACG,SAJ1B;AAKI,aAAK,EAAEM;AALX,QADJ,EAQI,yEAAC,gEAAD;AACI,eAAO,EAAC,GADZ;AAEI,iBAAS,EAAC,uBAFd;AAGI,mBAAW,EAAEhB,EAAE,CAAC,WAAD,EAAc,aAAd,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACQ,MAAZ,GAAqB,EAJhC;AAKI,gBAAQ,EAAE,kBAACL,KAAD;AAAA,iBACNM,kBAAkB,CAACN,KAAD,EAAQF,CAAR,CADZ;AAAA;AALd,QARJ,CAVJ,CADJ,EA8BI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,2BADd;AAEI,aAAK,EAAEhB,EAAE,CAAC,QAAD,EAAW,aAAX,CAFb;AAGI,eAAO,EAAE;AAAA,iBAAMyB,SAAS,CAACT,CAAD,CAAf;AAAA;AAHb,SAKKhB,EAAE,CAAC,QAAD,EAAW,aAAX,CALP,CADJ,CA9BJ,CADgB;AAAA,KAApB,CADJ,IA2CC,CAACO,UAAU,CAACC,SAAX,KAAyB,IAAzB,IAAiCD,UAAU,CAACC,SAAX,KAAyB,IAA3D,KACGD,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMC,CAAN;AAAA,aAChB;AAAI,WAAG,EAAEA,CAAT;AAAY,iBAAS,EAAC;AAAtB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,gEAAD;AACI,eAAO,EAAET,UAAU,CAACE,YADxB;AAEI,iBAAS,EAAC,yBAFd;AAGI,mBAAW,EAAET,EAAE,CAAC,aAAD,EAAgB,aAAhB,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACE,QAAZ,GAAuB,EAJlC;AAKI,gBAAQ,EAAE,kBAACC,KAAD;AAAA,iBACNC,oBAAoB,CAACD,KAAD,EAAQF,CAAR,CADd;AAAA;AALd,QADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,sDAAD;AACI,aAAK,EAAE,CAAC,CAACD,GAAF,GAAQA,GAAG,CAACK,KAAZ,GAAoB,EAD/B;AAEI,gBAAQ,EAAEC,iBAFd;AAGI,qBAAa,EAAEC,aAHnB;AAII,iBAAS,EAAEf,UAAU,CAACG,SAJ1B;AAKI,aAAK,EAAEM;AALX,QADJ,EAQI,yEAAC,gEAAD;AACI,eAAO,EAAC,KADZ;AAEI,iBAAS,EAAC,uBAFd;AAGI,mBAAW,EAAEhB,EAAE,CAAC,WAAD,EAAc,aAAd,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACQ,MAAZ,GAAqB,EAJhC;AAKI,gBAAQ,EAAE,kBAACL,KAAD;AAAA,iBACNM,kBAAkB,CAACN,KAAD,EAAQF,CAAR,CADZ;AAAA;AALd,QARJ,CAVJ,CADJ,EA8BI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,2BADd;AAEI,aAAK,EAAEhB,EAAE,CAAC,QAAD,EAAW,aAAX,CAFb;AAGI,eAAO,EAAE;AAAA,iBAAMyB,SAAS,CAACT,CAAD,CAAf;AAAA;AAHb,SAKKhB,EAAE,CAAC,QAAD,EAAW,aAAX,CALP,CADJ,CA9BJ,CADgB;AAAA,KAApB,CA7CR,CADmB,CAwFjB;AACL,GAzFD;;AA2FA,MAAM0B,MAAM,GAAG,SAATA,MAAS,GAAM;AACjBpB,SAAK,CAACqB,aAAN,CAAoB;AAChBd,UAAI,4FAAMN,UAAU,CAACM,IAAjB,IAAuB;AAAEI,gBAAQ,EAAE,EAAZ;AAAgBM,cAAM,EAAE,EAAxB;AAA4BH,aAAK,EAAE;AAAnC,OAAvB;AADY,KAApB;AAGH,GAJD;;AAMA,MAAMK,SAAS,GAAG,SAAZA,SAAY,CAACT,CAAD,EAAO;AACrB,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBe,MAAhB,CAAuB,UAACC,IAAD,EAAOC,GAAP;AAAA,aAAeA,GAAG,KAAKd,CAAvB;AAAA,KAAvB,CAAb;AACAV,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAHD;;AAKA,MAAMM,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACD,KAAD,EAAQF,CAAR,EAAc;AACvC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIE,gBAAQ,EAAEC;AAFd;AAIH,KATY,CAAb;AAUAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAZD;;AAcA,MAAMW,kBAAkB,GAAG,SAArBA,kBAAqB,CAACN,KAAD,EAAQF,CAAR,EAAc;AACrC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIQ,cAAM,EAAEL;AAFZ;AAIH,KATY,CAAb;AAWAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAbD;;AAeA,MAAMQ,iBAAiB,GAAG,SAApBA,iBAAoB,CAACH,KAAD,EAAQF,CAAR,EAAc;AACpC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIK,aAAK,EAAEF;AAFX;AAIH,KATY,CAAb;AAWAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAbD;;AAeA,MAAMS,aAAa,GAAG,SAAhBA,aAAgB,CAACN,CAAD,EAAO;AACzB,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIK,aAAK,EAAE;AAFX;AAIH,KATY,CAAb;AAUAd,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAZD;;AAcA,MAAMkB,iBAAiB,GACnB,yEAAC,yEAAD,QACI,yEAAC,+DAAD;AAAW,SAAK,EAAE/B,EAAE,CAAC,cAAD,EAAiB,aAAjB;AAApB,KACI,oFAAIA,EAAE,CAAC,YAAD,EAAe,aAAf,CAAN,CADJ,EAEI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,UAAUQ,SAAV,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,MAAD,EAAS,cAAT,EAAyB,aAAzB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQO,SAAR,GAAoB,IAApB,GAA2B,KAF1C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,IAAD,EAAO,eAAP,EAAwB,aAAxB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQO,SAAR,GAAoB,IAApB,GAA2B,KAF1C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,IAAD,EAAO,gBAAP,EAAyB,aAAzB,CATP,CAvBJ,CADJ,CAFJ,EAuCI,oFAAID,EAAE,CAAC,eAAD,EAAkB,aAAlB,CAAN,CAvCJ,EAwCI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQS,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAvBJ,EAkCI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAlCJ,EA6CI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CA7CJ,EAwDI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,OAAOQ,YAAP,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,GAAD,EAAM,aAAN,EAAqB,aAArB,CATP,CAxDJ,EAmEI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,SAASQ,YAAT,GAAwB,IAAxB,GAA+B,KAF9C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,KAAD,EAAQ,eAAR,EAAyB,aAAzB,CATP,CAnEJ,CADJ,CAxCJ,EAyHI,oFAAID,EAAE,CAAC,YAAD,EAAe,aAAf,CAAN,CAzHJ,EA0HI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,eAAeU,SAAf,GAA2B,IAA3B,GAAkC,KAFjD;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,gBAAN,EAAwB,aAAxB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,YAAYS,SAAZ,GAAwB,IAAxB,GAA+B,KAF9C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,aAAN,EAAqB,aAArB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,WAAWS,SAAX,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,YAAN,EAAoB,aAApB,CATP,CAvBJ,EAkCI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,UAAUS,SAAV,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,IAAD,EAAO,eAAP,EAAwB,aAAxB,CATP,CAlCJ,CADJ,CA1HJ,EA0KI,oFAAID,EAAE,CAAC,cAAD,EAAiB,aAAjB,CAAN,CA1KJ,EA2KI,yEAAC,8DAAD,QACI,yEAAC,mEAAD;AACI,SAAK,EAAEA,EAAE,CAAC,mBAAD,EAAsB,aAAtB,CADb;AAEI,WAAO,EAAE,CAAC,CAACW,aAFf;AAGI,YAAQ,EAAE,kBAACqB,CAAD,EAAO;AACb1B,WAAK,CAACqB,aAAN,CAAoB;AAChBhB,qBAAa,EAAE,CAACA;AADA,OAApB;AAGH;AAPL,IADJ,CA3KJ,CADJ,CADJ;AA4LA,SACI,yEAAC,QAAD,QACKoB,iBADL,EAEI;AAAK,aAAS,EAAC;AAAf,KACKvB,SAAS,KAAK,IAAd,IAAsB,qFAAKI,QAAQ,EAAb,CAD3B,EAEKJ,SAAS,KAAK,IAAd,IAAsB,qFAAKI,QAAQ,EAAb,CAF3B,EAGKJ,SAAS,KAAK,MAAd,IAAwBI,QAAQ,EAHrC,EAII;AAAK,aAAS,EAAC;AAAf,KACI;AACI,QAAI,EAAC,QADT;AAEI,SAAK,EAAEZ,EAAE,CAAC,SAAD,EAAY,aAAZ,CAFb;AAGI,aAAS,EAAC,gCAHd;AAII,WAAO,EAAE,iBAACgC,CAAD,EAAO;AACZA,OAAC,CAACC,cAAF;AACAP,YAAM;AACT;AAPL,KASK1B,EAAE,CAAC,SAAD,EAAY,aAAZ,CATP,CADJ,CAJJ,CAFJ,CADJ;AAuBH;;AAEcE,sEAAO,CAClBC,UAAU,CAAC,UAAC+B,MAAD,QAA4B;AAAA,MAAjB3B,UAAiB,QAAjBA,UAAiB;;AAAA,gBACd2B,MAAM,CAAC,MAAD,CADQ;AAAA,MAC3BC,QAD2B,WAC3BA,QAD2B;;AAAA,MAE3BC,eAF2B,GAEP7B,UAFO,CAE3B6B,eAF2B;AAInC,SAAO;AACHC,iBAAa,EAAED,eAAe,GAAGD,QAAQ,CAACC,eAAD,CAAX,GAA+B;AAD1D,GAAP;AAGH,CAPS,CADQ,CAAP,CASb/B,cATa,CAAf,E;;;;;;;;;;;AC3YA,uC;;;;;;;;;;;;;;;;;;ACAA,IAAMV,EAAE,GAAG2C,MAAM,CAAC3C,EAAlB;IACQQ,U,GAAeR,EAAE,CAACS,I,CAAlBD,U;IACAN,S,GAAcF,EAAE,CAACC,O,CAAjBC,S;AACR;qBAC+CF,EAAE,CAAC4C,U;IAA1CC,O,kBAAAA,O;IAASC,M,kBAAAA,M;IAAQC,iB,kBAAAA,iB;IACjBxC,O,GAAYP,EAAE,CAACO,O,CAAfA,O;IACAF,E,GAAOL,EAAE,CAACI,I,CAAVC,E;AAER,IAAM2C,mBAAmB,GAAG,CAAC,OAAD,CAA5B;;AAEA,SAASC,YAAT,CAAsBtC,KAAtB,EAA6B;AAAA,MACjBY,KADiB,GACAZ,KADA,CACjBY,KADiB;AAAA,MACVE,KADU,GACAd,KADA,CACVc,KADU;;AAGzB,MAAMyB,aAAa,GAAG,SAAhBA,aAAgB,CAACzB,KAAD,EAAW;AAC7Bd,SAAK,CAACwC,QAAN,CAAe1B,KAAK,CAAC2B,EAArB,EAAyBzC,KAAK,CAAC0C,KAA/B;AACH,GAFD;;AAIA,MAAM1B,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AACxBhB,SAAK,CAACgB,aAAN,CAAoBhB,KAAK,CAAC0C,KAA1B;AACH,GAFD;;AAIA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAC7B,KAAD,EAAW;AAC5B,QAAI8B,OAAO,GAAG,IAAd;;AAEA,QAAI;AACA,UAAIC,SAAS,IAAI/B,KAAjB,EAAwB;AACpB8B,eAAO,GAAG,EAAV;AACAA,eAAO,CAACE,UAAR,GAAqBhC,KAAK,CAACiC,IAAN,CAAWC,GAAhC;;AAEA,YAAIH,SAAS,IAAI/B,KAAK,CAACmC,aAAN,CAAoBC,KAArC,EAA4C;AACxCN,iBAAO,GAAG,IAAV;;AACA,kBAAQ5C,KAAK,CAACI,SAAd;AACI,iBAAK,WAAL;AACIwC,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BC,SADhC,GAEM,IAHV;AAIA;;AACJ,iBAAK,QAAL;AACIP,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BE,MADhC,GAEM,IAHV;AAIA;;AACJ,iBAAK,OAAL;AACIR,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACM+B,SAAS,IACT/B,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BG,KAD1B,GAEIvC,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BG,KAF9B,GAGIvC,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BI,YAJpC,GAKM,IANV;AAOA;;AACJ;AACIV,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BK,IADhC,GAEM,IAHV;AAvBR;AA4BH;AACJ;;AACD,aAAOX,OAAP;AACH,KAtCD,CAsCE,OAAOY,KAAP,EAAc;AACZ,aAAOZ,OAAP;AACH;AACJ,GA5CD;;AA8CA,MAAMa,YAAY,GACd,oFACK/D,EAAE,CACC,oEADD,EAEC,aAFD,CADP,CADJ;AASA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,yEAAC,wEAAD;AAAkB,YAAQ,EAAE+D;AAA5B,KACI,yEAAC,mEAAD;AACI,SAAK,EAAE/D,EAAE,CAAC,WAAD,EAAc,aAAd,CADb;AAEI,YAAQ,EAAE6C,aAFd;AAGI,gBAAY,EAAEF,mBAHlB;AAII,SAAK,EAAEzB,KAJX;AAKI,UAAM,EAAE,sBAAc;AAAA,UAAX8C,IAAW,QAAXA,IAAW;AAClB,UAAMtD,SAAS,GAAGuC,YAAY,CAAC7B,KAAD,CAA9B;AACA,aACI,yEAAC,MAAD;AACI,iBAAS,EACL,CAACF,KAAD,GACM,oCADN,GAEM,qCAJd;AAMI,eAAO,EAAE8C;AANb,SAQK,CAAC9C,KAAD,IAAUlB,EAAE,CAAC,WAAD,EAAc,aAAd,CARjB,EASK,CAAC,CAACkB,KAAF,IAAW,CAACE,KAAZ,IAAqB,yEAAC,OAAD,OAT1B,EAUK,CAAC,CAACF,KAAF,IACGE,KADH,IAEGV,SAFH,IAGGA,SAAS,CAAC0C,UAHb,IAIO;AACI,WAAG,EAAE1C,SAAS,CAAC0C,UADnB;AAEI,WAAG,EAAEpD,EAAE,CAAC,WAAD,EAAc,aAAd;AAFX,QAdZ,CADJ;AAsBH;AA7BL,IADJ,CADJ,EAkCK,CAAC,CAACkB,KAAF,IACG,yEAAC,wEAAD,QACI,yEAAC,MAAD;AAAQ,WAAO,EAAEI,aAAjB;AAAgC,UAAM,MAAtC;AAAuC,iBAAa;AAApD,KACKtB,EAAE,CAAC,cAAD,EAAiB,aAAjB,CADP,CADJ,CAnCR,CADJ;AA4CH;;AAEcE,sEAAO,CAClBC,UAAU,CAAC,UAAC+B,MAAD,EAAS+B,QAAT,EAAsB;AAC7B,SAAO;AACH7C,SAAK,EAAE6C,QAAQ,CAAC/C,KAAT,GACDgB,MAAM,CAAC,MAAD,CAAN,CAAeC,QAAf,CAAwB8B,QAAQ,CAAC/C,KAAjC,CADC,GAED;AAHH,GAAP;AAKH,CANS,CADQ,CAAP,CAQb0B,YARa,CAAf,E;;;;;;;;;;;;AC1HA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEAsB,2EAAiB,CAAC,sBAAD,EAAyB;AACtCC,OAAK,EAAEnE,0DAAE,CAAC,KAAD,EAAQ,aAAR,CAD6B;AAEtCoE,MAAI,EAAE,YAFgC;AAGtCC,UAAQ,EAAE,YAH4B;AAItCC,SAAO,EAAE,EAJ6B;AAKtCC,MAAI,EAAEA,6CALgC;AAMtCC,MANsC,kBAM/B;AACH,WAAO,IAAP;AACH;AARqC,CAAzB,CAAjB,C;;;;;;;;;;;ACNA,aAAa,4CAA4C,EAAE,I;;;;;;;;;;;ACA3D,aAAa,uCAAuC,EAAE,I;;;;;;;;;;;ACAtD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,qCAAqC,EAAE,I","file":"index.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./src/index.js\",\"style-index\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","const { Component, Fragment } = wp.element\n\nimport {\n PanelBody,\n Button,\n ButtonGroup,\n PanelRow,\n ToggleControl,\n} from '@wordpress/components'\n\nconst { __, _x } = wp.i18n\n\nimport { RichText, InspectorControls } from '@wordpress/block-editor'\nimport ImageControl from './image-control'\n\nconst { compose } = wp.compose\nconst { withSelect } = wp.data\n\nfunction WPSeopress_FAQ(props) {\n const { attributes } = props\n const { listStyle, titleWrapper, imageSize, showFAQScheme } = attributes\n\n const showFAQs = () => {\n return (\n (attributes.listStyle === 'none' &&\n attributes.faqs.map((faq, i) => (\n <div key={i} className=\"wpseopress-faqs-area\">\n <div className=\"wpseopress-faq\">\n <RichText\n tagName={attributes.titleWrapper}\n className=\"wpseopress-faq-question\"\n placeholder={__('Question...', 'wp-seopress')}\n value={!!faq ? faq.question : ''}\n onChange={(value) =>\n handleQuestionChange(value, i)\n }\n />\n <div className=\"wpseopress-answer-meta\">\n <ImageControl\n value={!!faq ? faq.image : ''}\n onSelect={handleImageChange}\n onRemoveImage={onRemoveImage}\n imageSize={attributes.imageSize}\n index={i}\n />\n <RichText\n tagName=\"p\"\n className=\"wpseopress-faq-answer\"\n placeholder={__('Answer...', 'wp-seopress')}\n value={!!faq ? faq.answer : ''}\n onChange={(value) =>\n handleAnswerChange(value, i)\n }\n />\n </div>\n </div>\n <div className=\"wpseopress-faq-cta\">\n <button\n className=\"button button-link-delete\"\n value={__('Remove', 'wp-seopress')}\n onClick={() => removeFAQ(i)}\n >\n {__('Remove', 'wp-seopress')}\n </button>\n </div>\n </div>\n ))) ||\n ((attributes.listStyle === 'ul' || attributes.listStyle === 'ol') &&\n attributes.faqs.map((faq, i) => (\n <li key={i} className=\"wpseopress-faqs-area\">\n <div className=\"wpseopress-faq\">\n <RichText\n tagName={attributes.titleWrapper}\n className=\"wpseopress-faq-question\"\n placeholder={__('Question...', 'wp-seopress')}\n value={!!faq ? faq.question : ''}\n onChange={(value) =>\n handleQuestionChange(value, i)\n }\n />\n <div className=\"wpseopress-answer-meta\">\n <ImageControl\n value={!!faq ? faq.image : ''}\n onSelect={handleImageChange}\n onRemoveImage={onRemoveImage}\n imageSize={attributes.imageSize}\n index={i}\n />\n <RichText\n tagName=\"div\"\n className=\"wpseopress-faq-answer\"\n placeholder={__('Answer...', 'wp-seopress')}\n value={!!faq ? faq.answer : ''}\n onChange={(value) =>\n handleAnswerChange(value, i)\n }\n />\n </div>\n </div>\n <div className=\"wpseopress-faq-cta\">\n <button\n className=\"button button-link-delete\"\n value={__('Remove', 'wp-seopress')}\n onClick={() => removeFAQ(i)}\n >\n {__('Remove', 'wp-seopress')}\n </button>\n </div>\n </li>\n )))\n ) // End return\n }\n\n const addFAQ = () => {\n props.setAttributes({\n faqs: [...attributes.faqs, { question: '', answer: '', image: '' }],\n })\n }\n\n const removeFAQ = (i) => {\n const faqs = attributes.faqs.filter((item, key) => key !== i)\n props.setAttributes({ faqs: faqs })\n }\n\n const handleQuestionChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n question: value,\n }\n })\n props.setAttributes({ faqs: faqs })\n }\n\n const handleAnswerChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n answer: value,\n }\n })\n\n props.setAttributes({ faqs: faqs })\n }\n\n const handleImageChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n image: value,\n }\n })\n\n props.setAttributes({ faqs: faqs })\n }\n\n const onRemoveImage = (i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n image: null,\n }\n })\n props.setAttributes({ faqs: faqs })\n }\n\n const inspectorControls = (\n <InspectorControls>\n <PanelBody title={__('FAQ Settings', 'wp-seopress')}>\n <p>{__('List Style', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-list-style\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'none' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'none',\n })\n }}\n >\n {_x('NONE', 'Div tag List', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'ol' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'ol',\n })\n }}\n >\n {_x('OL', 'Numbered List', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'ul' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'ul',\n })\n }}\n >\n {_x('UL', 'Unordered List', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('Title Wrapper', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-title-wrapper\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'h2' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h2',\n })\n }}\n >\n {_x('H2', 'H2 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h3' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h3',\n })\n }}\n >\n {_x('H3', 'H3 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h4' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h4',\n })\n }}\n >\n {_x('H4', 'H4 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h5' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h5',\n })\n }}\n >\n {_x('H5', 'H5 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h6' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h6',\n })\n }}\n >\n {_x('H6', 'H6 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'p' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'p',\n })\n }}\n >\n {_x('P', 'P title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'div' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'div',\n })\n }}\n >\n {_x('DIV', 'DIV title tag', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('Image Size', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-image-size\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'thumbnail' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'thumbnail',\n })\n }}\n >\n {_x('S', 'Thubmnail Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'medium' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'medium',\n })\n }}\n >\n {_x('M', 'Medium Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'large' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'large',\n })\n }}\n >\n {_x('L', 'Large Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'full' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'full',\n })\n }}\n >\n {_x('XL', 'Original Size', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('SEO Settings', 'wp-seopress')}</p>\n <PanelRow>\n <ToggleControl\n label={__('Enable FAQ Schema', 'wp-seopress')}\n checked={!!showFAQScheme}\n onChange={(e) => {\n props.setAttributes({\n showFAQScheme: !showFAQScheme,\n })\n }}\n />\n </PanelRow>\n </PanelBody>\n </InspectorControls>\n )\n\n return (\n <Fragment>\n {inspectorControls}\n <div className=\"wpseopress-faqs\">\n {listStyle === 'ul' && <ul>{showFAQs()}</ul>}\n {listStyle === 'ol' && <ol>{showFAQs()}</ol>}\n {listStyle === 'none' && showFAQs()}\n <div className=\"wpseopress-faqs-actions\">\n <button\n type=\"button\"\n title={__('Add FAQ', 'wp-seopress')}\n className=\"add-faq button button-link-add\"\n onClick={(e) => {\n e.preventDefault()\n addFAQ()\n }}\n >\n {__('Add FAQ', 'wp-seopress')}\n </button>\n </div>\n </div>\n </Fragment>\n )\n}\n\nexport default compose(\n withSelect((select, { attributes }) => {\n const { getMedia } = select('core')\n const { selectedImageId } = attributes\n\n return {\n selectedImage: selectedImageId ? getMedia(selectedImageId) : 0,\n }\n })\n)(WPSeopress_FAQ)\n","// extracted by mini-css-extract-plugin","const wp = window.wp\nconst { withSelect } = wp.data\nconst { Component } = wp.element\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor'\nconst { Spinner, Button, ResponsiveWrapper } = wp.components\nconst { compose } = wp.compose\nconst { __ } = wp.i18n\n\nconst ALLOWED_MEDIA_TYPES = ['image']\n\nfunction ImageControl(props) {\n const { value, image } = props\n\n const onUpdateImage = (image) => {\n props.onSelect(image.id, props.index)\n }\n\n const onRemoveImage = () => {\n props.onRemoveImage(props.index)\n }\n\n const getImageSize = (image) => {\n let imgSize = null\n\n try {\n if (undefined != image) {\n imgSize = {}\n imgSize.source_url = image.guid.raw\n\n if (undefined != image.media_details.sizes) {\n imgSize = null\n switch (props.imageSize) {\n case 'thumbnail':\n imgSize =\n undefined != image\n ? image.media_details.sizes.thumbnail\n : null\n break\n case 'medium':\n imgSize =\n undefined != image\n ? image.media_details.sizes.medium\n : null\n break\n case 'large':\n imgSize =\n undefined != image\n ? undefined !=\n image.media_details.sizes.large\n ? image.media_details.sizes.large\n : image.media_details.sizes.medium_large\n : null\n break\n default:\n imgSize =\n undefined != image\n ? image.media_details.sizes.full\n : null\n }\n }\n }\n return imgSize\n } catch (error) {\n return imgSize\n }\n }\n\n const instructions = (\n <p>\n {__(\n 'To edit the background image, you need permission to upload media.',\n 'wp-seopress'\n )}\n </p>\n )\n\n return (\n <div className=\"wp-block-wp-seopress-image\">\n <MediaUploadCheck fallback={instructions}>\n <MediaUpload\n title={__('Set Image', 'wp-seopress')}\n onSelect={onUpdateImage}\n allowedTypes={ALLOWED_MEDIA_TYPES}\n value={value}\n render={({ open }) => {\n const imageSize = getImageSize(image)\n return (\n <Button\n className={\n !value\n ? 'editor-post-featured-image__toggle'\n : 'editor-post-featured-image__preview'\n }\n onClick={open}\n >\n {!value && __('Set Image', 'wp-seopress')}\n {!!value && !image && <Spinner />}\n {!!value &&\n image &&\n imageSize &&\n imageSize.source_url && (\n <img\n src={imageSize.source_url}\n alt={__('Set Image', 'wp-seopress')}\n />\n )}\n </Button>\n )\n }}\n />\n </MediaUploadCheck>\n {!!value && (\n <MediaUploadCheck>\n <Button onClick={onRemoveImage} isLink isDestructive>\n {__('Remove Image', 'wp-seopress')}\n </Button>\n </MediaUploadCheck>\n )}\n </div>\n )\n}\n\nexport default compose(\n withSelect((select, ownProps) => {\n return {\n image: ownProps.value\n ? select('core').getMedia(ownProps.value)\n : null,\n }\n })\n)(ImageControl)\n","import './editor.scss'\nimport './style.scss'\nimport edit from './edit'\nimport { registerBlockType } from '@wordpress/blocks'\nimport { __ } from '@wordpress/i18n'\n\nregisterBlockType('wpseopress/faq-block', {\n title: __('FAQ', 'wp-seopress'),\n icon: 'index-card',\n category: 'wpseopress',\n example: {},\n edit: edit,\n save() {\n return null\n },\n})\n","(function() { module.exports = this[\"wp\"][\"blockEditor\"]; }());","(function() { module.exports = this[\"wp\"][\"blocks\"]; }());","(function() { module.exports = this[\"wp\"][\"components\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());"],"sourceRoot":""}
|
|
@@ -1,3 +1 @@
|
|
1 |
|
2 |
-
|
3 |
-
/*# sourceMappingURL=style-index.css.map*/
|
1 |
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"style-index.css","sourceRoot":""}
|
|
@@ -2878,6 +2878,43 @@
|
|
2878 |
"webpack-bundle-analyzer": "^3.6.1",
|
2879 |
"webpack-cli": "^3.3.11",
|
2880 |
"webpack-livereload-plugin": "^2.3.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2881 |
}
|
2882 |
},
|
2883 |
"@wordpress/warning": {
|
@@ -12490,12 +12527,6 @@
|
|
12490 |
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
|
12491 |
"dev": true
|
12492 |
},
|
12493 |
-
"prettier": {
|
12494 |
-
"version": "npm:wp-prettier@2.0.5",
|
12495 |
-
"resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.0.5.tgz",
|
12496 |
-
"integrity": "sha512-5GCgdeevIXwR3cW4Qj5XWC5MO1iSCz8+IPn0mMw6awAt/PBiey8yyO7MhePRsaMqghJAhg6Q3QLYWSnUHWkG6A==",
|
12497 |
-
"dev": true
|
12498 |
-
},
|
12499 |
"prettier-linter-helpers": {
|
12500 |
"version": "1.0.0",
|
12501 |
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
|
@@ -12700,37 +12731,6 @@
|
|
12700 |
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
12701 |
"dev": true
|
12702 |
},
|
12703 |
-
"puppeteer": {
|
12704 |
-
"version": "npm:puppeteer-core@3.0.0",
|
12705 |
-
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz",
|
12706 |
-
"integrity": "sha512-oWjZFGMc0q2ak+8OxdmMffS79LIT0UEtmpV4h1/AARvESIqqKljf8mrfP+dQ2kas7XttsAZIxRBuWu7Y5JH8KQ==",
|
12707 |
-
"dev": true,
|
12708 |
-
"requires": {
|
12709 |
-
"@types/mime-types": "^2.1.0",
|
12710 |
-
"debug": "^4.1.0",
|
12711 |
-
"extract-zip": "^2.0.0",
|
12712 |
-
"https-proxy-agent": "^4.0.0",
|
12713 |
-
"mime": "^2.0.3",
|
12714 |
-
"mime-types": "^2.1.25",
|
12715 |
-
"progress": "^2.0.1",
|
12716 |
-
"proxy-from-env": "^1.0.0",
|
12717 |
-
"rimraf": "^3.0.2",
|
12718 |
-
"tar-fs": "^2.0.0",
|
12719 |
-
"unbzip2-stream": "^1.3.3",
|
12720 |
-
"ws": "^7.2.3"
|
12721 |
-
},
|
12722 |
-
"dependencies": {
|
12723 |
-
"rimraf": {
|
12724 |
-
"version": "3.0.2",
|
12725 |
-
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
12726 |
-
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
12727 |
-
"dev": true,
|
12728 |
-
"requires": {
|
12729 |
-
"glob": "^7.1.3"
|
12730 |
-
}
|
12731 |
-
}
|
12732 |
-
}
|
12733 |
-
},
|
12734 |
"q": {
|
12735 |
"version": "1.5.1",
|
12736 |
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
2878 |
"webpack-bundle-analyzer": "^3.6.1",
|
2879 |
"webpack-cli": "^3.3.11",
|
2880 |
"webpack-livereload-plugin": "^2.3.0"
|
2881 |
+
},
|
2882 |
+
"dependencies": {
|
2883 |
+
"prettier": {
|
2884 |
+
"version": "npm:wp-prettier@2.0.5",
|
2885 |
+
"resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.0.5.tgz",
|
2886 |
+
"integrity": "sha512-5GCgdeevIXwR3cW4Qj5XWC5MO1iSCz8+IPn0mMw6awAt/PBiey8yyO7MhePRsaMqghJAhg6Q3QLYWSnUHWkG6A==",
|
2887 |
+
"dev": true
|
2888 |
+
},
|
2889 |
+
"puppeteer": {
|
2890 |
+
"version": "npm:puppeteer-core@3.0.0",
|
2891 |
+
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz",
|
2892 |
+
"integrity": "sha512-oWjZFGMc0q2ak+8OxdmMffS79LIT0UEtmpV4h1/AARvESIqqKljf8mrfP+dQ2kas7XttsAZIxRBuWu7Y5JH8KQ==",
|
2893 |
+
"dev": true,
|
2894 |
+
"requires": {
|
2895 |
+
"@types/mime-types": "^2.1.0",
|
2896 |
+
"debug": "^4.1.0",
|
2897 |
+
"extract-zip": "^2.0.0",
|
2898 |
+
"https-proxy-agent": "^4.0.0",
|
2899 |
+
"mime": "^2.0.3",
|
2900 |
+
"mime-types": "^2.1.25",
|
2901 |
+
"progress": "^2.0.1",
|
2902 |
+
"proxy-from-env": "^1.0.0",
|
2903 |
+
"rimraf": "^3.0.2",
|
2904 |
+
"tar-fs": "^2.0.0",
|
2905 |
+
"unbzip2-stream": "^1.3.3",
|
2906 |
+
"ws": "^7.2.3"
|
2907 |
+
}
|
2908 |
+
},
|
2909 |
+
"rimraf": {
|
2910 |
+
"version": "3.0.2",
|
2911 |
+
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
2912 |
+
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
2913 |
+
"dev": true,
|
2914 |
+
"requires": {
|
2915 |
+
"glob": "^7.1.3"
|
2916 |
+
}
|
2917 |
+
}
|
2918 |
}
|
2919 |
},
|
2920 |
"@wordpress/warning": {
|
12527 |
"integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
|
12528 |
"dev": true
|
12529 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
12530 |
"prettier-linter-helpers": {
|
12531 |
"version": "1.0.0",
|
12532 |
"resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
|
12731 |
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
12732 |
"dev": true
|
12733 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12734 |
"q": {
|
12735 |
"version": "1.5.1",
|
12736 |
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
|
File without changes
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
const accordions = document.querySelectorAll(".wpseopress-wrap-faq-question");
|
2 |
+
for (let i = 0; i < accordions.length; i++) {
|
3 |
+
accordions[i].addEventListener('click', function (e) {
|
4 |
+
var btn = this.nextElementSibling;
|
5 |
+
var aria = this.querySelector('.wpseopress-accordion-button');
|
6 |
+
btn.classList.toggle('wpseopress-hide');
|
7 |
+
aria.getAttribute('aria-expanded') === 'true' ? aria.setAttribute('aria-expanded', 'false') : aria.setAttribute('aria-expanded', 'true');
|
8 |
+
});
|
9 |
+
}
|
@@ -18,7 +18,7 @@ const { withSelect } = wp.data
|
|
18 |
|
19 |
function WPSeopress_FAQ(props) {
|
20 |
const { attributes } = props
|
21 |
-
const { listStyle, titleWrapper, imageSize, showFAQScheme } = attributes
|
22 |
|
23 |
const showFAQs = () => {
|
24 |
return (
|
@@ -56,7 +56,7 @@ function WPSeopress_FAQ(props) {
|
|
56 |
</div>
|
57 |
<div className="wpseopress-faq-cta">
|
58 |
<button
|
59 |
-
className="button
|
60 |
value={__('Remove', 'wp-seopress')}
|
61 |
onClick={() => removeFAQ(i)}
|
62 |
>
|
@@ -99,7 +99,7 @@ function WPSeopress_FAQ(props) {
|
|
99 |
</div>
|
100 |
<div className="wpseopress-faq-cta">
|
101 |
<button
|
102 |
-
className="button
|
103 |
value={__('Remove', 'wp-seopress')}
|
104 |
onClick={() => removeFAQ(i)}
|
105 |
>
|
@@ -364,6 +364,18 @@ function WPSeopress_FAQ(props) {
|
|
364 |
}}
|
365 |
/>
|
366 |
</PanelRow>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
</PanelBody>
|
368 |
</InspectorControls>
|
369 |
)
|
@@ -379,7 +391,7 @@ function WPSeopress_FAQ(props) {
|
|
379 |
<button
|
380 |
type="button"
|
381 |
title={__('Add FAQ', 'wp-seopress')}
|
382 |
-
className="add-faq button
|
383 |
onClick={(e) => {
|
384 |
e.preventDefault()
|
385 |
addFAQ()
|
18 |
|
19 |
function WPSeopress_FAQ(props) {
|
20 |
const { attributes } = props
|
21 |
+
const { listStyle, titleWrapper, imageSize, showFAQScheme, showAccordion } = attributes
|
22 |
|
23 |
const showFAQs = () => {
|
24 |
return (
|
56 |
</div>
|
57 |
<div className="wpseopress-faq-cta">
|
58 |
<button
|
59 |
+
className="components-button is-tertiary is-destructive"
|
60 |
value={__('Remove', 'wp-seopress')}
|
61 |
onClick={() => removeFAQ(i)}
|
62 |
>
|
99 |
</div>
|
100 |
<div className="wpseopress-faq-cta">
|
101 |
<button
|
102 |
+
className="components-button is-tertiary is-destructive"
|
103 |
value={__('Remove', 'wp-seopress')}
|
104 |
onClick={() => removeFAQ(i)}
|
105 |
>
|
364 |
}}
|
365 |
/>
|
366 |
</PanelRow>
|
367 |
+
<p>{__('Display', 'wp-seopress')}</p>
|
368 |
+
<PanelRow>
|
369 |
+
<ToggleControl
|
370 |
+
label={__('Enable accordion', 'wp-seopress')}
|
371 |
+
checked={!!showAccordion}
|
372 |
+
onChange={(e) => {
|
373 |
+
props.setAttributes({
|
374 |
+
showAccordion: !showAccordion,
|
375 |
+
})
|
376 |
+
}}
|
377 |
+
/>
|
378 |
+
</PanelRow>
|
379 |
</PanelBody>
|
380 |
</InspectorControls>
|
381 |
)
|
391 |
<button
|
392 |
type="button"
|
393 |
title={__('Add FAQ', 'wp-seopress')}
|
394 |
+
className="add-faq components-button is-secondary"
|
395 |
onClick={(e) => {
|
396 |
e.preventDefault()
|
397 |
addFAQ()
|
@@ -1,5 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.wpseopress-answer-meta {
|
2 |
-
.wp-block-wp-seopress-image {
|
3 |
.components-button.editor-post-featured-image__preview {
|
4 |
text-align: left;
|
5 |
}
|
@@ -8,14 +14,10 @@
|
|
8 |
.wpseopress-faq-cta {
|
9 |
display: flex;
|
10 |
justify-content: flex-end;
|
11 |
-
|
12 |
-
.button-link-delete, .button-link-delete:hover {
|
13 |
-
border: 1px solid #a00;
|
14 |
-
}
|
15 |
}
|
16 |
|
17 |
-
.wpseopress-faqs-list-style,
|
18 |
-
.wpseopress-faqs-title-wrapper,
|
19 |
.wpseopress-faqs-image-size {
|
20 |
button.components-button.is-primary {
|
21 |
background-color: #007cba;
|
@@ -32,4 +34,4 @@
|
|
32 |
& > p {
|
33 |
margin: 15px 0 0 0;
|
34 |
}
|
35 |
-
}
|
1 |
+
.wpseopress-faqs-actions {
|
2 |
+
border: 1px solid #1e1e1e;
|
3 |
+
padding: 1rem;
|
4 |
+
background: #fff;
|
5 |
+
margin-top: 1rem;
|
6 |
+
}
|
7 |
.wpseopress-answer-meta {
|
8 |
+
.wp-block-wp-seopress-image {
|
9 |
.components-button.editor-post-featured-image__preview {
|
10 |
text-align: left;
|
11 |
}
|
14 |
.wpseopress-faq-cta {
|
15 |
display: flex;
|
16 |
justify-content: flex-end;
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
|
19 |
+
.wpseopress-faqs-list-style,
|
20 |
+
.wpseopress-faqs-title-wrapper,
|
21 |
.wpseopress-faqs-image-size {
|
22 |
button.components-button.is-primary {
|
23 |
background-color: #007cba;
|
34 |
& > p {
|
35 |
margin: 15px 0 0 0;
|
36 |
}
|
37 |
+
}
|
@@ -46,6 +46,10 @@ function seopress_register_block_faq($asset_file)
|
|
46 |
'showFAQScheme' => array(
|
47 |
'type' => 'boolean',
|
48 |
'default' => false
|
|
|
|
|
|
|
|
|
49 |
)
|
50 |
),
|
51 |
'render_callback' => 'seopress_block_faq_render_frontend',
|
@@ -115,13 +119,14 @@ function seopress_block_faq_render_frontend($attributes)
|
|
115 |
ob_start(); ?>
|
116 |
<?php echo $listStyleTag; ?>
|
117 |
<?php
|
|
|
118 |
foreach ($attributes['faqs'] as $faq) :
|
119 |
|
120 |
if (empty($faq['question'])) {
|
121 |
continue;
|
122 |
}
|
123 |
|
124 |
-
|
125 |
'@type' => 'Question',
|
126 |
'name' => $faq['question'],
|
127 |
'acceptedAnswer' => [
|
@@ -129,35 +134,64 @@ function seopress_block_faq_render_frontend($attributes)
|
|
129 |
'text' => ! empty($faq['answer']) ? $faq['answer'] : ''
|
130 |
]
|
131 |
];
|
132 |
-
|
133 |
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
<?php endforeach; ?>
|
159 |
-
<?php echo $listStyleCloseTag;
|
160 |
-
|
|
|
161 |
$seopress_get_toggle_rich_snippets_option = get_option('seopress_toggle');
|
162 |
$seopress_get_toggle_rich_snippets_option = isset($seopress_get_toggle_rich_snippets_option['toggle-rich-snippets']) ? $seopress_get_toggle_rich_snippets_option['toggle-rich-snippets'] : '0';
|
163 |
if ('0' != $seopress_get_toggle_rich_snippets_option && (int) $attributes['showFAQScheme']) {
|
@@ -170,6 +204,7 @@ function seopress_block_faq_render_frontend($attributes)
|
|
170 |
</script>';
|
171 |
|
172 |
echo apply_filters('seopress_schemas_faq_html', $schema);
|
173 |
-
}
|
174 |
-
|
|
|
175 |
}
|
46 |
'showFAQScheme' => array(
|
47 |
'type' => 'boolean',
|
48 |
'default' => false
|
49 |
+
),
|
50 |
+
'showAccordion' => array(
|
51 |
+
'type' => 'boolean',
|
52 |
+
'default' => false
|
53 |
)
|
54 |
),
|
55 |
'render_callback' => 'seopress_block_faq_render_frontend',
|
119 |
ob_start(); ?>
|
120 |
<?php echo $listStyleTag; ?>
|
121 |
<?php
|
122 |
+
$i = 1;
|
123 |
foreach ($attributes['faqs'] as $faq) :
|
124 |
|
125 |
if (empty($faq['question'])) {
|
126 |
continue;
|
127 |
}
|
128 |
|
129 |
+
$entity = [
|
130 |
'@type' => 'Question',
|
131 |
'name' => $faq['question'],
|
132 |
'acceptedAnswer' => [
|
134 |
'text' => ! empty($faq['answer']) ? $faq['answer'] : ''
|
135 |
]
|
136 |
];
|
137 |
+
$entities[] = $entity;
|
138 |
|
139 |
+
$accordion = $attributes['showAccordion'];
|
140 |
+
|
141 |
+
if ($accordion) {
|
142 |
+
//Load our inline CSS only once
|
143 |
+
if (!isset($css)) {
|
144 |
+
$css = '<style>.wpseopress-hide {display: none;}.wpseopress-accordion-button{width:100%}</style>';
|
145 |
+
$css = apply_filters( 'seopress_faq_block_inline_css', $css );
|
146 |
+
echo $css;
|
147 |
+
}
|
148 |
+
//Our simple accordion JS
|
149 |
+
wp_enqueue_script('seopress-accordion', plugins_url('accordion.js', __FILE__), '', SEOPRESS_VERSION, true);
|
150 |
+
}
|
151 |
|
152 |
+
$image = '';
|
153 |
+
$image_alt = '';
|
154 |
+
if ( isset( $faq['image'] ) && is_int( $faq['image'] ) ) {
|
155 |
+
$image = wp_get_attachment_image_src( $faq['image'], $attributes['imageSize'] );
|
156 |
+
$image_alt = get_post_meta($faq['image'], '_wp_attachment_image_alt', true);
|
157 |
+
}
|
158 |
+
|
159 |
+
$image_url = '';
|
160 |
+
if ( isset( $image ) && ! empty( $image ) ) {
|
161 |
+
$image_url = $image[0];
|
162 |
+
} ?>
|
163 |
+
<?php echo $listItemStyle; ?>
|
164 |
+
<?php if ($accordion) { ?>
|
165 |
+
<div id="wpseopress-faq-title-<?php echo $i; ?>" class="wpseopress-wrap-faq-question">
|
166 |
+
<button class="wpseopress-accordion-button" type="button" aria-expanded="false" aria-controls="wpseopress-faq-answer-<?php echo $i; ?>">
|
167 |
+
<?php } ?>
|
168 |
+
<?php echo $titleTag . $faq['question'] . $titleCloseTag; ?>
|
169 |
+
<?php if ($accordion) { ?>
|
170 |
+
</button>
|
171 |
+
</div>
|
172 |
+
<?php } ?>
|
173 |
+
|
174 |
+
<?php if ($accordion) { ?>
|
175 |
+
<div id="wpseopress-faq-answer-<?php echo $i; ?>" class="wpseopress-faq-answer wpseopress-hide" aria-labelledby="wpseopress-faq-title-<?php echo $i; ?>">
|
176 |
+
<?php } else { ?>
|
177 |
+
<div class="wpseopress-faq-answer">
|
178 |
+
<?php } ?>
|
179 |
+
<div class="wpseopress-faq-answer-image">
|
180 |
+
<?php if (! empty($image_url)): ?>
|
181 |
+
<img src="<?php echo $image_url; ?>" alt="<?php echo $image_alt; ?>">
|
182 |
+
<?php endif; ?>
|
183 |
+
</div>
|
184 |
+
<?php if (! empty($faq['answer'])): ?>
|
185 |
+
<p class="wpseopress-faq-answer-desc"><?php echo $faq['answer']; ?></p>
|
186 |
+
<?php endif; ?>
|
187 |
+
</div>
|
188 |
+
<?php echo $listItemStyleClosingTag;
|
189 |
+
$i = $i++;
|
190 |
+
?>
|
191 |
<?php endforeach; ?>
|
192 |
+
<?php echo $listStyleCloseTag;
|
193 |
+
|
194 |
+
//FAQ Schema
|
195 |
$seopress_get_toggle_rich_snippets_option = get_option('seopress_toggle');
|
196 |
$seopress_get_toggle_rich_snippets_option = isset($seopress_get_toggle_rich_snippets_option['toggle-rich-snippets']) ? $seopress_get_toggle_rich_snippets_option['toggle-rich-snippets'] : '0';
|
197 |
if ('0' != $seopress_get_toggle_rich_snippets_option && (int) $attributes['showFAQScheme']) {
|
204 |
</script>';
|
205 |
|
206 |
echo apply_filters('seopress_schemas_faq_html', $schema);
|
207 |
+
}
|
208 |
+
$html = apply_filters('seopress_faq_block_html', ob_get_clean());
|
209 |
+
return $html;
|
210 |
}
|
@@ -53,6 +53,7 @@ function print_section_info_google_analytics_features()
|
|
53 |
|
54 |
function print_section_info_google_analytics_events()
|
55 |
{
|
|
|
56 |
?>
|
57 |
<div class="sp-section-header">
|
58 |
<h2>
|
@@ -63,6 +64,12 @@ function print_section_info_google_analytics_events()
|
|
63 |
<?php _e('Track events in Google Analytics.', 'wp-seopress'); ?>
|
64 |
</p>
|
65 |
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
<?php
|
67 |
}
|
68 |
|
53 |
|
54 |
function print_section_info_google_analytics_events()
|
55 |
{
|
56 |
+
$docs = seopress_get_docs_links();
|
57 |
?>
|
58 |
<div class="sp-section-header">
|
59 |
<h2>
|
64 |
<?php _e('Track events in Google Analytics.', 'wp-seopress'); ?>
|
65 |
</p>
|
66 |
|
67 |
+
<p class="seopress-help description">
|
68 |
+
<span class="dashicons dashicons-external"></span>
|
69 |
+
<a href="<?php echo $docs['analytics']['events']; ?>" target="_blank">
|
70 |
+
<?php _e('Learn how to track events with Google Analytics','wp-seopress'); ?>
|
71 |
+
</a>
|
72 |
+
</p>
|
73 |
<?php
|
74 |
}
|
75 |
|
@@ -33,6 +33,10 @@ function print_section_info_xml_sitemap_general()
|
|
33 |
<p>
|
34 |
<?php _e('The XML sitemap is an <strong>exploration aid</strong>. Not having a sitemap will absolutely <strong>NOT prevent engines from indexing your content</strong>. For this, opt for meta robots.', 'wp-seopress'); ?>
|
35 |
</p>
|
|
|
|
|
|
|
|
|
36 |
</div>
|
37 |
|
38 |
<p>
|
@@ -85,6 +89,10 @@ rewrite ^.*/sitemaps/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?seopress_cpt=$1&s
|
|
85 |
<a href="<?php echo $docs['sitemaps']['error']['html']; ?>"
|
86 |
target="_blank">
|
87 |
<?php _e('HTML error? Exclude XML and XSL from caching plugins!', 'wp-seopress'); ?></a>
|
|
|
|
|
|
|
|
|
88 |
</p>
|
89 |
|
90 |
<p>
|
33 |
<p>
|
34 |
<?php _e('The XML sitemap is an <strong>exploration aid</strong>. Not having a sitemap will absolutely <strong>NOT prevent engines from indexing your content</strong>. For this, opt for meta robots.', 'wp-seopress'); ?>
|
35 |
</p>
|
36 |
+
|
37 |
+
<p>
|
38 |
+
<?php _e('This is the URL of your index sitemaps to submit to search engines:','wp-seopress'); ?>
|
39 |
+
<pre><?php echo get_option('home'); ?>/sitemaps.xml</pre></p>
|
40 |
</div>
|
41 |
|
42 |
<p>
|
89 |
<a href="<?php echo $docs['sitemaps']['error']['html']; ?>"
|
90 |
target="_blank">
|
91 |
<?php _e('HTML error? Exclude XML and XSL from caching plugins!', 'wp-seopress'); ?></a>
|
92 |
+
<span class="dashicons dashicons-external"></span>
|
93 |
+
<a href="<?php echo array_shift($docs['get_started']['sitemaps']); ?>"
|
94 |
+
target="_blank">
|
95 |
+
<?php _e('Add your XML sitemaps to Google Search Console (video)', 'wp-seopress'); ?></a>
|
96 |
</p>
|
97 |
|
98 |
<p>
|
@@ -215,7 +215,7 @@ add_settings_field(
|
|
215 |
|
216 |
add_settings_field(
|
217 |
'seopress_advanced_appearance_seo_tools', // ID
|
218 |
-
__('Hide
|
219 |
'seopress_advanced_appearance_seo_tools_callback', // Callback
|
220 |
'seopress-settings-admin-advanced-appearance', // Page
|
221 |
'seopress_setting_section_advanced_appearance' // Section
|
215 |
|
216 |
add_settings_field(
|
217 |
'seopress_advanced_appearance_seo_tools', // ID
|
218 |
+
__('Hide Site Overview', 'wp-seopress'), // Title
|
219 |
'seopress_advanced_appearance_seo_tools_callback', // Callback
|
220 |
'seopress-settings-admin-advanced-appearance', // Page
|
221 |
'seopress_setting_section_advanced_appearance' // Section
|
@@ -579,7 +579,9 @@ class SEOPRESS_Admin_Setup_Wizard {
|
|
579 |
</p>
|
580 |
|
581 |
<form method="post" class="seopress-wizard-indexing-form">
|
582 |
-
<?php
|
|
|
|
|
583 |
<div class="seopress-wizard-services">
|
584 |
<h2>
|
585 |
<?php _e('For which single post types, should indexing be disabled?', 'wp-seopress'); ?>
|
@@ -588,7 +590,7 @@ class SEOPRESS_Admin_Setup_Wizard {
|
|
588 |
<ul>
|
589 |
<?php
|
590 |
//Post Types
|
591 |
-
foreach (
|
592 |
$seopress_titles_single_titles = isset($seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']); ?>
|
593 |
|
594 |
<h3><?php echo $seopress_cpt_value->labels->name; ?>
|
@@ -615,8 +617,10 @@ class SEOPRESS_Admin_Setup_Wizard {
|
|
615 |
</div>
|
616 |
<?php } ?>
|
617 |
|
618 |
-
<?php
|
619 |
-
|
|
|
|
|
620 |
unset($cpt['post']);
|
621 |
unset($cpt['page']);
|
622 |
?>
|
@@ -715,9 +719,9 @@ class SEOPRESS_Admin_Setup_Wizard {
|
|
715 |
|
716 |
//Get options
|
717 |
$seopress_titles_option = get_option('seopress_titles_option_name');
|
718 |
-
|
719 |
//Post Types noindex
|
720 |
-
foreach (
|
721 |
if (isset($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'])) {
|
722 |
$noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']));
|
723 |
} else {
|
@@ -727,7 +731,7 @@ class SEOPRESS_Admin_Setup_Wizard {
|
|
727 |
}
|
728 |
|
729 |
//Post Type archives noindex
|
730 |
-
foreach (
|
731 |
if (isset($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'])) {
|
732 |
$noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']));
|
733 |
} else {
|
579 |
</p>
|
580 |
|
581 |
<form method="post" class="seopress-wizard-indexing-form">
|
582 |
+
<?php
|
583 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
584 |
+
if ( ! empty($postTypes)) { ?>
|
585 |
<div class="seopress-wizard-services">
|
586 |
<h2>
|
587 |
<?php _e('For which single post types, should indexing be disabled?', 'wp-seopress'); ?>
|
590 |
<ul>
|
591 |
<?php
|
592 |
//Post Types
|
593 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
594 |
$seopress_titles_single_titles = isset($seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']); ?>
|
595 |
|
596 |
<h3><?php echo $seopress_cpt_value->labels->name; ?>
|
617 |
</div>
|
618 |
<?php } ?>
|
619 |
|
620 |
+
<?php
|
621 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
622 |
+
if ( ! empty($postTypes)) {
|
623 |
+
$cpt = $postTypes;
|
624 |
unset($cpt['post']);
|
625 |
unset($cpt['page']);
|
626 |
?>
|
719 |
|
720 |
//Get options
|
721 |
$seopress_titles_option = get_option('seopress_titles_option_name');
|
722 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
723 |
//Post Types noindex
|
724 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
725 |
if (isset($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'])) {
|
726 |
$noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']));
|
727 |
} else {
|
731 |
}
|
732 |
|
733 |
//Post Type archives noindex
|
734 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
735 |
if (isset($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'])) {
|
736 |
$noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']));
|
737 |
} else {
|
@@ -389,22 +389,26 @@ if ('' != seopress_advanced_appearance_title_col_option()
|
|
389 |
|| '' != seopress_advanced_appearance_score_col_option()) {
|
390 |
function seopress_add_columns()
|
391 |
{
|
392 |
-
if (isset(get_current_screen()->post_type)) {
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
|
|
|
|
|
|
401 |
}
|
402 |
}
|
403 |
}
|
404 |
}
|
405 |
|
|
|
406 |
//Sortable columns
|
407 |
-
foreach (
|
408 |
add_filter('manage_edit-' . $key . '_sortable_columns', 'seopress_admin_sortable_columns');
|
409 |
}
|
410 |
|
@@ -501,9 +505,11 @@ if ('' != seopress_advanced_appearance_genesis_seo_menu_option()) {
|
|
501 |
add_action('init', 'seopress_advanced_appearance_genesis_seo_menu_hook', 999);
|
502 |
}
|
503 |
|
|
|
|
|
504 |
//Bulk actions
|
505 |
//noindex
|
506 |
-
foreach (
|
507 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_noindex');
|
508 |
}
|
509 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -521,7 +527,7 @@ function seopress_bulk_actions_noindex($bulk_actions)
|
|
521 |
return $bulk_actions;
|
522 |
}
|
523 |
|
524 |
-
foreach (
|
525 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_noindex_handler', 10, 3);
|
526 |
}
|
527 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -562,8 +568,10 @@ function seopress_bulk_action_noindex_admin_notice()
|
|
562 |
}
|
563 |
}
|
564 |
|
|
|
|
|
565 |
//index
|
566 |
-
foreach (
|
567 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_index');
|
568 |
}
|
569 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -580,7 +588,7 @@ function seopress_bulk_actions_index($bulk_actions)
|
|
580 |
return $bulk_actions;
|
581 |
}
|
582 |
|
583 |
-
foreach (
|
584 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_index_handler', 10, 3);
|
585 |
}
|
586 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -622,7 +630,7 @@ function seopress_bulk_action_index_admin_notice()
|
|
622 |
}
|
623 |
|
624 |
//nofollow
|
625 |
-
foreach (
|
626 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_nofollow');
|
627 |
}
|
628 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -638,7 +646,7 @@ function seopress_bulk_actions_nofollow($bulk_actions)
|
|
638 |
|
639 |
return $bulk_actions;
|
640 |
}
|
641 |
-
foreach (
|
642 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_nofollow_handler', 10, 3);
|
643 |
}
|
644 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -680,7 +688,7 @@ function seopress_bulk_action_nofollow_admin_notice()
|
|
680 |
}
|
681 |
|
682 |
//follow
|
683 |
-
foreach (
|
684 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_follow');
|
685 |
}
|
686 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -697,7 +705,7 @@ function seopress_bulk_actions_follow($bulk_actions)
|
|
697 |
return $bulk_actions;
|
698 |
}
|
699 |
|
700 |
-
foreach (
|
701 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_follow_handler', 10, 3);
|
702 |
}
|
703 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
@@ -739,7 +747,7 @@ function seopress_bulk_action_follow_admin_notice()
|
|
739 |
}
|
740 |
|
741 |
//enable 301
|
742 |
-
foreach (
|
743 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_redirect_enable');
|
744 |
}
|
745 |
|
@@ -749,7 +757,7 @@ function seopress_bulk_actions_redirect_enable($bulk_actions)
|
|
749 |
|
750 |
return $bulk_actions;
|
751 |
}
|
752 |
-
foreach (
|
753 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_redirect_enable_handler', 10, 3);
|
754 |
}
|
755 |
|
@@ -784,7 +792,7 @@ function seopress_bulk_action_redirect_enable_admin_notice()
|
|
784 |
}
|
785 |
|
786 |
//disable 301
|
787 |
-
foreach (
|
788 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_redirect_disable');
|
789 |
}
|
790 |
|
@@ -794,7 +802,7 @@ function seopress_bulk_actions_redirect_disable($bulk_actions)
|
|
794 |
|
795 |
return $bulk_actions;
|
796 |
}
|
797 |
-
foreach (
|
798 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_redirect_disable_handler', 10, 3);
|
799 |
}
|
800 |
|
389 |
|| '' != seopress_advanced_appearance_score_col_option()) {
|
390 |
function seopress_add_columns()
|
391 |
{
|
392 |
+
if (!isset(get_current_screen()->post_type)) {
|
393 |
+
return;
|
394 |
+
}
|
395 |
+
|
396 |
+
$key = get_current_screen()->post_type;
|
397 |
+
if (null === seopress_titles_single_cpt_enable_option($key) && '' != $key) {
|
398 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
399 |
+
if (array_key_exists($key, $postTypes)) {
|
400 |
+
add_filter('manage_' . $key . '_posts_columns', 'seopress_title_columns');
|
401 |
+
add_action('manage_' . $key . '_posts_custom_column', 'seopress_title_display_column', 10, 2);
|
402 |
+
if (is_plugin_active('easy-digital-downloads/easy-digital-downloads.php')) {
|
403 |
+
add_filter('manage_edit-' . $key . '_columns', 'seopress_title_columns');
|
404 |
}
|
405 |
}
|
406 |
}
|
407 |
}
|
408 |
|
409 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
410 |
//Sortable columns
|
411 |
+
foreach ($postTypes as $key => $value) {
|
412 |
add_filter('manage_edit-' . $key . '_sortable_columns', 'seopress_admin_sortable_columns');
|
413 |
}
|
414 |
|
505 |
add_action('init', 'seopress_advanced_appearance_genesis_seo_menu_hook', 999);
|
506 |
}
|
507 |
|
508 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
509 |
+
|
510 |
//Bulk actions
|
511 |
//noindex
|
512 |
+
foreach ($postTypes as $key => $value) {
|
513 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_noindex');
|
514 |
}
|
515 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
527 |
return $bulk_actions;
|
528 |
}
|
529 |
|
530 |
+
foreach ($postTypes as $key => $value) {
|
531 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_noindex_handler', 10, 3);
|
532 |
}
|
533 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
568 |
}
|
569 |
}
|
570 |
|
571 |
+
|
572 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
573 |
//index
|
574 |
+
foreach ($postTypes as $key => $value) {
|
575 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_index');
|
576 |
}
|
577 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
588 |
return $bulk_actions;
|
589 |
}
|
590 |
|
591 |
+
foreach ($postTypes as $key => $value) {
|
592 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_index_handler', 10, 3);
|
593 |
}
|
594 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
630 |
}
|
631 |
|
632 |
//nofollow
|
633 |
+
foreach ($postTypes as $key => $value) {
|
634 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_nofollow');
|
635 |
}
|
636 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
646 |
|
647 |
return $bulk_actions;
|
648 |
}
|
649 |
+
foreach ($postTypes as $key => $value) {
|
650 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_nofollow_handler', 10, 3);
|
651 |
}
|
652 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
688 |
}
|
689 |
|
690 |
//follow
|
691 |
+
foreach ($postTypes as $key => $value) {
|
692 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_follow');
|
693 |
}
|
694 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
705 |
return $bulk_actions;
|
706 |
}
|
707 |
|
708 |
+
foreach ($postTypes as $key => $value) {
|
709 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_follow_handler', 10, 3);
|
710 |
}
|
711 |
foreach (seopress_get_taxonomies() as $key => $value) {
|
747 |
}
|
748 |
|
749 |
//enable 301
|
750 |
+
foreach ($postTypes as $key => $value) {
|
751 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_redirect_enable');
|
752 |
}
|
753 |
|
757 |
|
758 |
return $bulk_actions;
|
759 |
}
|
760 |
+
foreach ($postTypes as $key => $value) {
|
761 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_redirect_enable_handler', 10, 3);
|
762 |
}
|
763 |
|
792 |
}
|
793 |
|
794 |
//disable 301
|
795 |
+
foreach ($postTypes as $key => $value) {
|
796 |
add_filter('bulk_actions-edit-' . $key, 'seopress_bulk_actions_redirect_disable');
|
797 |
}
|
798 |
|
802 |
|
803 |
return $bulk_actions;
|
804 |
}
|
805 |
+
foreach ($postTypes as $key => $value) {
|
806 |
add_filter('handle_bulk_actions-edit-' . $key, 'seopress_bulk_action_redirect_disable_handler', 10, 3);
|
807 |
}
|
808 |
|
@@ -31,6 +31,7 @@ function seopress_export_settings() {
|
|
31 |
$settings['seopress_toggle'] = get_option('seopress_toggle');
|
32 |
$settings['seopress_google_analytics_lock_option_name'] = get_option('seopress_google_analytics_lock_option_name');
|
33 |
$settings['seopress_tools_option_name'] = get_option('seopress_tools_option_name');
|
|
|
34 |
|
35 |
ignore_user_abort(true);
|
36 |
nocache_headers();
|
@@ -188,6 +189,18 @@ function seopress_import_redirections_settings() {
|
|
188 |
$cats = array_unique($cats);
|
189 |
}
|
190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
if ( ! empty($csv_line[0])) {
|
192 |
$count = null;
|
193 |
if ( ! empty($csv_line[5])) {
|
@@ -201,6 +214,7 @@ function seopress_import_redirections_settings() {
|
|
201 |
'_seopress_redirections_value' => rawurldecode($csv_line[1]),
|
202 |
'_seopress_redirections_type' => $csv_type_redirects[2],
|
203 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
|
|
204 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
205 |
'seopress_404_count' => $count,
|
206 |
],
|
@@ -257,6 +271,11 @@ function seopress_import_yoast_redirections() {
|
|
257 |
//Fifth column: redirections query param
|
258 |
$csv_type_redirects[4] = 'exact_match';
|
259 |
|
|
|
|
|
|
|
|
|
|
|
260 |
if ( ! empty($csv_line[0])) {
|
261 |
$csv_line[0] = substr($csv_line[0], 1);
|
262 |
if ( ! empty($csv_line[1])) {
|
@@ -274,6 +293,7 @@ function seopress_import_yoast_redirections() {
|
|
274 |
'_seopress_redirections_value' => urldecode($csv_line[1]),
|
275 |
'_seopress_redirections_type' => $csv_type_redirects[2],
|
276 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
|
|
277 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
278 |
],
|
279 |
]);
|
@@ -340,6 +360,8 @@ function seopress_export_redirections_settings() {
|
|
340 |
$redirects_html .= get_post_meta(get_the_ID(), 'seopress_404_count', true);
|
341 |
$redirects_html .= ';';
|
342 |
$redirects_html .= $redirect_categories;
|
|
|
|
|
343 |
$redirects_html .= "\n";
|
344 |
}
|
345 |
wp_reset_postdata();
|
@@ -474,6 +496,10 @@ function seopress_import_redirections_plugin_settings() {
|
|
474 |
if ( ! empty(true == $redirect_value['enabled'])) {
|
475 |
$enabled ='yes';
|
476 |
}
|
|
|
|
|
|
|
|
|
477 |
|
478 |
wp_insert_post([
|
479 |
'post_title' => ltrim(urldecode($redirect_value['url']), '/'),
|
@@ -483,6 +509,7 @@ function seopress_import_redirections_plugin_settings() {
|
|
483 |
'_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']),
|
484 |
'_seopress_redirections_type' => $type,
|
485 |
'_seopress_redirections_enabled' => $enabled,
|
|
|
486 |
'_seopress_redirections_param' => $param,
|
487 |
],
|
488 |
]);
|
31 |
$settings['seopress_toggle'] = get_option('seopress_toggle');
|
32 |
$settings['seopress_google_analytics_lock_option_name'] = get_option('seopress_google_analytics_lock_option_name');
|
33 |
$settings['seopress_tools_option_name'] = get_option('seopress_tools_option_name');
|
34 |
+
$settings['seopress_dashboard_option_name'] = get_option('seopress_dashboard_option_name');
|
35 |
|
36 |
ignore_user_abort(true);
|
37 |
nocache_headers();
|
189 |
$cats = array_unique($cats);
|
190 |
}
|
191 |
|
192 |
+
$regex_enable = '';
|
193 |
+
//regex enabled
|
194 |
+
$csv_line[7]= strtolower($csv_line[7]);
|
195 |
+
if ('yes' === $csv_line[3]) {
|
196 |
+
$regex_enable = 'yes';
|
197 |
+
}
|
198 |
+
if ( ! empty($csv_line[7])) {
|
199 |
+
$cats = array_values(explode(',', $csv_line[6]));
|
200 |
+
$cats = array_map('intval', $cats);
|
201 |
+
$cats = array_unique($cats);
|
202 |
+
}
|
203 |
+
|
204 |
if ( ! empty($csv_line[0])) {
|
205 |
$count = null;
|
206 |
if ( ! empty($csv_line[5])) {
|
214 |
'_seopress_redirections_value' => rawurldecode($csv_line[1]),
|
215 |
'_seopress_redirections_type' => $csv_type_redirects[2],
|
216 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
217 |
+
'_seopress_redirections_enabled_regex' => $regex_enable,
|
218 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
219 |
'seopress_404_count' => $count,
|
220 |
],
|
271 |
//Fifth column: redirections query param
|
272 |
$csv_type_redirects[4] = 'exact_match';
|
273 |
|
274 |
+
$regex_enable = '';
|
275 |
+
if(isset($_value[3]) && $_value[3] == 'regex') {
|
276 |
+
$regex_enable = 'yes';
|
277 |
+
}
|
278 |
+
|
279 |
if ( ! empty($csv_line[0])) {
|
280 |
$csv_line[0] = substr($csv_line[0], 1);
|
281 |
if ( ! empty($csv_line[1])) {
|
293 |
'_seopress_redirections_value' => urldecode($csv_line[1]),
|
294 |
'_seopress_redirections_type' => $csv_type_redirects[2],
|
295 |
'_seopress_redirections_enabled' => $csv_type_redirects[3],
|
296 |
+
'_seopress_redirections_enabled_regex' => $regex_enable,
|
297 |
'_seopress_redirections_param' => $csv_type_redirects[4],
|
298 |
],
|
299 |
]);
|
360 |
$redirects_html .= get_post_meta(get_the_ID(), 'seopress_404_count', true);
|
361 |
$redirects_html .= ';';
|
362 |
$redirects_html .= $redirect_categories;
|
363 |
+
$redirects_html .= ';';
|
364 |
+
$redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_enabled_regex', true);
|
365 |
$redirects_html .= "\n";
|
366 |
}
|
367 |
wp_reset_postdata();
|
496 |
if ( ! empty(true == $redirect_value['enabled'])) {
|
497 |
$enabled ='yes';
|
498 |
}
|
499 |
+
$regex_enable ='';
|
500 |
+
if ( ! empty($redirect_value['regex'])) {
|
501 |
+
$regex_enable ='yes';
|
502 |
+
}
|
503 |
|
504 |
wp_insert_post([
|
505 |
'post_title' => ltrim(urldecode($redirect_value['url']), '/'),
|
509 |
'_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']),
|
510 |
'_seopress_redirections_type' => $type,
|
511 |
'_seopress_redirections_enabled' => $enabled,
|
512 |
+
'_seopress_redirections_enabled_regex' => $regex_enable,
|
513 |
'_seopress_redirections_param' => $param,
|
514 |
],
|
515 |
]);
|
@@ -485,7 +485,7 @@ if ('1' == seopress_get_toggle_option('google-analytics')) {
|
|
485 |
add_action('wp', 'seopress_load_redirections_options', 0);
|
486 |
function seopress_load_redirections_options()
|
487 |
{
|
488 |
-
if (function_exists('is_plugin_active') && is_plugin_active('thrive-visual-editor/thrive-visual-editor.php')) {
|
489 |
return;
|
490 |
}
|
491 |
if (! is_admin()) {
|
@@ -604,7 +604,6 @@ if ('1' == seopress_get_toggle_option('advanced')) {
|
|
604 |
function seopress_titles_primary_cat_hook($cats_0, $cats, $post)
|
605 |
{
|
606 |
$primary_cat = null;
|
607 |
-
global $post;
|
608 |
|
609 |
if ($post) {
|
610 |
$_seopress_robots_primary_cat = get_post_meta($post->ID, '_seopress_robots_primary_cat', true);
|
@@ -744,6 +743,9 @@ if ('1' == seopress_get_toggle_option('advanced')) {
|
|
744 |
add_action('template_redirect', 'seopress_category_redirect', 1);
|
745 |
function seopress_category_redirect()
|
746 |
{
|
|
|
|
|
|
|
747 |
global $wp;
|
748 |
|
749 |
if (seopress_advanced_advanced_trailingslash_option()) {
|
485 |
add_action('wp', 'seopress_load_redirections_options', 0);
|
486 |
function seopress_load_redirections_options()
|
487 |
{
|
488 |
+
if (function_exists('is_plugin_active') && is_plugin_active('thrive-visual-editor/thrive-visual-editor.php') && is_admin()) {
|
489 |
return;
|
490 |
}
|
491 |
if (! is_admin()) {
|
604 |
function seopress_titles_primary_cat_hook($cats_0, $cats, $post)
|
605 |
{
|
606 |
$primary_cat = null;
|
|
|
607 |
|
608 |
if ($post) {
|
609 |
$_seopress_robots_primary_cat = get_post_meta($post->ID, '_seopress_robots_primary_cat', true);
|
743 |
add_action('template_redirect', 'seopress_category_redirect', 1);
|
744 |
function seopress_category_redirect()
|
745 |
{
|
746 |
+
if (!is_category()) {
|
747 |
+
return;
|
748 |
+
}
|
749 |
global $wp;
|
750 |
|
751 |
if (seopress_advanced_advanced_trailingslash_option()) {
|
@@ -22,6 +22,53 @@ add_filter('seopress_sitemaps_single_term_query', function ($args) {
|
|
22 |
return $args;
|
23 |
});
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
function seopress_xml_sitemap_single_term() {
|
26 |
if ('' !== get_query_var('seopress_cpt')) {
|
27 |
$path = get_query_var('seopress_cpt');
|
@@ -61,10 +108,12 @@ function seopress_xml_sitemap_single_term() {
|
|
61 |
'offset' => $offset,
|
62 |
'hide_empty' => false,
|
63 |
'number' => 1000,
|
64 |
-
'fields' => 'ids',
|
65 |
'lang' => '',
|
66 |
];
|
67 |
|
|
|
|
|
68 |
$args = apply_filters('seopress_sitemaps_single_term_query', $args, $path);
|
69 |
|
70 |
$termslist = new WP_Term_Query($args);
|
@@ -80,16 +129,20 @@ function seopress_xml_sitemap_single_term() {
|
|
80 |
'images' => [],
|
81 |
];
|
82 |
|
83 |
-
$
|
84 |
-
|
85 |
-
$
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
91 |
|
92 |
-
|
|
|
93 |
}
|
94 |
}
|
95 |
}
|
22 |
return $args;
|
23 |
});
|
24 |
|
25 |
+
add_filter('seopress_sitemaps_term_single_url', function($url, $term) {
|
26 |
+
//Exclude custom canonical from sitemaps
|
27 |
+
if (get_term_meta($term->term_id, '_seopress_robots_canonical', true)) {
|
28 |
+
return null;
|
29 |
+
}
|
30 |
+
|
31 |
+
//Exclude hidden languages
|
32 |
+
//@credits WPML compatibility team
|
33 |
+
if (function_exists('icl_object_id') && defined('ICL_SITEPRESS_VERSION')) { //WPML
|
34 |
+
global $sitepress, $sitepress_settings;
|
35 |
+
|
36 |
+
// Check that at least ID is set in post object.
|
37 |
+
if ( ! isset( $term->term_id ) ) {
|
38 |
+
return $url;
|
39 |
+
}
|
40 |
+
|
41 |
+
// Get list of hidden languages.
|
42 |
+
$hidden_languages = $sitepress->get_setting( 'hidden_languages', array() );
|
43 |
+
|
44 |
+
// If there are no hidden languages return original URL.
|
45 |
+
if ( empty( $hidden_languages ) ) {
|
46 |
+
return $url;
|
47 |
+
}
|
48 |
+
|
49 |
+
// Get language information for post.
|
50 |
+
$language_info = $sitepress->term_translations()->get_element_lang_code( $term->term_id );
|
51 |
+
|
52 |
+
// If language code is one of the hidden languages return null to skip the post.
|
53 |
+
if ( in_array( $language_info, $hidden_languages, true ) ) {
|
54 |
+
return null;
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
return $url;
|
59 |
+
}, 10, 2);
|
60 |
+
|
61 |
+
// Polylang: remove hidden languages
|
62 |
+
function seopress_pll_exclude_hidden_lang($args) {
|
63 |
+
if (function_exists('get_languages_list') && is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) {
|
64 |
+
$languages = PLL()->model->get_languages_list();
|
65 |
+
if ( wp_list_filter( $languages, array( 'active' => false ) ) ) {
|
66 |
+
$args['lang'] = wp_list_pluck( wp_list_filter( $languages, array( 'active' => false ), 'NOT' ), 'slug' );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
return $args;
|
70 |
+
}
|
71 |
+
|
72 |
function seopress_xml_sitemap_single_term() {
|
73 |
if ('' !== get_query_var('seopress_cpt')) {
|
74 |
$path = get_query_var('seopress_cpt');
|
108 |
'offset' => $offset,
|
109 |
'hide_empty' => false,
|
110 |
'number' => 1000,
|
111 |
+
//'fields' => 'ids',
|
112 |
'lang' => '',
|
113 |
];
|
114 |
|
115 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
116 |
+
|
117 |
$args = apply_filters('seopress_sitemaps_single_term_query', $args, $path);
|
118 |
|
119 |
$termslist = new WP_Term_Query($args);
|
129 |
'images' => [],
|
130 |
];
|
131 |
|
132 |
+
$seopress_url = apply_filters( 'seopress_sitemaps_term_single_url', $seopress_url, $term );
|
133 |
+
|
134 |
+
if (!empty($seopress_url['loc'])) {
|
135 |
+
$seopress_sitemaps_url .= "\n";
|
136 |
+
$seopress_sitemaps_url .= '<url>';
|
137 |
+
$seopress_sitemaps_url .= "\n";
|
138 |
+
$seopress_sitemaps_url .= '<loc>';
|
139 |
+
$seopress_sitemaps_url .= $seopress_url['loc'];
|
140 |
+
$seopress_sitemaps_url .= '</loc>';
|
141 |
+
$seopress_sitemaps_url .= "\n";
|
142 |
+
$seopress_sitemaps_url .= '</url>';
|
143 |
|
144 |
+
$seopress_sitemaps .= apply_filters('seopress_sitemaps_url', $seopress_sitemaps_url, $seopress_url);
|
145 |
+
}
|
146 |
}
|
147 |
}
|
148 |
}
|
@@ -13,11 +13,11 @@ add_filter( 'wpml_get_home_url', 'seopress_remove_wpml_home_url_filter', 20, 5 )
|
|
13 |
|
14 |
function seopress_xml_sitemap_index_xsl() {
|
15 |
$home_url = home_url().'/';
|
16 |
-
|
17 |
if (function_exists('pll_home_url')) {
|
18 |
$home_url = site_url().'/';
|
19 |
}
|
20 |
-
|
21 |
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
22 |
|
23 |
$seopress_sitemaps_xsl ='<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="2.0"
|
@@ -34,7 +34,9 @@ function seopress_xml_sitemap_index_xsl() {
|
|
34 |
$seopress_sitemaps_xsl .='<title>XML Sitemaps</title>';
|
35 |
$seopress_sitemaps_xsl .='<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
|
36 |
$seopress_sitemaps_xsl .="\n";
|
37 |
-
$
|
|
|
|
|
38 |
* {
|
39 |
margin: 0;
|
40 |
padding: 0;
|
@@ -116,9 +118,11 @@ function seopress_xml_sitemap_index_xsl() {
|
|
116 |
width: 30%;
|
117 |
display: inline-block;
|
118 |
padding: 0 10px;
|
119 |
-
}
|
120 |
-
|
121 |
-
|
|
|
|
|
122 |
$seopress_sitemaps_xsl .='</head>';
|
123 |
$seopress_sitemaps_xsl .='<body>';
|
124 |
$seopress_sitemaps_xsl .='<div id="main">';
|
@@ -152,7 +156,7 @@ function seopress_xml_sitemap_index_xsl() {
|
|
152 |
$seopress_sitemaps_xsl .='<li>';
|
153 |
$seopress_sitemaps_xsl .='<xsl:variable name="url_loc"><xsl:value-of select="sitemap:loc"/></xsl:variable>';
|
154 |
$seopress_sitemaps_xsl .='<span class="item-loc"><a href="{$url_loc}"><xsl:value-of select="sitemap:loc" /></a></span>';
|
155 |
-
|
156 |
$seopress_sitemaps_xsl .= '<xsl:if test="sitemap:lastmod">';
|
157 |
$seopress_sitemaps_xsl .='<span class="item-lastmod"><xsl:value-of select="sitemap:lastmod" /></span>';
|
158 |
$seopress_sitemaps_xsl .='</xsl:if>';
|
@@ -169,6 +173,8 @@ function seopress_xml_sitemap_index_xsl() {
|
|
169 |
|
170 |
$seopress_sitemaps_xsl .='</xsl:stylesheet>';
|
171 |
|
|
|
|
|
172 |
return $seopress_sitemaps_xsl;
|
173 |
}
|
174 |
-
echo seopress_xml_sitemap_index_xsl();
|
13 |
|
14 |
function seopress_xml_sitemap_index_xsl() {
|
15 |
$home_url = home_url().'/';
|
16 |
+
|
17 |
if (function_exists('pll_home_url')) {
|
18 |
$home_url = site_url().'/';
|
19 |
}
|
20 |
+
|
21 |
$home_url = apply_filters( 'seopress_sitemaps_home_url', $home_url );
|
22 |
|
23 |
$seopress_sitemaps_xsl ='<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="2.0"
|
34 |
$seopress_sitemaps_xsl .='<title>XML Sitemaps</title>';
|
35 |
$seopress_sitemaps_xsl .='<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>';
|
36 |
$seopress_sitemaps_xsl .="\n";
|
37 |
+
$seopress_sitemaps_xsl_css = '<style type="text/css">';
|
38 |
+
|
39 |
+
$seopress_sitemaps_xsl_css .= apply_filters('seopress_sitemaps_xsl_css', '
|
40 |
* {
|
41 |
margin: 0;
|
42 |
padding: 0;
|
118 |
width: 30%;
|
119 |
display: inline-block;
|
120 |
padding: 0 10px;
|
121 |
+
}');
|
122 |
+
|
123 |
+
$seopress_sitemaps_xsl_css .= '</style>';
|
124 |
+
|
125 |
+
$seopress_sitemaps_xsl .= $seopress_sitemaps_xsl_css;
|
126 |
$seopress_sitemaps_xsl .='</head>';
|
127 |
$seopress_sitemaps_xsl .='<body>';
|
128 |
$seopress_sitemaps_xsl .='<div id="main">';
|
156 |
$seopress_sitemaps_xsl .='<li>';
|
157 |
$seopress_sitemaps_xsl .='<xsl:variable name="url_loc"><xsl:value-of select="sitemap:loc"/></xsl:variable>';
|
158 |
$seopress_sitemaps_xsl .='<span class="item-loc"><a href="{$url_loc}"><xsl:value-of select="sitemap:loc" /></a></span>';
|
159 |
+
|
160 |
$seopress_sitemaps_xsl .= '<xsl:if test="sitemap:lastmod">';
|
161 |
$seopress_sitemaps_xsl .='<span class="item-lastmod"><xsl:value-of select="sitemap:lastmod" /></span>';
|
162 |
$seopress_sitemaps_xsl .='</xsl:if>';
|
173 |
|
174 |
$seopress_sitemaps_xsl .='</xsl:stylesheet>';
|
175 |
|
176 |
+
$seopress_sitemaps_xsl = apply_filters('seopress_sitemaps_xsl', $seopress_sitemaps_xsl);
|
177 |
+
|
178 |
return $seopress_sitemaps_xsl;
|
179 |
}
|
180 |
+
echo seopress_xml_sitemap_index_xsl();
|
@@ -32,6 +32,46 @@ add_action('the_post', function ($post) {
|
|
32 |
do_action('wpml_switch_language', $language);
|
33 |
});
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
function seopress_xml_sitemap_index() {
|
36 |
$home_url = home_url() . '/';
|
37 |
|
@@ -73,6 +113,9 @@ function seopress_xml_sitemap_index() {
|
|
73 |
'has_password' => false,
|
74 |
];
|
75 |
|
|
|
|
|
|
|
76 |
$args = apply_filters('seopress_sitemaps_index_post_types_query', $args, $cpt_key);
|
77 |
|
78 |
$count_posts = count(get_posts($args));
|
@@ -139,6 +182,8 @@ function seopress_xml_sitemap_index() {
|
|
139 |
'has_password' => false,
|
140 |
];
|
141 |
|
|
|
|
|
142 |
$args = apply_filters('seopress_sitemaps_index_cpt_query', $args, $cpt_key);
|
143 |
|
144 |
$get_latest_post = new WP_Query($args);
|
@@ -185,6 +230,9 @@ function seopress_xml_sitemap_index() {
|
|
185 |
],
|
186 |
];
|
187 |
|
|
|
|
|
|
|
188 |
$args = apply_filters('seopress_sitemaps_index_tax_query', $args, $tax_key);
|
189 |
|
190 |
$termsData = get_terms($args);
|
@@ -276,6 +324,9 @@ function seopress_xml_sitemap_index() {
|
|
276 |
'has_password' => false,
|
277 |
];
|
278 |
|
|
|
|
|
|
|
279 |
$args = apply_filters('seopress_sitemaps_index_gnews_query', $args);
|
280 |
|
281 |
$get_latest_post = new WP_Query($args);
|
@@ -338,6 +389,9 @@ function seopress_xml_sitemap_index() {
|
|
338 |
'fields' => 'ids',
|
339 |
];
|
340 |
|
|
|
|
|
|
|
341 |
$args = apply_filters('seopress_sitemaps_index_video_query', $args, $cpt_key);
|
342 |
|
343 |
$ids = get_posts($args);
|
@@ -366,6 +420,9 @@ function seopress_xml_sitemap_index() {
|
|
366 |
'fields' => 'ids',
|
367 |
];
|
368 |
|
|
|
|
|
|
|
369 |
$posts = get_posts($args);
|
370 |
$count_posts = count($posts);
|
371 |
|
32 |
do_action('wpml_switch_language', $language);
|
33 |
});
|
34 |
|
35 |
+
// Polylang: remove hidden languages
|
36 |
+
function seopress_pll_exclude_hidden_lang($args) {
|
37 |
+
if (function_exists('get_languages_list') && is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) {
|
38 |
+
$languages = PLL()->model->get_languages_list();
|
39 |
+
if ( wp_list_filter( $languages, array( 'active' => false ) ) ) {
|
40 |
+
$args['lang'] = wp_list_pluck( wp_list_filter( $languages, array( 'active' => false ), 'NOT' ), 'slug' );
|
41 |
+
}
|
42 |
+
}
|
43 |
+
return $args;
|
44 |
+
}
|
45 |
+
|
46 |
+
//WPML: remove hidden languages
|
47 |
+
function seopress_wpml_exclude_hidden_lang($url) {
|
48 |
+
//@credits WPML compatibility team
|
49 |
+
if (function_exists('get_setting') && is_plugin_active('sitepress-multilingual-cms/sitepress.php')) { //WPML
|
50 |
+
global $sitepress, $sitepress_settings;
|
51 |
+
|
52 |
+
// Check that at least ID is set in post object.
|
53 |
+
if ( ! isset( $post->ID ) ) {
|
54 |
+
return $url;
|
55 |
+
}
|
56 |
+
|
57 |
+
// Get list of hidden languages.
|
58 |
+
$hidden_languages = $sitepress->get_setting( 'hidden_languages', array() );
|
59 |
+
|
60 |
+
// If there are no hidden languages return original URL.
|
61 |
+
if ( empty( $hidden_languages ) ) {
|
62 |
+
return $url;
|
63 |
+
}
|
64 |
+
|
65 |
+
// Get language information for post.
|
66 |
+
$language_info = $sitepress->post_translations()->get_element_lang_code( $post->ID );
|
67 |
+
|
68 |
+
// If language code is one of the hidden languages return null to skip the post.
|
69 |
+
if ( in_array( $language_info, $hidden_languages, true ) ) {
|
70 |
+
return null;
|
71 |
+
}
|
72 |
+
}
|
73 |
+
}
|
74 |
+
|
75 |
function seopress_xml_sitemap_index() {
|
76 |
$home_url = home_url() . '/';
|
77 |
|
113 |
'has_password' => false,
|
114 |
];
|
115 |
|
116 |
+
//Polylang: exclude hidden languages
|
117 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
118 |
+
|
119 |
$args = apply_filters('seopress_sitemaps_index_post_types_query', $args, $cpt_key);
|
120 |
|
121 |
$count_posts = count(get_posts($args));
|
182 |
'has_password' => false,
|
183 |
];
|
184 |
|
185 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
186 |
+
|
187 |
$args = apply_filters('seopress_sitemaps_index_cpt_query', $args, $cpt_key);
|
188 |
|
189 |
$get_latest_post = new WP_Query($args);
|
230 |
],
|
231 |
];
|
232 |
|
233 |
+
//Polylang: exclude hidden languages
|
234 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
235 |
+
|
236 |
$args = apply_filters('seopress_sitemaps_index_tax_query', $args, $tax_key);
|
237 |
|
238 |
$termsData = get_terms($args);
|
324 |
'has_password' => false,
|
325 |
];
|
326 |
|
327 |
+
//Polylang: exclude hidden languages
|
328 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
329 |
+
|
330 |
$args = apply_filters('seopress_sitemaps_index_gnews_query', $args);
|
331 |
|
332 |
$get_latest_post = new WP_Query($args);
|
389 |
'fields' => 'ids',
|
390 |
];
|
391 |
|
392 |
+
//Polylang: exclude hidden languages
|
393 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
394 |
+
|
395 |
$args = apply_filters('seopress_sitemaps_index_video_query', $args, $cpt_key);
|
396 |
|
397 |
$ids = get_posts($args);
|
420 |
'fields' => 'ids',
|
421 |
];
|
422 |
|
423 |
+
//Polylang: exclude hidden languages
|
424 |
+
$args = seopress_pll_exclude_hidden_lang($args);
|
425 |
+
|
426 |
$posts = get_posts($args);
|
427 |
$count_posts = count($posts);
|
428 |
|
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: SEOPress\n"
|
5 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
|
6 |
-
"POT-Creation-Date: 2021-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: Benjamin DENIS <contact@seopress.org>\n"
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: SEOPress\n"
|
5 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
|
6 |
+
"POT-Creation-Date: 2021-12-16 11:03+0100\n"
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: \n"
|
9 |
"Language-Team: Benjamin DENIS <contact@seopress.org>\n"
|
@@ -25846,11 +25846,35 @@ var SCInput = styled_components_browser_esm(Forms_FilteredPropsInputField).withC
|
|
25846 |
componentId: "sc-1bv2xq-1"
|
25847 |
})(["&&&&{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}"]);
|
25848 |
/* harmony default export */ const Input = (SCInput);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25849 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/Input/index.js
|
25850 |
|
25851 |
|
25852 |
|
25853 |
-
|
|
|
25854 |
|
25855 |
function Input_extends() { Input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Input_extends.apply(this, arguments); }
|
25856 |
|
@@ -25874,6 +25898,8 @@ function Input_objectWithoutPropertiesLoose(source, excluded) { if (source == nu
|
|
25874 |
|
25875 |
|
25876 |
|
|
|
|
|
25877 |
var FieldInput = function FieldInput(_ref) {
|
25878 |
var name = _ref.name,
|
25879 |
id = _ref.id,
|
@@ -25883,6 +25909,7 @@ var FieldInput = function FieldInput(_ref) {
|
|
25883 |
_ref$emptyIcon = _ref.emptyIcon,
|
25884 |
emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
|
25885 |
setFieldValue = _ref.setFieldValue,
|
|
|
25886 |
rest = Input_objectWithoutProperties(_ref, Input_excluded);
|
25887 |
|
25888 |
var _useState = (0,react.useState)(value),
|
@@ -25901,7 +25928,7 @@ var FieldInput = function FieldInput(_ref) {
|
|
25901 |
}, 200), []);
|
25902 |
|
25903 |
if (!emptyIcon) {
|
25904 |
-
return /*#__PURE__*/react.createElement(Input, Input_extends({
|
25905 |
name: name,
|
25906 |
id: id,
|
25907 |
type: type,
|
@@ -25909,10 +25936,18 @@ var FieldInput = function FieldInput(_ref) {
|
|
25909 |
onChange: function onChange(e) {
|
25910 |
setFormValue(e.target.value);
|
25911 |
}
|
25912 |
-
}, rest))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25913 |
}
|
25914 |
|
25915 |
-
return /*#__PURE__*/react.createElement("div", {
|
25916 |
style: {
|
25917 |
position: "relative",
|
25918 |
width: "100%"
|
@@ -25946,7 +25981,15 @@ var FieldInput = function FieldInput(_ref) {
|
|
25946 |
|
25947 |
setFieldValue(name, "");
|
25948 |
}
|
25949 |
-
}))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25950 |
};
|
25951 |
|
25952 |
/* harmony default export */ const components_Input = (FieldInput);
|
@@ -25954,7 +25997,9 @@ var FieldInput = function FieldInput(_ref) {
|
|
25954 |
var classnames = __webpack_require__(4184);
|
25955 |
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
25956 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/TextArea/index.js
|
25957 |
-
|
|
|
|
|
25958 |
|
25959 |
function TextArea_extends() { TextArea_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return TextArea_extends.apply(this, arguments); }
|
25960 |
|
@@ -25966,18 +26011,29 @@ function TextArea_objectWithoutPropertiesLoose(source, excluded) { if (source ==
|
|
25966 |
|
25967 |
|
25968 |
|
|
|
|
|
25969 |
var FieldTextarea = function FieldTextarea(_ref) {
|
25970 |
var name = _ref.name,
|
25971 |
_ref$className = _ref.className,
|
25972 |
className = _ref$className === void 0 ? "" : _ref$className,
|
|
|
25973 |
rest = TextArea_objectWithoutProperties(_ref, TextArea_excluded);
|
25974 |
|
25975 |
-
return /*#__PURE__*/react.createElement(Field, TextArea_extends({
|
25976 |
name: name,
|
25977 |
type: "textarea",
|
25978 |
as: "textarea",
|
25979 |
className: classnames_default()(className, "form-textarea")
|
25980 |
-
}, rest))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25981 |
};
|
25982 |
|
25983 |
/* harmony default export */ const TextArea = (FieldTextarea);
|
@@ -28041,24 +28097,12 @@ var TagsChoice = function TagsChoice(_ref) {
|
|
28041 |
};
|
28042 |
|
28043 |
/* harmony default export */ const components_TagsChoice = (TagsChoice);
|
28044 |
-
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/index.js
|
28045 |
-
|
28046 |
-
var SCProgressBar = styled_components_browser_esm.div.withConfig({
|
28047 |
-
componentId: "sc-8f3q3f-0"
|
28048 |
-
})(["&&&{overflow:hidden;font-size:0.75rem;background-color:#e9ecef;border-radius:0.25rem;}"]);
|
28049 |
-
/* harmony default export */ const ProgressBar = (SCProgressBar);
|
28050 |
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/CurrentProgress/index.js
|
28051 |
|
28052 |
var SCCurrentProgress = styled_components_browser_esm.div.withConfig({
|
28053 |
componentId: "sc-djzxn7-0"
|
28054 |
})(["&&&{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width 0.6s ease;font-size:12px;}"]);
|
28055 |
/* harmony default export */ const CurrentProgress = (SCCurrentProgress);
|
28056 |
-
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/ProgressInformation/index.js
|
28057 |
-
|
28058 |
-
var SCProgressInformation = styled_components_browser_esm.div.withConfig({
|
28059 |
-
componentId: "sc-1jd5cu1-0"
|
28060 |
-
})(["&&&{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 0.25rem 0.25rem;}"]);
|
28061 |
-
/* harmony default export */ const ProgressInformation = (SCProgressInformation);
|
28062 |
;// CONCATENATED MODULE: ./app/react/components/RecommendedLimit/index.js
|
28063 |
|
28064 |
|
@@ -29388,28 +29432,305 @@ var FieldDate = function FieldDate(_ref) {
|
|
29388 |
|
29389 |
var OpeningHours_excluded = ["name", "id", "value"];
|
29390 |
|
|
|
|
|
|
|
|
|
29391 |
function OpeningHours_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
29392 |
|
29393 |
function OpeningHours_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { OpeningHours_ownKeys(Object(source), true).forEach(function (key) { OpeningHours_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { OpeningHours_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
29394 |
|
29395 |
function OpeningHours_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
29396 |
|
29397 |
-
function OpeningHours_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = OpeningHours_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
29398 |
-
|
29399 |
-
function OpeningHours_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
29400 |
-
|
29401 |
|
29402 |
|
29403 |
|
|
|
29404 |
var DAYS = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
|
29405 |
var HOURS = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
|
29406 |
var MINUTES = ["00", "15", "30", "45", "59"];
|
29407 |
|
29408 |
-
var
|
29409 |
var name = _ref.name,
|
29410 |
-
|
29411 |
-
|
29412 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29413 |
|
29414 |
var getDefaultValue = function getDefaultValue(value) {
|
29415 |
if (isEmpty_default()(value) || isNil_default()(value)) {
|
@@ -29596,288 +29917,21 @@ var FieldOpeningHours = function FieldOpeningHours(_ref) {
|
|
29596 |
})
|
29597 |
}));
|
29598 |
}
|
29599 |
-
}), "Closed all the day?"), /*#__PURE__*/react.createElement(
|
29600 |
-
|
29601 |
-
|
29602 |
-
|
29603 |
-
|
29604 |
-
|
29605 |
-
|
29606 |
-
|
29607 |
-
|
29608 |
-
|
29609 |
-
|
29610 |
-
|
29611 |
-
|
29612 |
-
|
29613 |
-
|
29614 |
-
|
29615 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29616 |
-
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29617 |
-
open: e.target.checked ? "1" : ""
|
29618 |
-
})
|
29619 |
-
});
|
29620 |
-
})
|
29621 |
-
}));
|
29622 |
-
}
|
29623 |
-
}), "Open in the morning?", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29624 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][start][hours]"),
|
29625 |
-
value: get_default()(legacyValue, [key, "am", "start", "hours"]),
|
29626 |
-
style: {
|
29627 |
-
marginLeft: 10
|
29628 |
-
},
|
29629 |
-
onChange: function onChange(e) {
|
29630 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29631 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29632 |
-
if (keyItem !== key) {
|
29633 |
-
return item;
|
29634 |
-
}
|
29635 |
-
|
29636 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29637 |
-
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29638 |
-
start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.start), {}, {
|
29639 |
-
hours: e.target.value
|
29640 |
-
})
|
29641 |
-
})
|
29642 |
-
});
|
29643 |
-
})
|
29644 |
-
}));
|
29645 |
-
}
|
29646 |
-
}, HOURS.map(function (hour, key) {
|
29647 |
-
return /*#__PURE__*/react.createElement("option", {
|
29648 |
-
key: "day_".concat(day, "_hour_am_start_").concat(hour),
|
29649 |
-
value: hour
|
29650 |
-
}, hour);
|
29651 |
-
})), /*#__PURE__*/react.createElement("span", {
|
29652 |
-
style: {
|
29653 |
-
marginLeft: 5,
|
29654 |
-
marginRight: 5
|
29655 |
-
}
|
29656 |
-
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29657 |
-
style: {
|
29658 |
-
marginRight: 10
|
29659 |
-
},
|
29660 |
-
onChange: function onChange(e) {
|
29661 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29662 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29663 |
-
if (keyItem !== key) {
|
29664 |
-
return item;
|
29665 |
-
}
|
29666 |
-
|
29667 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29668 |
-
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29669 |
-
start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.start), {}, {
|
29670 |
-
mins: e.target.value
|
29671 |
-
})
|
29672 |
-
})
|
29673 |
-
});
|
29674 |
-
})
|
29675 |
-
}));
|
29676 |
-
},
|
29677 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][am][start][mins]"),
|
29678 |
-
value: get_default()(legacyValue, [key, "am", "start", "mins"])
|
29679 |
-
}, MINUTES.map(function (hour, key) {
|
29680 |
-
return /*#__PURE__*/react.createElement("option", {
|
29681 |
-
key: "day_".concat(day, "_min_am_start_").concat(hour),
|
29682 |
-
value: hour
|
29683 |
-
}, hour);
|
29684 |
-
})), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29685 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][end][hours]"),
|
29686 |
-
style: {
|
29687 |
-
marginLeft: 10
|
29688 |
-
},
|
29689 |
-
value: get_default()(legacyValue, [key, "am", "end", "hours"]),
|
29690 |
-
onChange: function onChange(e) {
|
29691 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29692 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29693 |
-
if (keyItem !== key) {
|
29694 |
-
return item;
|
29695 |
-
}
|
29696 |
-
|
29697 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29698 |
-
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29699 |
-
end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.end), {}, {
|
29700 |
-
hours: e.target.value
|
29701 |
-
})
|
29702 |
-
})
|
29703 |
-
});
|
29704 |
-
})
|
29705 |
-
}));
|
29706 |
-
}
|
29707 |
-
}, HOURS.map(function (hour, key) {
|
29708 |
-
return /*#__PURE__*/react.createElement("option", {
|
29709 |
-
key: "day_".concat(day, "_hour_am_end_").concat(hour),
|
29710 |
-
value: hour
|
29711 |
-
}, hour);
|
29712 |
-
})), /*#__PURE__*/react.createElement("span", {
|
29713 |
-
style: {
|
29714 |
-
marginLeft: 5,
|
29715 |
-
marginRight: 5
|
29716 |
-
}
|
29717 |
-
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29718 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][end][mins]"),
|
29719 |
-
value: get_default()(legacyValue, [key, "am", "end", "mins"]),
|
29720 |
-
onChange: function onChange(e) {
|
29721 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29722 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29723 |
-
if (keyItem !== key) {
|
29724 |
-
return item;
|
29725 |
-
}
|
29726 |
-
|
29727 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29728 |
-
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29729 |
-
end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.end), {}, {
|
29730 |
-
mins: e.target.value
|
29731 |
-
})
|
29732 |
-
})
|
29733 |
-
});
|
29734 |
-
})
|
29735 |
-
}));
|
29736 |
-
}
|
29737 |
-
}, MINUTES.map(function (min, key) {
|
29738 |
-
return /*#__PURE__*/react.createElement("option", {
|
29739 |
-
key: "day_".concat(day, "_min_am_end_").concat(min),
|
29740 |
-
value: min
|
29741 |
-
}, min);
|
29742 |
-
}))), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
|
29743 |
-
type: "checkbox",
|
29744 |
-
value: "1",
|
29745 |
-
checked: get_default()(legacyValue, [key, "pm", "open"]),
|
29746 |
-
onChange: function onChange(e) {
|
29747 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29748 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29749 |
-
if (keyItem !== key) {
|
29750 |
-
return item;
|
29751 |
-
}
|
29752 |
-
|
29753 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29754 |
-
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29755 |
-
open: e.target.checked ? "1" : ""
|
29756 |
-
})
|
29757 |
-
});
|
29758 |
-
})
|
29759 |
-
}));
|
29760 |
-
}
|
29761 |
-
}), "Open in the afternoon?", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29762 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][start][hours]"),
|
29763 |
-
style: {
|
29764 |
-
marginLeft: 10
|
29765 |
-
},
|
29766 |
-
value: get_default()(legacyValue, [key, "pm", "start", "hours"]),
|
29767 |
-
onChange: function onChange(e) {
|
29768 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29769 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29770 |
-
if (keyItem !== key) {
|
29771 |
-
return item;
|
29772 |
-
}
|
29773 |
-
|
29774 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29775 |
-
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29776 |
-
start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.start), {}, {
|
29777 |
-
hours: e.target.value
|
29778 |
-
})
|
29779 |
-
})
|
29780 |
-
});
|
29781 |
-
})
|
29782 |
-
}));
|
29783 |
-
}
|
29784 |
-
}, HOURS.map(function (hour, key) {
|
29785 |
-
return /*#__PURE__*/react.createElement("option", {
|
29786 |
-
key: "day_".concat(day, "_hour_pm_start_").concat(hour),
|
29787 |
-
value: hour
|
29788 |
-
}, hour);
|
29789 |
-
})), /*#__PURE__*/react.createElement("span", {
|
29790 |
-
style: {
|
29791 |
-
marginLeft: 5,
|
29792 |
-
marginRight: 5
|
29793 |
-
}
|
29794 |
-
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29795 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][start][mins]"),
|
29796 |
-
style: {
|
29797 |
-
marginRight: 10
|
29798 |
-
},
|
29799 |
-
value: get_default()(legacyValue, [key, "pm", "start", "mins"]),
|
29800 |
-
onChange: function onChange(e) {
|
29801 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29802 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29803 |
-
if (keyItem !== key) {
|
29804 |
-
return item;
|
29805 |
-
}
|
29806 |
-
|
29807 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29808 |
-
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29809 |
-
start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.start), {}, {
|
29810 |
-
mins: e.target.value
|
29811 |
-
})
|
29812 |
-
})
|
29813 |
-
});
|
29814 |
-
})
|
29815 |
-
}));
|
29816 |
-
}
|
29817 |
-
}, MINUTES.map(function (min, key) {
|
29818 |
-
return /*#__PURE__*/react.createElement("option", {
|
29819 |
-
key: "day_".concat(day, "_min_pm_start_").concat(min),
|
29820 |
-
value: min
|
29821 |
-
}, min);
|
29822 |
-
})), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29823 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][end][hours]"),
|
29824 |
-
style: {
|
29825 |
-
marginLeft: 10
|
29826 |
-
},
|
29827 |
-
value: get_default()(legacyValue, [key, "pm", "end", "hours"]),
|
29828 |
-
onChange: function onChange(e) {
|
29829 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29830 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29831 |
-
if (keyItem !== key) {
|
29832 |
-
return item;
|
29833 |
-
}
|
29834 |
-
|
29835 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29836 |
-
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29837 |
-
end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.end), {}, {
|
29838 |
-
hours: e.target.value
|
29839 |
-
})
|
29840 |
-
})
|
29841 |
-
});
|
29842 |
-
})
|
29843 |
-
}));
|
29844 |
-
}
|
29845 |
-
}, HOURS.map(function (hour, key) {
|
29846 |
-
return /*#__PURE__*/react.createElement("option", {
|
29847 |
-
key: "day_".concat(day, "_hour_pm_end_").concat(hour),
|
29848 |
-
value: hour
|
29849 |
-
}, hour);
|
29850 |
-
})), /*#__PURE__*/react.createElement("span", {
|
29851 |
-
style: {
|
29852 |
-
marginLeft: 5,
|
29853 |
-
marginRight: 5
|
29854 |
-
}
|
29855 |
-
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29856 |
-
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][end][mins]"),
|
29857 |
-
value: get_default()(legacyValue, [key, "pm", "end", "mins"]),
|
29858 |
-
onChange: function onChange(e) {
|
29859 |
-
rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29860 |
-
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29861 |
-
if (keyItem !== key) {
|
29862 |
-
return item;
|
29863 |
-
}
|
29864 |
-
|
29865 |
-
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29866 |
-
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29867 |
-
end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.end), {}, {
|
29868 |
-
mins: e.target.value
|
29869 |
-
})
|
29870 |
-
})
|
29871 |
-
});
|
29872 |
-
})
|
29873 |
-
}));
|
29874 |
-
}
|
29875 |
-
}, MINUTES.map(function (min, key) {
|
29876 |
-
return /*#__PURE__*/react.createElement("option", {
|
29877 |
-
key: "day_".concat(day, "_min_pm_end_").concat(min),
|
29878 |
-
value: min
|
29879 |
-
}, min);
|
29880 |
-
}))));
|
29881 |
}));
|
29882 |
};
|
29883 |
|
@@ -31072,7 +31126,11 @@ var FieldRepeaterFaq = function FieldRepeaterFaq(_ref) {
|
|
31072 |
}, /*#__PURE__*/react.createElement(Heading, null, /*#__PURE__*/react.createElement(AccordionItemHeadingWrapper, null, /*#__PURE__*/react.createElement(AccordionItemButtonWrapper, null, /*#__PURE__*/react.createElement(Button, null, /*#__PURE__*/react.createElement("div", null, "#", key + 1, " - ", item.question), /*#__PURE__*/react.createElement("span", {
|
31073 |
className: "seopress-arrow",
|
31074 |
"aria-hidden": "true"
|
31075 |
-
})))), /*#__PURE__*/react.createElement(AccordionItemPanel, null, /*#__PURE__*/react.createElement("p",
|
|
|
|
|
|
|
|
|
31076 |
type: "text",
|
31077 |
value: item.question,
|
31078 |
onChange: function onChange(e) {
|
@@ -31086,7 +31144,11 @@ var FieldRepeaterFaq = function FieldRepeaterFaq(_ref) {
|
|
31086 |
});
|
31087 |
}));
|
31088 |
}
|
31089 |
-
}), /*#__PURE__*/react.createElement("p",
|
|
|
|
|
|
|
|
|
31090 |
className: "form-textarea",
|
31091 |
style: {
|
31092 |
width: "100%"
|
@@ -31133,6 +31195,34 @@ var FieldRepeaterFaq = function FieldRepeaterFaq(_ref) {
|
|
31133 |
};
|
31134 |
|
31135 |
/* harmony default export */ const Faq = (FieldRepeaterFaq);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31136 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/DynamicField/index.js
|
31137 |
|
31138 |
|
@@ -31161,6 +31251,7 @@ function DynamicField_objectWithoutPropertiesLoose(source, excluded) { if (sourc
|
|
31161 |
|
31162 |
|
31163 |
|
|
|
31164 |
var DynamicField = function DynamicField(_ref) {
|
31165 |
var item = _ref.item,
|
31166 |
_ref$nameInput = _ref.nameInput,
|
@@ -31178,7 +31269,7 @@ var DynamicField = function DynamicField(_ref) {
|
|
31178 |
var nameForm = isNil_default()(nameInput) ? item.key : nameInput;
|
31179 |
var valueForm = isNil_default()(itemValue) ? values[item.key] : itemValue;
|
31180 |
(0,react.useEffect)(function () {
|
31181 |
-
if ((isNil_default()(valueForm) || isEmpty_default()(valueForm)) && !isNil_default()(item.value)) {
|
31182 |
rest.setFieldValue(nameForm, get_default()(item, "value", ""));
|
31183 |
}
|
31184 |
}, [valueForm]);
|
@@ -31206,23 +31297,26 @@ var DynamicField = function DynamicField(_ref) {
|
|
31206 |
className: classnames_default()({
|
31207 |
"w-full": item.type === "input" || item.type === "select" || item.type === "textarea"
|
31208 |
}),
|
31209 |
-
value: checkboxLegacyValue ? "yes" :
|
31210 |
-
onChange:
|
|
|
|
|
31211 |
}), item.label)), item.type === "input" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
|
31212 |
id: nameForm,
|
31213 |
name: nameForm,
|
31214 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31215 |
value: valueForm || "",
|
31216 |
-
className: "w-full",
|
31217 |
emptyIcon: emptyIcon,
|
31218 |
-
setFieldValue: rest.setFieldValue
|
|
|
31219 |
})), item.type === "number" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
|
31220 |
id: nameForm,
|
31221 |
name: nameForm,
|
31222 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31223 |
type: "number",
|
31224 |
value: valueForm || "",
|
31225 |
-
className: "w-full",
|
31226 |
emptyIcon: emptyIcon,
|
31227 |
setFieldValue: rest.setFieldValue,
|
31228 |
step: get_default()(item, "step", null),
|
@@ -31233,16 +31327,17 @@ var DynamicField = function DynamicField(_ref) {
|
|
31233 |
name: nameForm,
|
31234 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31235 |
value: valueForm || "",
|
31236 |
-
className: "w-full",
|
31237 |
style: {
|
31238 |
resize: "vertical"
|
31239 |
-
}
|
|
|
31240 |
})), item.type === "select" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Select, DynamicField_extends({
|
31241 |
id: nameForm,
|
31242 |
name: nameForm,
|
31243 |
placeholder: item.placeholder,
|
31244 |
value: valueForm || "",
|
31245 |
-
className: "w-full",
|
31246 |
options: item.options,
|
31247 |
onChange: rest.handleChange
|
31248 |
}, rest))), item.type === "upload" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(MediaUpload, DynamicField_extends({
|
@@ -31250,7 +31345,7 @@ var DynamicField = function DynamicField(_ref) {
|
|
31250 |
name: nameForm,
|
31251 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31252 |
value: valueForm || "",
|
31253 |
-
className: "w-full",
|
31254 |
emptyIcon: emptyIcon,
|
31255 |
setFieldValue: rest.setFieldValue,
|
31256 |
combinedValuesForm: combinedValuesForm
|
@@ -31258,22 +31353,27 @@ var DynamicField = function DynamicField(_ref) {
|
|
31258 |
id: nameForm,
|
31259 |
name: nameForm,
|
31260 |
value: valueForm || "",
|
31261 |
-
className: "w-full"
|
|
|
|
|
|
|
|
|
|
|
31262 |
}, rest))), item.type === "opening_hours" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(OpeningHours, DynamicField_extends({
|
31263 |
id: nameForm,
|
31264 |
name: nameForm,
|
31265 |
value: valueForm || "",
|
31266 |
-
className: "w-full"
|
31267 |
}, rest))), item.type === "repeater_how_to" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(HowTo, DynamicField_extends({
|
31268 |
id: nameForm,
|
31269 |
name: nameForm,
|
31270 |
value: valueForm || "",
|
31271 |
-
className: "w-full"
|
31272 |
}, rest))), item.type === "repeater_faq" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Faq, DynamicField_extends({
|
31273 |
id: nameForm,
|
31274 |
name: nameForm,
|
31275 |
value: valueForm || "",
|
31276 |
-
className: "w-full"
|
31277 |
}, rest))));
|
31278 |
};
|
31279 |
|
@@ -32025,52 +32125,230 @@ var saveRedirectionSettings = /*#__PURE__*/function () {
|
|
32025 |
return _ref.apply(this, arguments);
|
32026 |
};
|
32027 |
}();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32028 |
;// CONCATENATED MODULE: ./app/react/layout/Main/components/Redirection/index.js
|
32029 |
|
32030 |
|
32031 |
|
32032 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32033 |
|
32034 |
function Redirection_extends() { Redirection_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Redirection_extends.apply(this, arguments); }
|
32035 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32036 |
function Redirection_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Redirection_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
32037 |
|
32038 |
-
function Redirection_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32039 |
|
32040 |
-
function Redirection_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
32041 |
|
32042 |
-
function Redirection_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Redirection_ownKeys(Object(source), true).forEach(function (key) { Redirection_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Redirection_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
32043 |
|
32044 |
-
function Redirection_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
32045 |
|
32046 |
-
function Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
32047 |
|
32048 |
-
|
32049 |
|
32050 |
-
|
|
|
|
|
|
|
|
|
32051 |
|
32052 |
-
|
|
|
32053 |
|
32054 |
-
|
32055 |
|
32056 |
-
|
|
|
|
|
|
|
32057 |
|
32058 |
-
|
|
|
|
|
|
|
32059 |
|
32060 |
-
|
|
|
|
|
|
|
32061 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32062 |
|
|
|
|
|
|
|
|
|
32063 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32064 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32065 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32066 |
|
|
|
32067 |
|
|
|
|
|
|
|
32068 |
|
|
|
|
|
|
|
|
|
|
|
|
|
32069 |
|
32070 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32071 |
|
32072 |
-
var RedirectionLayout = function RedirectionLayout(
|
32073 |
-
var mainBarRef =
|
32074 |
var postId = getCurrentPostId();
|
32075 |
|
32076 |
var _useRedirectionSettin = metas_useRedirectionSettings({
|
@@ -32086,43 +32364,43 @@ var RedirectionLayout = function RedirectionLayout(_ref) {
|
|
32086 |
};
|
32087 |
});
|
32088 |
|
32089 |
-
var
|
32090 |
-
|
32091 |
-
loading =
|
32092 |
-
setLoading =
|
32093 |
|
32094 |
var _useContext = (0,react.useContext)(NotificationContext),
|
32095 |
actions = _useContext.actions;
|
32096 |
|
32097 |
var handleOnSubmit = /*#__PURE__*/function () {
|
32098 |
-
var
|
32099 |
var data;
|
32100 |
-
return regeneratorRuntime.wrap(function
|
32101 |
while (1) {
|
32102 |
-
switch (
|
32103 |
case 0:
|
32104 |
setLoading(true);
|
32105 |
-
|
32106 |
return saveRedirectionSettings(postId, Redirection_objectSpread(Redirection_objectSpread({}, values), {}, {
|
32107 |
_seopress_redirections_enabled: values._seopress_redirections_enabled ? "yes" : ""
|
32108 |
}));
|
32109 |
|
32110 |
case 3:
|
32111 |
-
data =
|
32112 |
mutate();
|
32113 |
setLoading(false);
|
32114 |
actions.setMessage(Redirection_("Your settings have been saved.", "wp-seopress"));
|
32115 |
|
32116 |
case 7:
|
32117 |
case "end":
|
32118 |
-
return
|
32119 |
}
|
32120 |
}
|
32121 |
-
},
|
32122 |
}));
|
32123 |
|
32124 |
-
return function handleOnSubmit(
|
32125 |
-
return
|
32126 |
};
|
32127 |
}();
|
32128 |
|
@@ -32137,29 +32415,15 @@ var RedirectionLayout = function RedirectionLayout(_ref) {
|
|
32137 |
enableReinitialize: true,
|
32138 |
onSubmit: handleOnSubmit,
|
32139 |
initialValues: initialValues
|
32140 |
-
}, function (
|
32141 |
-
var values =
|
32142 |
-
rest = Redirection_objectWithoutProperties(
|
32143 |
-
|
32144 |
-
return /*#__PURE__*/react.createElement(Form, null, data.map(function (item, key) {
|
32145 |
-
if (!item.visible) {
|
32146 |
-
return;
|
32147 |
-
}
|
32148 |
|
32149 |
-
|
32150 |
-
|
32151 |
-
|
32152 |
-
className: "mt-3"
|
32153 |
-
}, /*#__PURE__*/react.createElement(components_DynamicField, Redirection_extends({
|
32154 |
-
item: item,
|
32155 |
-
values: values,
|
32156 |
-
checkboxLegacyValue: item.key === "_seopress_redirections_enabled"
|
32157 |
-
}, rest))));
|
32158 |
-
}), /*#__PURE__*/react.createElement("div", {
|
32159 |
-
className: "sp-fixed"
|
32160 |
-
}, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
|
32161 |
loading: loading
|
32162 |
-
},
|
32163 |
}));
|
32164 |
};
|
32165 |
|
@@ -41537,7 +41801,7 @@ var saveVideoSitemapSettings = /*#__PURE__*/function () {
|
|
41537 |
|
41538 |
|
41539 |
var VideoSitemap_excluded = ["fields", "values"],
|
41540 |
-
|
41541 |
|
41542 |
function VideoSitemap_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
41543 |
|
@@ -41739,7 +42003,7 @@ var VideoSitemapLayout = function VideoSitemapLayout(_ref2) {
|
|
41739 |
})
|
41740 |
}, function (_ref4) {
|
41741 |
var values = _ref4.values,
|
41742 |
-
rest = VideoSitemap_objectWithoutProperties(_ref4,
|
41743 |
|
41744 |
return /*#__PURE__*/react.createElement(Form, null, responseVideoSitemap.data.map(function (item, key) {
|
41745 |
if (!item.visible) {
|
@@ -41962,18 +42226,21 @@ var saveSchemasManual = /*#__PURE__*/function () {
|
|
41962 |
|
41963 |
|
41964 |
|
41965 |
-
var SchemasManual_excluded = ["schemasAvailable", "fields", "schema", "arrayHelpers", "index", "fieldsAvailable"],
|
41966 |
-
SchemasManual_excluded2 = ["values"]
|
|
|
41967 |
|
41968 |
-
function
|
41969 |
|
41970 |
-
function
|
41971 |
|
41972 |
-
function
|
41973 |
|
41974 |
-
function
|
41975 |
|
41976 |
-
function
|
|
|
|
|
41977 |
|
41978 |
function SchemasManual_slicedToArray(arr, i) { return SchemasManual_arrayWithHoles(arr) || SchemasManual_iterableToArrayLimit(arr, i) || SchemasManual_unsupportedIterableToArray(arr, i) || SchemasManual_nonIterableRest(); }
|
41979 |
|
@@ -41989,6 +42256,12 @@ function SchemasManual_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr;
|
|
41989 |
|
41990 |
function SchemasManual_extends() { SchemasManual_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return SchemasManual_extends.apply(this, arguments); }
|
41991 |
|
|
|
|
|
|
|
|
|
|
|
|
|
41992 |
function SchemasManual_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = SchemasManual_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
41993 |
|
41994 |
function SchemasManual_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
@@ -42014,6 +42287,8 @@ var RepeaterSchema = /*#__PURE__*/react.memo(function RepeaterSchema(_ref) {
|
|
42014 |
arrayHelpers = _ref.arrayHelpers,
|
42015 |
index = _ref.index,
|
42016 |
fieldsAvailable = _ref.fieldsAvailable,
|
|
|
|
|
42017 |
rest = SchemasManual_objectWithoutProperties(_ref, SchemasManual_excluded);
|
42018 |
|
42019 |
var type = get_default()(schema, "_seopress_pro_rich_snippets_type", null);
|
@@ -42024,7 +42299,34 @@ var RepeaterSchema = /*#__PURE__*/react.memo(function RepeaterSchema(_ref) {
|
|
42024 |
|
42025 |
var notices = get_default()(itemSchemaAvailable, "notices", []);
|
42026 |
|
42027 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42028 |
style: {
|
42029 |
fontWeight: "bold",
|
42030 |
marginBottom: 5
|
@@ -42047,11 +42349,22 @@ var RepeaterSchema = /*#__PURE__*/react.memo(function RepeaterSchema(_ref) {
|
|
42047 |
color: "#cc1818",
|
42048 |
boxShadow: "inset 0 0 0 1px #cc1818",
|
42049 |
marginLeft: "auto",
|
42050 |
-
marginRight: 50
|
|
|
42051 |
},
|
42052 |
onClick: function onClick(e) {
|
42053 |
e.stopPropagation;
|
42054 |
arrayHelpers.remove(index);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42055 |
}
|
42056 |
}, SchemasManual_("Delete schema", "wp-seopress")), /*#__PURE__*/react.createElement("span", {
|
42057 |
className: "seopress-arrow",
|
@@ -42083,14 +42396,124 @@ var RepeaterSchema = /*#__PURE__*/react.memo(function RepeaterSchema(_ref) {
|
|
42083 |
});
|
42084 |
var DEFAULT_TYPE = "articles";
|
42085 |
|
42086 |
-
var
|
42087 |
-
var
|
42088 |
-
|
|
|
|
|
|
|
42089 |
|
42090 |
-
var _useState = (0,react.useState)(
|
|
|
|
|
|
|
|
|
|
|
42091 |
_useState2 = SchemasManual_slicedToArray(_useState, 2),
|
42092 |
-
|
42093 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42094 |
|
42095 |
var _useContext = (0,react.useContext)(NotificationContext),
|
42096 |
actions = _useContext.actions;
|
@@ -42109,7 +42532,7 @@ var SchemasManualLayout = function SchemasManualLayout(_ref3) {
|
|
42109 |
});
|
42110 |
|
42111 |
var handleOnSubmit = /*#__PURE__*/function () {
|
42112 |
-
var
|
42113 |
var data;
|
42114 |
return regeneratorRuntime.wrap(function _callee$(_context) {
|
42115 |
while (1) {
|
@@ -42134,24 +42557,13 @@ var SchemasManualLayout = function SchemasManualLayout(_ref3) {
|
|
42134 |
}));
|
42135 |
|
42136 |
return function handleOnSubmit(_x) {
|
42137 |
-
return
|
42138 |
};
|
42139 |
}();
|
42140 |
|
42141 |
var data = responseSchemas.data,
|
42142 |
fields = responseSchemas.fields,
|
42143 |
schemas = responseSchemas.schemas;
|
42144 |
-
|
42145 |
-
var getSchemaDefault = function getSchemaDefault() {
|
42146 |
-
var item = get_default()(fields, DEFAULT_TYPE, []).reduce(function (previous, current) {
|
42147 |
-
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, previous), {}, SchemasManual_defineProperty({}, current.key, get_default()(current, "value", "")));
|
42148 |
-
}, {});
|
42149 |
-
|
42150 |
-
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, item), {}, {
|
42151 |
-
_seopress_pro_rich_snippets_type: DEFAULT_TYPE
|
42152 |
-
});
|
42153 |
-
};
|
42154 |
-
|
42155 |
return /*#__PURE__*/react.createElement("div", {
|
42156 |
ref: mainBarRef,
|
42157 |
tabIndex: "0"
|
@@ -42161,53 +42573,16 @@ var SchemasManualLayout = function SchemasManualLayout(_ref3) {
|
|
42161 |
initialValues: {
|
42162 |
schemas: isNil_default()(data) ? [] : data
|
42163 |
}
|
42164 |
-
}, function (
|
42165 |
-
var values =
|
42166 |
-
rest = SchemasManual_objectWithoutProperties(
|
42167 |
-
|
42168 |
-
return /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(Accordion, {
|
42169 |
-
style: {
|
42170 |
-
marginTop: 10
|
42171 |
-
},
|
42172 |
-
allowMultipleExpanded: true,
|
42173 |
-
allowZeroExpanded: true
|
42174 |
-
}, /*#__PURE__*/react.createElement(FieldArray, {
|
42175 |
-
name: "schemas",
|
42176 |
-
render: function render(arrayHelpers) {
|
42177 |
-
return /*#__PURE__*/react.createElement(react.Fragment, null, values.schemas.map(function (schema, key) {
|
42178 |
-
var fieldsSchema = get_default()(fields, schema._seopress_pro_rich_snippets_type, null);
|
42179 |
-
|
42180 |
-
if (isNil_default()(fieldsSchema)) {
|
42181 |
-
return;
|
42182 |
-
}
|
42183 |
|
42184 |
-
|
42185 |
-
|
42186 |
-
|
42187 |
-
|
42188 |
-
|
42189 |
-
|
42190 |
-
index: key,
|
42191 |
-
schemasAvailable: schemas,
|
42192 |
-
fieldsAvailable: fields
|
42193 |
-
}, rest)));
|
42194 |
-
}), /*#__PURE__*/react.createElement("div", {
|
42195 |
-
className: "sp-fixed"
|
42196 |
-
}, /*#__PURE__*/react.createElement(ui_Button, {
|
42197 |
-
style: {
|
42198 |
-
marginRight: 12
|
42199 |
-
},
|
42200 |
-
type: "button",
|
42201 |
-
secondary: true,
|
42202 |
-
onClick: function onClick(e) {
|
42203 |
-
e.stopPropagation;
|
42204 |
-
arrayHelpers.push(getSchemaDefault());
|
42205 |
-
}
|
42206 |
-
}, SchemasManual_("Add a schema", "wp-seopress")), /*#__PURE__*/react.createElement(components_ButtonSubmit, {
|
42207 |
-
loading: loading
|
42208 |
-
}, SchemasManual_("Save", "wp-seopress"))));
|
42209 |
-
}
|
42210 |
-
})));
|
42211 |
}));
|
42212 |
};
|
42213 |
|
@@ -42561,7 +42936,7 @@ function GlobalStyle_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
42561 |
|
42562 |
|
42563 |
var METABOX_MODULE_NAME = "seopress-js-module-seo-metabox";
|
42564 |
-
var SCGlobalStyle = We(["&&&{.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220,220,222,0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7;}.seopress-ui-datepicker{padding:0;margin:0;border-radius:0;background-color:#fff;border:1px solid var(--borderColorLight);border-top:none;box-shadow:0 3px 6px rgba(0,0,0,0.075);min-width:17em;width:auto !important;z-index:999999 !important;}body.wp-admin:not(.rtl) .seopress-ui-datepicker{margin-left:-1px;}body.wp-admin.rtl .seopress-ui-datepicker{margin-right:-1px;}.seopress-ui-datepicker *{padding:0;font-family:var(--fontFamily);border-radius:0;}.seopress-ui-datepicker table{font-size:--var(--fontSize);margin:0;border:none;border-collapse:collapse;}.seopress-ui-datepicker .ui-widget-header,.seopress-ui-datepicker .ui-datepicker-header{background-image:none;border:none;color:var(--primaryColor);font-weight:normal;}.seopress-ui-datepicker .ui-datepicker-header .ui-state-hover{background:transparent;border-color:transparent;cursor:pointer;}.seopress-ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:var(--colorDark);font-size:var(--fontSize);line-height:14px;text-align:center;font-weight:bold;}.seopress-ui-datepicker .ui-datepicker-prev,.seopress-ui-datepicker .ui-datepicker-next{position:relative;top:0;height:34px;width:34px;}.seopress-ui-datepicker .ui-state-hover.ui-datepicker-prev,.seopress-ui-datepicker .ui-state-hover.ui-datepicker-next{border:none;}.seopress-ui-datepicker .ui-datepicker-prev,.seopress-ui-datepicker .ui-datepicker-prev-hover{left:0;}.seopress-ui-datepicker .ui-datepicker-next,.seopress-ui-datepicker .ui-datepicker-next-hover{right:0;}.seopress-ui-datepicker .ui-datepicker-next span,.seopress-ui-datepicker .ui-datepicker-prev span{display:none;}.seopress-ui-datepicker .ui-datepicker-prev{float:left;}.seopress-ui-datepicker .ui-datepicker-next{float:right;}.seopress-ui-datepicker .ui-datepicker-prev:before,.seopress-ui-datepicker .ui-datepicker-next:before{font:normal 20px/34px \"dashicons\";padding-left:0;color:var(--primaryColor);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px;}.seopress-ui-datepicker .ui-datepicker-prev:before{content:\"\f341\";}.seopress-ui-datepicker .ui-datepicker-next:before{content:\"\f345\";}.seopress-ui-datepicker .ui-datepicker-prev-hover:before,.seopress-ui-datepicker .ui-datepicker-next-hover:before{opacity:0.7;}.seopress-ui-datepicker select.ui-datepicker-month,.seopress-ui-datepicker select.ui-datepicker-year{width:33%;}.seopress-ui-datepicker thead{color:#fff;font-weight:600;}.seopress-ui-datepicker th{padding:10px;}.seopress-ui-datepicker td{padding:0;border:1px solid var(--borderColorCard);}.seopress-ui-datepicker td.ui-datepicker-other-month{border:transparent;}.seopress-ui-datepicker tr:first-of-type td{border-top:1px solid #f0f0f0;}.seopress-ui-datepicker td.ui-datepicker-week-end{background-color:var(--borderColorCard);border:1px solid #f0f0f0;}.seopress-ui-datepicker td.ui-datepicker-today{background-color:var(--backgroundSecondaryHover);}.seopress-ui-datepicker td.ui-datepicker-current-day{background:#bbdd88;}.seopress-ui-datepicker td .ui-state-default{background:transparent;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:normal;color:#444;}.seopress-ui-datepicker td.ui-state-disabled .ui-state-default{opacity:0.5;}.seopress-ui-datepicker thead{background:var(--backgroundPrimary);}.seopress-ui-datepicker td .ui-state-hover{background:var(--backgroundPrimary);color:#fff;}}body #", "{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;--color:#757575;--colorP:#3c434a;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220,220,222,0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7;--fontWeight:normal;.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:none;border:none;padding:0;.dashicons{color:var(--colorDark);}.sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;left:-20px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none;&::before{top:-8px;}&::after{border:8px solid #fff;top:-6px;}&::after{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:\"\";position:absolute;height:0;width:0;line-height:0;left:30px;}}&:hover .sp-tooltiptext,&:focus .sp-tooltiptext,&:active .sp-tooltiptext{visibility:visible;}.sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block;}.sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5;}.sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px;}}.flex{display:flex;}.inline-flex{display:inline-flex;}.flex-wrap{flex-wrap:wrap;}.items-center{align-items:center;}.justify-content{justify-content:space-evenly;}.mt-0{margin-top:0 !important;}.mt-1{margin-top:0.25rem !important;}.mt-2{margin-top:0.5rem !important;}.mt-3{margin-top:1rem !important;}.mt-4{margin-top:1.5rem !important;}.mt-5{margin-top:3rem !important;}.mt-auto{margin-top:auto !important;}.me-0{margin-right:0 !important;}.me-1{margin-right:0.25rem !important;}.me-2{margin-right:0.5rem !important;}.me-3{margin-right:1rem !important;}.me-4{margin-right:1.5rem !important;}.me-5{margin-right:3rem !important;}.me-auto{margin-right:auto !important;}.mb-0{margin-bottom:0 !important;}.mb-1{margin-bottom:0.25rem !important;}.mb-2{margin-bottom:0.5rem !important;}.mb-3{margin-bottom:1rem !important;}.mb-4{margin-bottom:1.5rem !important;}.mb-5{margin-bottom:3rem !important;}.mb-auto{margin-bottom:auto !important;}.ms-0{margin-left:0 !important;}.ms-1{margin-left:0.25rem !important;}.ms-2{margin-left:0.5rem !important;}.ms-3{margin-left:1rem !important;}.ms-4{margin-left:1.5rem !important;}.ms-5{margin-left:3rem !important;}.ms-auto{margin-left:auto !important;}.w-1\\/2{width:50%;}.w-1\\/5{width:20%;}.w-2\\/5{width:40%;}.w-3\\/5{width:60%;}.w-4\\/5{width:80%;}.w-1\\/4{width:25%;}.w-2\\/4{width:50%;}.w-3\\/4{width:75%;}.w-1\\/12{width:8.3%;}.w-2\\/12{width:16.6%;}.w-3\\/12{width:25%;}.w-4\\/12{width:33%;}.w-5\\/12{width:41.6%;}.w-6\\/12{width:50%;}.w-7\\/12{width:58.3%;}.w-8\\/12{width:66%;}.w-9\\/12{width:75%;}.w-10\\/12{width:83.3%;}.w-11\\/12{width:91.6%;}.w-full{width:100%;}.relative{position:relative;}.absolute{position:absolute;}.form-textarea{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;background:none;}.form-textarea:focus,.form-textarea:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}.form-input-date{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden;}25%{opacity:1;bottom:40px;visibility:visible;}75%{opacity:1;visibility:visible;}100%{opacity:0;visibility:hidden;}}@keyframes sp-beacon-toggle{0%{opacity:0;bottom:-20px;visibility:hidden;}100%{opacity:1;bottom:0px;visibility:visible;}}font-size:var(--fontSize);font-family:var(--fontFamily);font-weight:var(--fontWeight);line-height:var(--lineHeight);-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;color:var(--colorP);letter-spacing:inherit;input[type=\"checkbox\"]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0 !important;outline:0;padding:0 !important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:0.1s border-color ease-in-out;}input[type=\"checkbox\"]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--primaryColor);outline:2px solid transparent;}input[type=\"checkbox\"]:checked::before{content:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");background:var(--primaryColor);margin:-1px;width:20px;height:20px;left:0;top:0;}h1,h2,h3,h4,h5,h6{display:block;font-weight:600;text-align:left;}h1:not(*):before,h1:before,h2:before,h3:before,h4:before,h5:before,h6:before,h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:none;}p{font-family:var(--fontFamily);font-size:var(--fontSize);font-weight:var(--fontWeight);color:var(--colorP);line-height:1.5;margin:1em 0;}a{color:var(--primaryColor);text-decoration:underline;}ul{list-style:none;padding:0;margin:0;}a:hover{text-decoration:underline;}.description{display:block;font-size:12px;color:var(--color);margin:0.5em 0;}.description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex;}.description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px;}.sp-fixed{position:sticky;width:100%;left:0px;bottom:-21px;display:flex;background:#fff;border-top:1px solid var(--borderColorLight);margin-top:20px;padding:15px 0 5px 0;}.resizable{position:relative;}.resizable::after{content:\"\";transition:all 150ms linear;opacity:0;background:var(--backgroundPrimary);position:absolute;top:0;left:0;height:5px;width:100%;}.resizable:hover::after,.resizable:focus::after,.resizable:active::after{opacity:1;}.sp-seo-metabox{position:fixed;left:10%;bottom:0;z-index:100100;background-color:rgb(255,255,255);width:70%;height:400px;box-sizing:border-box;flex-shrink:0;box-shadow:rgb(0 0 0 / 5%) 0px 0px 0px 1px,rgb(0 0 0 / 15%) 0px 5px 30px 0px,rgb(0 0 0 / 5%) 0px 3px 3px 0px;border-radius:4px;border:none;animation-name:sp-beacon-toggle;animation-duration:200ms;animation-iteration-count:1;animation-fill-mode:forwards;max-height:calc(100% - 93px);}.sp-cursor-pointer{cursor:pointer;}@media only screen and (max-width:600px){.sp-seo-metabox{height:auto;overflow-y:auto;}.flex{flex-wrap:wrap;}[class^=\"w-\"]{width:100%;}}.seopress-notice{margin:5px 0 35px 0px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;position:static !important;top:0 !important;left:0 !important;&.is-warning{border-left-color:#f0b849;background:#fef8ee;}pre{background:none !important;}}.seopress-list{margin:0 !important;li::before{content:\"\" !important;}}}@keyframes anim-loading{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.anim-loading-layout{animation-name:anim-loading-layout;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:forwards;}@keyframes anim-loading-layout{0%{opacity:0;}50%{opacity:1;}100%{opacity:0;}}.analysis-score{svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px;circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em;}}&.notgood #bar{stroke-dashoffset:565;stroke:var(--colorWarning);}&.good #bar{stroke-dashoffset:0;stroke:var(--colorSuccess);}}.dashicons{vertical-align:middle;}.sp-dashicons-ok,.sp-dashicons-not{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px;}.sp-dashicons-not{background:var(--colorAlert);}.seopress-arrow::after{content:\"\f343\";font-family:\"Dashicons\";position:absolute;right:10px;top:calc(50% - 12px);fontSize:14px;}.sp-seo-metabox .accordion__button[aria-expanded=true] .seopress-arrow:after{content:\"\f347\";}.sp-google-preview{margin-left:10px;flex-grow:1;}@media only screen and (max-width:600px){.sp-google-preview{margin-left:0;}}.media-frame-title h1::after,.media-frame-title h1::before,.media-attachments-filter-heading::before,.media-sidebar h2::before{content:none;}.media-router .media-menu-item{text-transform:none;background:inherit;color:inherit;font-weight:normal;letter-spacing:inherit;}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{font-size:inherit;text-transform:none;}body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded #seopress-js-module-seo-metabox .sp-seo-metabox,body.is-fullscreen-mode.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox{max-width:100%;width:100% !important;left:0px;box-shadow:none;border-right:1px solid var(--borderColorLight);", "}body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox{max-width:calc(100% - 160px);left:160px;", "}body.block-editor-page.folded:not(.is-fullscreen-mode) #seopress-js-module-seo-metabox .sp-seo-metabox{left:36px;max-width:calc(100% - 36px);", "}@media only screen and (max-width:1400px){body:not(.wp-admin) #seopress-js-module-seo-metabox .sp-seo-metabox{width:100%;max-width:100%;min-width:100%;left:0;}}@media only screen and (max-width:782px){body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.auto-fold #seopress-js-module-seo-metabox .sp-seo-metabox,body.is-fullscreen-mode.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded:not(.is-fullscreen-mode) #seopress-js-module-seo-metabox .sp-seo-metabox{width:100%;max-width:100%;min-width:100%;left:0;}}"], METABOX_MODULE_NAME, function (_ref) {
|
42565 |
var isSidebarGutenbergOpened = _ref.isSidebarGutenbergOpened;
|
42566 |
return isSidebarGutenbergOpened && "\n max-width: calc(100% - 280px);\n ";
|
42567 |
}, function (_ref2) {
|
25846 |
componentId: "sc-1bv2xq-1"
|
25847 |
})(["&&&&{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}"]);
|
25848 |
/* harmony default export */ const Input = (SCInput);
|
25849 |
+
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/index.js
|
25850 |
+
|
25851 |
+
var SCProgressBar = styled_components_browser_esm.div.withConfig({
|
25852 |
+
componentId: "sc-8f3q3f-0"
|
25853 |
+
})(["&&&{overflow:hidden;font-size:0.75rem;background-color:#e9ecef;border-radius:0.25rem;}"]);
|
25854 |
+
/* harmony default export */ const ProgressBar = (SCProgressBar);
|
25855 |
+
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/ProgressInformation/index.js
|
25856 |
+
|
25857 |
+
var SCProgressInformation = styled_components_browser_esm.div.withConfig({
|
25858 |
+
componentId: "sc-1jd5cu1-0"
|
25859 |
+
})(["&&&{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 0.25rem 0.25rem;}"]);
|
25860 |
+
/* harmony default export */ const ProgressInformation = (SCProgressInformation);
|
25861 |
+
;// CONCATENATED MODULE: ./app/react/components/RecommendedLimitField/index.js
|
25862 |
+
|
25863 |
+
|
25864 |
+
|
25865 |
+
|
25866 |
+
var RecommendedLimitField = function RecommendedLimitField(_ref) {
|
25867 |
+
var children = _ref.children;
|
25868 |
+
return /*#__PURE__*/react.createElement(ProgressBar, null, /*#__PURE__*/react.createElement(ProgressInformation, null, children));
|
25869 |
+
};
|
25870 |
+
|
25871 |
+
/* harmony default export */ const components_RecommendedLimitField = (RecommendedLimitField);
|
25872 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/Input/index.js
|
25873 |
|
25874 |
|
25875 |
|
25876 |
+
|
25877 |
+
var Input_excluded = ["name", "id", "value", "type", "emptyIcon", "setFieldValue", "item"];
|
25878 |
|
25879 |
function Input_extends() { Input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Input_extends.apply(this, arguments); }
|
25880 |
|
25898 |
|
25899 |
|
25900 |
|
25901 |
+
var Input_ = wp.i18n.__;
|
25902 |
+
|
25903 |
var FieldInput = function FieldInput(_ref) {
|
25904 |
var name = _ref.name,
|
25905 |
id = _ref.id,
|
25909 |
_ref$emptyIcon = _ref.emptyIcon,
|
25910 |
emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
|
25911 |
setFieldValue = _ref.setFieldValue,
|
25912 |
+
item = _ref.item,
|
25913 |
rest = Input_objectWithoutProperties(_ref, Input_excluded);
|
25914 |
|
25915 |
var _useState = (0,react.useState)(value),
|
25928 |
}, 200), []);
|
25929 |
|
25930 |
if (!emptyIcon) {
|
25931 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Input, Input_extends({
|
25932 |
name: name,
|
25933 |
id: id,
|
25934 |
type: type,
|
25936 |
onChange: function onChange(e) {
|
25937 |
setFormValue(e.target.value);
|
25938 |
}
|
25939 |
+
}, rest)), !isNil_default()(get_default()(item, "recommended_limit", null)) && /*#__PURE__*/react.createElement("div", {
|
25940 |
+
style: {
|
25941 |
+
marginTop: 5
|
25942 |
+
}
|
25943 |
+
}, /*#__PURE__*/react.createElement(components_RecommendedLimitField, null, /*#__PURE__*/react.createElement("span", {
|
25944 |
+
style: {
|
25945 |
+
color: ""
|
25946 |
+
}
|
25947 |
+
}, formValue.length), " ", "/\xA0", /*#__PURE__*/react.createElement("strong", null, item.recommended_limit), " ", /*#__PURE__*/react.createElement("span", null, " (", Input_("maximum limit", "wp-seopress"), ")"))));
|
25948 |
}
|
25949 |
|
25950 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
25951 |
style: {
|
25952 |
position: "relative",
|
25953 |
width: "100%"
|
25981 |
|
25982 |
setFieldValue(name, "");
|
25983 |
}
|
25984 |
+
})), !isNil_default()(get_default()(item, "recommended_limit", null)) && /*#__PURE__*/react.createElement("div", {
|
25985 |
+
style: {
|
25986 |
+
marginTop: 5
|
25987 |
+
}
|
25988 |
+
}, /*#__PURE__*/react.createElement(components_RecommendedLimitField, null, /*#__PURE__*/react.createElement("span", {
|
25989 |
+
style: {
|
25990 |
+
color: ""
|
25991 |
+
}
|
25992 |
+
}, formValue.length), " ", "/\xA0", /*#__PURE__*/react.createElement("strong", null, item.recommended_limit), " ", /*#__PURE__*/react.createElement("span", null, " (", Input_("maximum limit", "wp-seopress"), ")"))));
|
25993 |
};
|
25994 |
|
25995 |
/* harmony default export */ const components_Input = (FieldInput);
|
25997 |
var classnames = __webpack_require__(4184);
|
25998 |
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
25999 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/TextArea/index.js
|
26000 |
+
|
26001 |
+
|
26002 |
+
var TextArea_excluded = ["name", "className", "item"];
|
26003 |
|
26004 |
function TextArea_extends() { TextArea_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return TextArea_extends.apply(this, arguments); }
|
26005 |
|
26011 |
|
26012 |
|
26013 |
|
26014 |
+
var TextArea_ = wp.i18n.__;
|
26015 |
+
|
26016 |
var FieldTextarea = function FieldTextarea(_ref) {
|
26017 |
var name = _ref.name,
|
26018 |
_ref$className = _ref.className,
|
26019 |
className = _ref$className === void 0 ? "" : _ref$className,
|
26020 |
+
item = _ref.item,
|
26021 |
rest = TextArea_objectWithoutProperties(_ref, TextArea_excluded);
|
26022 |
|
26023 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Field, TextArea_extends({
|
26024 |
name: name,
|
26025 |
type: "textarea",
|
26026 |
as: "textarea",
|
26027 |
className: classnames_default()(className, "form-textarea")
|
26028 |
+
}, rest)), !isNil_default()(get_default()(item, "recommended_limit", null)) && /*#__PURE__*/react.createElement("div", {
|
26029 |
+
style: {
|
26030 |
+
marginTop: 5
|
26031 |
+
}
|
26032 |
+
}, /*#__PURE__*/react.createElement(components_RecommendedLimitField, null, /*#__PURE__*/react.createElement("span", {
|
26033 |
+
style: {
|
26034 |
+
color: ""
|
26035 |
+
}
|
26036 |
+
}, formValue.length), " ", "/\xA0", /*#__PURE__*/react.createElement("strong", null, item.recommended_limit), " ", /*#__PURE__*/react.createElement("span", null, " (", TextArea_("maximum limit", "wp-seopress"), ")"))));
|
26037 |
};
|
26038 |
|
26039 |
/* harmony default export */ const TextArea = (FieldTextarea);
|
28097 |
};
|
28098 |
|
28099 |
/* harmony default export */ const components_TagsChoice = (TagsChoice);
|
|
|
|
|
|
|
|
|
|
|
|
|
28100 |
;// CONCATENATED MODULE: ./app/react/ui/ProgressBar/CurrentProgress/index.js
|
28101 |
|
28102 |
var SCCurrentProgress = styled_components_browser_esm.div.withConfig({
|
28103 |
componentId: "sc-djzxn7-0"
|
28104 |
})(["&&&{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width 0.6s ease;font-size:12px;}"]);
|
28105 |
/* harmony default export */ const CurrentProgress = (SCCurrentProgress);
|
|
|
|
|
|
|
|
|
|
|
|
|
28106 |
;// CONCATENATED MODULE: ./app/react/components/RecommendedLimit/index.js
|
28107 |
|
28108 |
|
29432 |
|
29433 |
var OpeningHours_excluded = ["name", "id", "value"];
|
29434 |
|
29435 |
+
function OpeningHours_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = OpeningHours_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
29436 |
+
|
29437 |
+
function OpeningHours_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
29438 |
+
|
29439 |
function OpeningHours_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
29440 |
|
29441 |
function OpeningHours_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { OpeningHours_ownKeys(Object(source), true).forEach(function (key) { OpeningHours_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { OpeningHours_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
29442 |
|
29443 |
function OpeningHours_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
29444 |
|
|
|
|
|
|
|
|
|
29445 |
|
29446 |
|
29447 |
|
29448 |
+
var OpeningHours_ = wp.i18n.__;
|
29449 |
var DAYS = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
|
29450 |
var HOURS = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
|
29451 |
var MINUTES = ["00", "15", "30", "45", "59"];
|
29452 |
|
29453 |
+
var OpeningHoursMorning = function OpeningHoursMorning(_ref) {
|
29454 |
var name = _ref.name,
|
29455 |
+
currentValue = _ref.currentValue,
|
29456 |
+
legacyValue = _ref.legacyValue,
|
29457 |
+
setFieldValue = _ref.setFieldValue,
|
29458 |
+
index = _ref.index,
|
29459 |
+
day = _ref.day;
|
29460 |
+
|
29461 |
+
var handleChangeOpening = function handleChangeOpening(checked) {
|
29462 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29463 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29464 |
+
if (keyItem !== index) {
|
29465 |
+
return item;
|
29466 |
+
}
|
29467 |
+
|
29468 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29469 |
+
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
|
29470 |
+
open: checked ? "1" : ""
|
29471 |
+
})
|
29472 |
+
});
|
29473 |
+
})
|
29474 |
+
}));
|
29475 |
+
};
|
29476 |
+
|
29477 |
+
var handleChangeHour = function handleChangeHour(value, type) {
|
29478 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29479 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29480 |
+
if (keyItem !== index) {
|
29481 |
+
return item;
|
29482 |
+
}
|
29483 |
+
|
29484 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29485 |
+
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, OpeningHours_defineProperty({}, type, OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am[type]), {}, {
|
29486 |
+
hours: value
|
29487 |
+
})))
|
29488 |
+
});
|
29489 |
+
})
|
29490 |
+
}));
|
29491 |
+
};
|
29492 |
+
|
29493 |
+
var handleChangeMinutes = function handleChangeMinutes(value, type) {
|
29494 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29495 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29496 |
+
if (keyItem !== index) {
|
29497 |
+
return item;
|
29498 |
+
}
|
29499 |
+
|
29500 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29501 |
+
am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, OpeningHours_defineProperty({}, type, OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am[type]), {}, {
|
29502 |
+
mins: value
|
29503 |
+
})))
|
29504 |
+
});
|
29505 |
+
})
|
29506 |
+
}));
|
29507 |
+
};
|
29508 |
+
|
29509 |
+
return /*#__PURE__*/react.createElement("div", {
|
29510 |
+
className: "flex items-center",
|
29511 |
+
style: {
|
29512 |
+
marginBottom: 8
|
29513 |
+
}
|
29514 |
+
}, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
|
29515 |
+
type: "checkbox",
|
29516 |
+
value: "1",
|
29517 |
+
checked: get_default()(legacyValue, [index, "am", "open"]),
|
29518 |
+
onChange: function onChange(e) {
|
29519 |
+
return handleChangeOpening(e.target.checked);
|
29520 |
+
}
|
29521 |
+
}), /*#__PURE__*/react.createElement("span", {
|
29522 |
+
style: {
|
29523 |
+
minWidth: "14%"
|
29524 |
+
}
|
29525 |
+
}, OpeningHours_("Open in the morning?", "wp-seopress")), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29526 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][am][start][hours]"),
|
29527 |
+
value: get_default()(legacyValue, [index, "am", "start", "hours"]),
|
29528 |
+
style: {
|
29529 |
+
marginLeft: 10
|
29530 |
+
},
|
29531 |
+
onChange: function onChange(e) {
|
29532 |
+
handleChangeHour(e.target.value, "start");
|
29533 |
+
}
|
29534 |
+
}, HOURS.map(function (hour) {
|
29535 |
+
return /*#__PURE__*/react.createElement("option", {
|
29536 |
+
key: "day_".concat(day, "_hour_am_start_").concat(hour),
|
29537 |
+
value: hour
|
29538 |
+
}, hour);
|
29539 |
+
})), /*#__PURE__*/react.createElement("span", {
|
29540 |
+
style: {
|
29541 |
+
marginLeft: 5,
|
29542 |
+
marginRight: 5
|
29543 |
+
}
|
29544 |
+
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29545 |
+
style: {
|
29546 |
+
marginRight: 10
|
29547 |
+
},
|
29548 |
+
onChange: function onChange(e) {
|
29549 |
+
handleChangeMinutes(e.target.value, "start");
|
29550 |
+
},
|
29551 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][am][start][mins]"),
|
29552 |
+
value: get_default()(legacyValue, [index, "am", "start", "mins"])
|
29553 |
+
}, MINUTES.map(function (hour) {
|
29554 |
+
return /*#__PURE__*/react.createElement("option", {
|
29555 |
+
key: "day_".concat(day, "_min_am_start_").concat(hour),
|
29556 |
+
value: hour
|
29557 |
+
}, hour);
|
29558 |
+
})), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29559 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][am][end][hours]"),
|
29560 |
+
style: {
|
29561 |
+
marginLeft: 10
|
29562 |
+
},
|
29563 |
+
value: get_default()(legacyValue, [index, "am", "end", "hours"]),
|
29564 |
+
onChange: function onChange(e) {
|
29565 |
+
handleChangeHour(e.target.value, "end");
|
29566 |
+
}
|
29567 |
+
}, HOURS.map(function (hour) {
|
29568 |
+
return /*#__PURE__*/react.createElement("option", {
|
29569 |
+
key: "day_".concat(day, "_hour_am_end_").concat(hour),
|
29570 |
+
value: hour
|
29571 |
+
}, hour);
|
29572 |
+
})), /*#__PURE__*/react.createElement("span", {
|
29573 |
+
style: {
|
29574 |
+
marginLeft: 5,
|
29575 |
+
marginRight: 5
|
29576 |
+
}
|
29577 |
+
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29578 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][am][end][mins]"),
|
29579 |
+
value: get_default()(legacyValue, [index, "am", "end", "mins"]),
|
29580 |
+
onChange: function onChange(e) {
|
29581 |
+
handleChangeMinutes(e.target.value, "end");
|
29582 |
+
}
|
29583 |
+
}, MINUTES.map(function (min) {
|
29584 |
+
return /*#__PURE__*/react.createElement("option", {
|
29585 |
+
key: "day_".concat(day, "_min_am_end_").concat(min),
|
29586 |
+
value: min
|
29587 |
+
}, min);
|
29588 |
+
})));
|
29589 |
+
};
|
29590 |
+
|
29591 |
+
var OpeningHoursAfternoon = function OpeningHoursAfternoon(_ref2) {
|
29592 |
+
var name = _ref2.name,
|
29593 |
+
currentValue = _ref2.currentValue,
|
29594 |
+
legacyValue = _ref2.legacyValue,
|
29595 |
+
setFieldValue = _ref2.setFieldValue,
|
29596 |
+
index = _ref2.index,
|
29597 |
+
day = _ref2.day;
|
29598 |
+
|
29599 |
+
var handleChangeOpening = function handleChangeOpening(checked) {
|
29600 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29601 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29602 |
+
if (keyItem !== index) {
|
29603 |
+
return item;
|
29604 |
+
}
|
29605 |
+
|
29606 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29607 |
+
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
|
29608 |
+
open: checked ? "1" : ""
|
29609 |
+
})
|
29610 |
+
});
|
29611 |
+
})
|
29612 |
+
}));
|
29613 |
+
};
|
29614 |
+
|
29615 |
+
var handleChangeHour = function handleChangeHour(value, type) {
|
29616 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29617 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29618 |
+
if (keyItem !== index) {
|
29619 |
+
return item;
|
29620 |
+
}
|
29621 |
+
|
29622 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29623 |
+
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, OpeningHours_defineProperty({}, type, OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm[type]), {}, {
|
29624 |
+
hours: value
|
29625 |
+
})))
|
29626 |
+
});
|
29627 |
+
})
|
29628 |
+
}));
|
29629 |
+
};
|
29630 |
+
|
29631 |
+
var handleChangeMinutes = function handleChangeMinutes(value, type) {
|
29632 |
+
setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
|
29633 |
+
seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
|
29634 |
+
if (keyItem !== index) {
|
29635 |
+
return item;
|
29636 |
+
}
|
29637 |
+
|
29638 |
+
return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
|
29639 |
+
pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, OpeningHours_defineProperty({}, type, OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm[type]), {}, {
|
29640 |
+
mins: value
|
29641 |
+
})))
|
29642 |
+
});
|
29643 |
+
})
|
29644 |
+
}));
|
29645 |
+
};
|
29646 |
+
|
29647 |
+
return /*#__PURE__*/react.createElement("div", {
|
29648 |
+
className: "flex items-center",
|
29649 |
+
style: {
|
29650 |
+
marginBottom: 8
|
29651 |
+
}
|
29652 |
+
}, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
|
29653 |
+
type: "checkbox",
|
29654 |
+
value: "1",
|
29655 |
+
checked: get_default()(legacyValue, [index, "pm", "open"]),
|
29656 |
+
onChange: function onChange(e) {
|
29657 |
+
return handleChangeOpening(e.target.checked);
|
29658 |
+
}
|
29659 |
+
}), /*#__PURE__*/react.createElement("span", {
|
29660 |
+
style: {
|
29661 |
+
minWidth: "14%"
|
29662 |
+
}
|
29663 |
+
}, OpeningHours_("Open in the afternoon?", "wp-seopress")), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29664 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][pm][start][hours]"),
|
29665 |
+
value: get_default()(legacyValue, [index, "pm", "start", "hours"]),
|
29666 |
+
style: {
|
29667 |
+
marginLeft: 10
|
29668 |
+
},
|
29669 |
+
onChange: function onChange(e) {
|
29670 |
+
handleChangeHour(e.target.value, "start");
|
29671 |
+
}
|
29672 |
+
}, HOURS.map(function (hour) {
|
29673 |
+
return /*#__PURE__*/react.createElement("option", {
|
29674 |
+
key: "day_".concat(day, "_hour_am_start_").concat(hour),
|
29675 |
+
value: hour
|
29676 |
+
}, hour);
|
29677 |
+
})), /*#__PURE__*/react.createElement("span", {
|
29678 |
+
style: {
|
29679 |
+
marginLeft: 5,
|
29680 |
+
marginRight: 5
|
29681 |
+
}
|
29682 |
+
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29683 |
+
style: {
|
29684 |
+
marginRight: 10
|
29685 |
+
},
|
29686 |
+
onChange: function onChange(e) {
|
29687 |
+
handleChangeMinutes(e.target.value, "start");
|
29688 |
+
},
|
29689 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][pm][start][hours]"),
|
29690 |
+
value: get_default()(legacyValue, [index, "pm", "start", "mins"])
|
29691 |
+
}, MINUTES.map(function (hour) {
|
29692 |
+
return /*#__PURE__*/react.createElement("option", {
|
29693 |
+
key: "day_".concat(day, "_min_am_start_").concat(hour),
|
29694 |
+
value: hour
|
29695 |
+
}, hour);
|
29696 |
+
})), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29697 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][pm][end][hours]"),
|
29698 |
+
style: {
|
29699 |
+
marginLeft: 10
|
29700 |
+
},
|
29701 |
+
value: get_default()(legacyValue, [index, "pm", "end", "hours"]),
|
29702 |
+
onChange: function onChange(e) {
|
29703 |
+
handleChangeHour(e.target.value, "end");
|
29704 |
+
}
|
29705 |
+
}, HOURS.map(function (hour) {
|
29706 |
+
return /*#__PURE__*/react.createElement("option", {
|
29707 |
+
key: "day_".concat(day, "_hour_am_end_").concat(hour),
|
29708 |
+
value: hour
|
29709 |
+
}, hour);
|
29710 |
+
})), /*#__PURE__*/react.createElement("span", {
|
29711 |
+
style: {
|
29712 |
+
marginLeft: 5,
|
29713 |
+
marginRight: 5
|
29714 |
+
}
|
29715 |
+
}, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
|
29716 |
+
name: "".concat(name, "[seopress_local_business_opening_hours][").concat(index, "][pm][end][mins]"),
|
29717 |
+
value: get_default()(legacyValue, [index, "pm", "end", "mins"]),
|
29718 |
+
onChange: function onChange(e) {
|
29719 |
+
handleChangeMinutes(e.target.value, "end");
|
29720 |
+
}
|
29721 |
+
}, MINUTES.map(function (min) {
|
29722 |
+
return /*#__PURE__*/react.createElement("option", {
|
29723 |
+
key: "day_".concat(day, "_min_am_end_").concat(min),
|
29724 |
+
value: min
|
29725 |
+
}, min);
|
29726 |
+
})));
|
29727 |
+
};
|
29728 |
+
|
29729 |
+
var FieldOpeningHours = function FieldOpeningHours(_ref3) {
|
29730 |
+
var name = _ref3.name,
|
29731 |
+
id = _ref3.id,
|
29732 |
+
value = _ref3.value,
|
29733 |
+
rest = OpeningHours_objectWithoutProperties(_ref3, OpeningHours_excluded);
|
29734 |
|
29735 |
var getDefaultValue = function getDefaultValue(value) {
|
29736 |
if (isEmpty_default()(value) || isNil_default()(value)) {
|
29917 |
})
|
29918 |
}));
|
29919 |
}
|
29920 |
+
}), "Closed all the day?"), /*#__PURE__*/react.createElement(OpeningHoursMorning, {
|
29921 |
+
name: name,
|
29922 |
+
day: day,
|
29923 |
+
currentValue: currentValue,
|
29924 |
+
legacyValue: legacyValue,
|
29925 |
+
setFieldValue: rest.setFieldValue,
|
29926 |
+
index: key
|
29927 |
+
}), /*#__PURE__*/react.createElement(OpeningHoursAfternoon, {
|
29928 |
+
name: name,
|
29929 |
+
day: day,
|
29930 |
+
currentValue: currentValue,
|
29931 |
+
legacyValue: legacyValue,
|
29932 |
+
setFieldValue: rest.setFieldValue,
|
29933 |
+
index: key
|
29934 |
+
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29935 |
}));
|
29936 |
};
|
29937 |
|
31126 |
}, /*#__PURE__*/react.createElement(Heading, null, /*#__PURE__*/react.createElement(AccordionItemHeadingWrapper, null, /*#__PURE__*/react.createElement(AccordionItemButtonWrapper, null, /*#__PURE__*/react.createElement(Button, null, /*#__PURE__*/react.createElement("div", null, "#", key + 1, " - ", item.question), /*#__PURE__*/react.createElement("span", {
|
31127 |
className: "seopress-arrow",
|
31128 |
"aria-hidden": "true"
|
31129 |
+
})))), /*#__PURE__*/react.createElement(AccordionItemPanel, null, /*#__PURE__*/react.createElement("p", {
|
31130 |
+
style: {
|
31131 |
+
fontWeight: "bold"
|
31132 |
+
}
|
31133 |
+
}, Faq_("Question (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement(SCInputDefault, {
|
31134 |
type: "text",
|
31135 |
value: item.question,
|
31136 |
onChange: function onChange(e) {
|
31144 |
});
|
31145 |
}));
|
31146 |
}
|
31147 |
+
}), /*#__PURE__*/react.createElement("p", {
|
31148 |
+
style: {
|
31149 |
+
fontWeight: "bold"
|
31150 |
+
}
|
31151 |
+
}, Faq_("Answer (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement("textarea", {
|
31152 |
className: "form-textarea",
|
31153 |
style: {
|
31154 |
width: "100%"
|
31195 |
};
|
31196 |
|
31197 |
/* harmony default export */ const Faq = (FieldRepeaterFaq);
|
31198 |
+
;// CONCATENATED MODULE: ./app/react/components/Forms/components/Time/index.js
|
31199 |
+
var Time_excluded = ["name", "id", "value"];
|
31200 |
+
|
31201 |
+
function Time_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Time_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
31202 |
+
|
31203 |
+
function Time_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
31204 |
+
|
31205 |
+
|
31206 |
+
|
31207 |
+
var FieldTime = function FieldTime(_ref) {
|
31208 |
+
var name = _ref.name,
|
31209 |
+
id = _ref.id,
|
31210 |
+
value = _ref.value,
|
31211 |
+
rest = Time_objectWithoutProperties(_ref, Time_excluded);
|
31212 |
+
|
31213 |
+
return /*#__PURE__*/react.createElement("input", {
|
31214 |
+
type: "time",
|
31215 |
+
name: name,
|
31216 |
+
id: id,
|
31217 |
+
value: value,
|
31218 |
+
className: "form-input-date",
|
31219 |
+
onChange: function onChange(e) {
|
31220 |
+
rest.setFieldValue(name, e.target.value);
|
31221 |
+
}
|
31222 |
+
});
|
31223 |
+
};
|
31224 |
+
|
31225 |
+
/* harmony default export */ const Time = (FieldTime);
|
31226 |
;// CONCATENATED MODULE: ./app/react/components/Forms/components/DynamicField/index.js
|
31227 |
|
31228 |
|
31251 |
|
31252 |
|
31253 |
|
31254 |
+
|
31255 |
var DynamicField = function DynamicField(_ref) {
|
31256 |
var item = _ref.item,
|
31257 |
_ref$nameInput = _ref.nameInput,
|
31269 |
var nameForm = isNil_default()(nameInput) ? item.key : nameInput;
|
31270 |
var valueForm = isNil_default()(itemValue) ? values[item.key] : itemValue;
|
31271 |
(0,react.useEffect)(function () {
|
31272 |
+
if ((isNil_default()(valueForm) || isEmpty_default()(valueForm)) && !isNil_default()(item.value) && item.type !== "checkbox") {
|
31273 |
rest.setFieldValue(nameForm, get_default()(item, "value", ""));
|
31274 |
}
|
31275 |
}, [valueForm]);
|
31297 |
className: classnames_default()({
|
31298 |
"w-full": item.type === "input" || item.type === "select" || item.type === "textarea"
|
31299 |
}),
|
31300 |
+
value: checkboxLegacyValue ? "yes" : "1",
|
31301 |
+
onChange: function onChange(e) {
|
31302 |
+
rest.setFieldValue(nameForm, e.target.checked);
|
31303 |
+
}
|
31304 |
}), item.label)), item.type === "input" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
|
31305 |
id: nameForm,
|
31306 |
name: nameForm,
|
31307 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31308 |
value: valueForm || "",
|
31309 |
+
className: classnames_default()("w-full", get_default()(item, "class", "")),
|
31310 |
emptyIcon: emptyIcon,
|
31311 |
+
setFieldValue: rest.setFieldValue,
|
31312 |
+
item: item
|
31313 |
})), item.type === "number" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
|
31314 |
id: nameForm,
|
31315 |
name: nameForm,
|
31316 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31317 |
type: "number",
|
31318 |
value: valueForm || "",
|
31319 |
+
className: classnames_default()("w-full", get_default()(item, "class", "")),
|
31320 |
emptyIcon: emptyIcon,
|
31321 |
setFieldValue: rest.setFieldValue,
|
31322 |
step: get_default()(item, "step", null),
|
31327 |
name: nameForm,
|
31328 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31329 |
value: valueForm || "",
|
31330 |
+
className: classnames_default()("w-full", get_default()(item, "class", "")),
|
31331 |
style: {
|
31332 |
resize: "vertical"
|
31333 |
+
},
|
31334 |
+
item: item
|
31335 |
})), item.type === "select" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Select, DynamicField_extends({
|
31336 |
id: nameForm,
|
31337 |
name: nameForm,
|
31338 |
placeholder: item.placeholder,
|
31339 |
value: valueForm || "",
|
31340 |
+
className: classnames_default()("w-full", get_default()(item, "class", "")),
|
31341 |
options: item.options,
|
31342 |
onChange: rest.handleChange
|
31343 |
}, rest))), item.type === "upload" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(MediaUpload, DynamicField_extends({
|
31345 |
name: nameForm,
|
31346 |
placeholder: placeholder ? placeholder : item.placeholder,
|
31347 |
value: valueForm || "",
|
31348 |
+
className: classnames_default()("w-full", get_default()(item, "class", "")),
|
31349 |
emptyIcon: emptyIcon,
|
31350 |
setFieldValue: rest.setFieldValue,
|
31351 |
combinedValuesForm: combinedValuesForm
|
31353 |
id: nameForm,
|
31354 |
name: nameForm,
|
31355 |
value: valueForm || "",
|
31356 |
+
className: classnames_default()("w-full", get_default()(item, "class", ""))
|
31357 |
+
}, rest))), item.type === "time" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Time, DynamicField_extends({
|
31358 |
+
id: nameForm,
|
31359 |
+
name: nameForm,
|
31360 |
+
value: valueForm || "",
|
31361 |
+
className: classnames_default()("w-full", get_default()(item, "class", ""))
|
31362 |
}, rest))), item.type === "opening_hours" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(OpeningHours, DynamicField_extends({
|
31363 |
id: nameForm,
|
31364 |
name: nameForm,
|
31365 |
value: valueForm || "",
|
31366 |
+
className: classnames_default()("w-full", get_default()(item, "class", ""))
|
31367 |
}, rest))), item.type === "repeater_how_to" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(HowTo, DynamicField_extends({
|
31368 |
id: nameForm,
|
31369 |
name: nameForm,
|
31370 |
value: valueForm || "",
|
31371 |
+
className: classnames_default()("w-full", get_default()(item, "class", ""))
|
31372 |
}, rest))), item.type === "repeater_faq" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Faq, DynamicField_extends({
|
31373 |
id: nameForm,
|
31374 |
name: nameForm,
|
31375 |
value: valueForm || "",
|
31376 |
+
className: classnames_default()("w-full", get_default()(item, "class", ""))
|
31377 |
}, rest))));
|
31378 |
};
|
31379 |
|
32125 |
return _ref.apply(this, arguments);
|
32126 |
};
|
32127 |
}();
|
32128 |
+
;// CONCATENATED MODULE: ./app/react/components/SelectChoice/index.js
|
32129 |
+
|
32130 |
+
|
32131 |
+
|
32132 |
+
|
32133 |
+
|
32134 |
+
var SelectChoice_ = wp.i18n.__;
|
32135 |
+
|
32136 |
+
var SelectChoice = function SelectChoice(_ref) {
|
32137 |
+
var items = _ref.items,
|
32138 |
+
_ref$handleChoiceItem = _ref.handleChoiceItem,
|
32139 |
+
handleChoiceItem = _ref$handleChoiceItem === void 0 ? function () {} : _ref$handleChoiceItem;
|
32140 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
32141 |
+
className: "flex items-center flex-wrap"
|
32142 |
+
}, /*#__PURE__*/react.createElement("div", {
|
32143 |
+
className: "relative",
|
32144 |
+
style: {
|
32145 |
+
alignSelf: "start"
|
32146 |
+
}
|
32147 |
+
}, /*#__PURE__*/react.createElement(ui_TagsChoice, null, items.map(function (tag) {
|
32148 |
+
var name = get_default()(tag, "item.name", get_default()(tag, "name", ""));
|
32149 |
+
|
32150 |
+
var input = get_default()(tag, "item.input", get_default()(tag, "input", ""));
|
32151 |
+
|
32152 |
+
return /*#__PURE__*/react.createElement(TagsChoiceItem, {
|
32153 |
+
key: name,
|
32154 |
+
onClick: function onClick() {
|
32155 |
+
handleChoiceItem(input);
|
32156 |
+
},
|
32157 |
+
onKeyUp: function onKeyUp(e) {
|
32158 |
+
if (e.keyCode === 27) {
|
32159 |
+
e.preventDefault();
|
32160 |
+
}
|
32161 |
+
|
32162 |
+
if (e.keyCode === 13) {
|
32163 |
+
e.preventDefault();
|
32164 |
+
handleChoiceItem(input);
|
32165 |
+
}
|
32166 |
+
},
|
32167 |
+
tabIndex: "0"
|
32168 |
+
}, !isEmpty_default()(name) && /*#__PURE__*/react.createElement(SCTagsChoiceItemName, null, name), !isEmpty_default()(input) && /*#__PURE__*/react.createElement(SCTagsChoiceItemValue, null, input));
|
32169 |
+
})))));
|
32170 |
+
};
|
32171 |
+
|
32172 |
+
/* harmony default export */ const components_SelectChoice = (SelectChoice);
|
32173 |
;// CONCATENATED MODULE: ./app/react/layout/Main/components/Redirection/index.js
|
32174 |
|
32175 |
|
32176 |
|
32177 |
+
|
32178 |
+
|
32179 |
+
var Redirection_excluded = ["data", "values", "loading"],
|
32180 |
+
_excluded2 = ["values"];
|
32181 |
+
|
32182 |
+
function Redirection_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
32183 |
+
|
32184 |
+
function Redirection_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Redirection_ownKeys(Object(source), true).forEach(function (key) { Redirection_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Redirection_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
32185 |
+
|
32186 |
+
function Redirection_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
32187 |
|
32188 |
function Redirection_extends() { Redirection_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Redirection_extends.apply(this, arguments); }
|
32189 |
|
32190 |
+
function Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
32191 |
+
|
32192 |
+
function Redirection_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
32193 |
+
|
32194 |
+
function Redirection_slicedToArray(arr, i) { return Redirection_arrayWithHoles(arr) || Redirection_iterableToArrayLimit(arr, i) || Redirection_unsupportedIterableToArray(arr, i) || Redirection_nonIterableRest(); }
|
32195 |
+
|
32196 |
+
function Redirection_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
32197 |
+
|
32198 |
+
function Redirection_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Redirection_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Redirection_arrayLikeToArray(o, minLen); }
|
32199 |
+
|
32200 |
+
function Redirection_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
32201 |
+
|
32202 |
+
function Redirection_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
32203 |
+
|
32204 |
+
function Redirection_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
32205 |
+
|
32206 |
function Redirection_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Redirection_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
32207 |
|
32208 |
+
function Redirection_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
32209 |
+
|
32210 |
+
|
32211 |
+
|
32212 |
+
|
32213 |
+
|
32214 |
+
|
32215 |
+
|
32216 |
+
|
32217 |
+
|
32218 |
+
|
32219 |
|
|
|
32220 |
|
|
|
32221 |
|
|
|
32222 |
|
|
|
32223 |
|
32224 |
+
var Redirection_ = wp.i18n.__;
|
32225 |
|
32226 |
+
var RedirectionLayoutWithFormik = function RedirectionLayoutWithFormik(_ref) {
|
32227 |
+
var data = _ref.data,
|
32228 |
+
values = _ref.values,
|
32229 |
+
loading = _ref.loading,
|
32230 |
+
rest = Redirection_objectWithoutProperties(_ref, Redirection_excluded);
|
32231 |
|
32232 |
+
var _useFormikContext = useFormikContext(),
|
32233 |
+
valuesFormik = _useFormikContext.values;
|
32234 |
|
32235 |
+
var fieldValue = getIn(valuesFormik, "_seopress_redirections_value");
|
32236 |
|
32237 |
+
var _useState = (0,react.useState)([]),
|
32238 |
+
_useState2 = Redirection_slicedToArray(_useState, 2),
|
32239 |
+
redirectionProposition = _useState2[0],
|
32240 |
+
setRedirectionProposition = _useState2[1];
|
32241 |
|
32242 |
+
var _useState3 = (0,react.useState)(false),
|
32243 |
+
_useState4 = Redirection_slicedToArray(_useState3, 2),
|
32244 |
+
focusSuggest = _useState4[0],
|
32245 |
+
setFocusSuggest = _useState4[1];
|
32246 |
|
32247 |
+
var _useState5 = (0,react.useState)(fieldValue),
|
32248 |
+
_useState6 = Redirection_slicedToArray(_useState5, 2),
|
32249 |
+
redirectionValue = _useState6[0],
|
32250 |
+
setRedirectionValue = _useState6[1];
|
32251 |
|
32252 |
+
var isInitialMount = (0,react.useRef)(true);
|
32253 |
+
var ref = (0,react.useRef)();
|
32254 |
+
hooks_useOnClickOutside(ref, function () {
|
32255 |
+
return setFocusSuggest(false);
|
32256 |
+
});
|
32257 |
+
var fetchRedirectionProposition = (0,react.useCallback)(debounce_default()( /*#__PURE__*/function () {
|
32258 |
+
var _ref2 = Redirection_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
|
32259 |
+
var dataResponse, data;
|
32260 |
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
32261 |
+
while (1) {
|
32262 |
+
switch (_context.prev = _context.next) {
|
32263 |
+
case 0:
|
32264 |
+
_context.next = 2;
|
32265 |
+
return fetch("".concat(SEOPRESS_DATA.REST_URL, "seopress/v1/search-url?url=").concat(value));
|
32266 |
|
32267 |
+
case 2:
|
32268 |
+
dataResponse = _context.sent;
|
32269 |
+
_context.next = 5;
|
32270 |
+
return dataResponse.json();
|
32271 |
|
32272 |
+
case 5:
|
32273 |
+
data = _context.sent;
|
32274 |
+
setRedirectionProposition(data.map(function (item) {
|
32275 |
+
return {
|
32276 |
+
name: item.post_title,
|
32277 |
+
input: item.guid
|
32278 |
+
};
|
32279 |
+
}));
|
32280 |
+
setFocusSuggest(true);
|
32281 |
|
32282 |
+
case 8:
|
32283 |
+
case "end":
|
32284 |
+
return _context.stop();
|
32285 |
+
}
|
32286 |
+
}
|
32287 |
+
}, _callee);
|
32288 |
+
}));
|
32289 |
|
32290 |
+
return function (_x) {
|
32291 |
+
return _ref2.apply(this, arguments);
|
32292 |
+
};
|
32293 |
+
}(), 200), []);
|
32294 |
+
(0,react.useEffect)(function () {
|
32295 |
+
if (isInitialMount.current) {
|
32296 |
+
isInitialMount.current = false;
|
32297 |
+
return;
|
32298 |
+
}
|
32299 |
|
32300 |
+
rest.setFieldValue("_seopress_redirections_value", redirectionValue);
|
32301 |
|
32302 |
+
if (isEmpty_default()(redirectionValue) || redirectionValue.length < 3) {
|
32303 |
+
return;
|
32304 |
+
}
|
32305 |
|
32306 |
+
fetchRedirectionProposition(redirectionValue);
|
32307 |
+
}, [redirectionValue]);
|
32308 |
+
return /*#__PURE__*/react.createElement(Form, null, data.map(function (item, key) {
|
32309 |
+
if (!item.visible) {
|
32310 |
+
return;
|
32311 |
+
}
|
32312 |
|
32313 |
+
return /*#__PURE__*/react.createElement(react.Fragment, {
|
32314 |
+
key: "social_form_".concat(key)
|
32315 |
+
}, /*#__PURE__*/react.createElement("div", {
|
32316 |
+
className: "mt-3"
|
32317 |
+
}, item.key !== "_seopress_redirections_value" && /*#__PURE__*/react.createElement(components_DynamicField, Redirection_extends({
|
32318 |
+
item: item,
|
32319 |
+
values: values
|
32320 |
+
}, rest)), item.key === "_seopress_redirections_value" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Label, {
|
32321 |
+
htmlFor: item.key
|
32322 |
+
}, item.label), /*#__PURE__*/react.createElement(Input, {
|
32323 |
+
name: item.key,
|
32324 |
+
id: item.key,
|
32325 |
+
type: "text",
|
32326 |
+
value: redirectionValue,
|
32327 |
+
placeholder: get_default()(item, "placeholder", ""),
|
32328 |
+
onChange: function onChange(e) {
|
32329 |
+
setRedirectionValue(e.target.value);
|
32330 |
+
},
|
32331 |
+
style: {
|
32332 |
+
width: "100%"
|
32333 |
+
}
|
32334 |
+
}), focusSuggest && !isEmpty_default()(redirectionProposition) && /*#__PURE__*/react.createElement("div", {
|
32335 |
+
ref: ref
|
32336 |
+
}, /*#__PURE__*/react.createElement(components_SelectChoice, {
|
32337 |
+
handleChoiceItem: function handleChoiceItem(value) {
|
32338 |
+
setRedirectionValue(value);
|
32339 |
+
setFocusSuggest(false);
|
32340 |
+
},
|
32341 |
+
items: redirectionProposition
|
32342 |
+
})))));
|
32343 |
+
}), /*#__PURE__*/react.createElement("div", {
|
32344 |
+
className: "sp-fixed"
|
32345 |
+
}, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
|
32346 |
+
loading: loading
|
32347 |
+
}, Redirection_("Save", "wp-seopress"))));
|
32348 |
+
};
|
32349 |
|
32350 |
+
var RedirectionLayout = function RedirectionLayout(_ref3) {
|
32351 |
+
var mainBarRef = _ref3.mainBarRef;
|
32352 |
var postId = getCurrentPostId();
|
32353 |
|
32354 |
var _useRedirectionSettin = metas_useRedirectionSettings({
|
32364 |
};
|
32365 |
});
|
32366 |
|
32367 |
+
var _useState7 = (0,react.useState)(false),
|
32368 |
+
_useState8 = Redirection_slicedToArray(_useState7, 2),
|
32369 |
+
loading = _useState8[0],
|
32370 |
+
setLoading = _useState8[1];
|
32371 |
|
32372 |
var _useContext = (0,react.useContext)(NotificationContext),
|
32373 |
actions = _useContext.actions;
|
32374 |
|
32375 |
var handleOnSubmit = /*#__PURE__*/function () {
|
32376 |
+
var _ref4 = Redirection_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(values) {
|
32377 |
var data;
|
32378 |
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
32379 |
while (1) {
|
32380 |
+
switch (_context2.prev = _context2.next) {
|
32381 |
case 0:
|
32382 |
setLoading(true);
|
32383 |
+
_context2.next = 3;
|
32384 |
return saveRedirectionSettings(postId, Redirection_objectSpread(Redirection_objectSpread({}, values), {}, {
|
32385 |
_seopress_redirections_enabled: values._seopress_redirections_enabled ? "yes" : ""
|
32386 |
}));
|
32387 |
|
32388 |
case 3:
|
32389 |
+
data = _context2.sent;
|
32390 |
mutate();
|
32391 |
setLoading(false);
|
32392 |
actions.setMessage(Redirection_("Your settings have been saved.", "wp-seopress"));
|
32393 |
|
32394 |
case 7:
|
32395 |
case "end":
|
32396 |
+
return _context2.stop();
|
32397 |
}
|
32398 |
}
|
32399 |
+
}, _callee2);
|
32400 |
}));
|
32401 |
|
32402 |
+
return function handleOnSubmit(_x2) {
|
32403 |
+
return _ref4.apply(this, arguments);
|
32404 |
};
|
32405 |
}();
|
32406 |
|
32415 |
enableReinitialize: true,
|
32416 |
onSubmit: handleOnSubmit,
|
32417 |
initialValues: initialValues
|
32418 |
+
}, function (_ref5) {
|
32419 |
+
var values = _ref5.values,
|
32420 |
+
rest = Redirection_objectWithoutProperties(_ref5, _excluded2);
|
|
|
|
|
|
|
|
|
|
|
32421 |
|
32422 |
+
return /*#__PURE__*/react.createElement(RedirectionLayoutWithFormik, Redirection_extends({
|
32423 |
+
data: data,
|
32424 |
+
values: values,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32425 |
loading: loading
|
32426 |
+
}, rest));
|
32427 |
}));
|
32428 |
};
|
32429 |
|
41801 |
|
41802 |
|
41803 |
var VideoSitemap_excluded = ["fields", "values"],
|
41804 |
+
VideoSitemap_excluded2 = ["values"];
|
41805 |
|
41806 |
function VideoSitemap_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
41807 |
|
42003 |
})
|
42004 |
}, function (_ref4) {
|
42005 |
var values = _ref4.values,
|
42006 |
+
rest = VideoSitemap_objectWithoutProperties(_ref4, VideoSitemap_excluded2);
|
42007 |
|
42008 |
return /*#__PURE__*/react.createElement(Form, null, responseVideoSitemap.data.map(function (item, key) {
|
42009 |
if (!item.visible) {
|
42226 |
|
42227 |
|
42228 |
|
42229 |
+
var SchemasManual_excluded = ["schemasAvailable", "fields", "schema", "arrayHelpers", "index", "fieldsAvailable", "setExpandAll", "expandAll"],
|
42230 |
+
SchemasManual_excluded2 = ["values", "fields", "schemas", "loading"],
|
42231 |
+
_excluded3 = ["values"];
|
42232 |
|
42233 |
+
function SchemasManual_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
42234 |
|
42235 |
+
function SchemasManual_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { SchemasManual_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { SchemasManual_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
42236 |
|
42237 |
+
function SchemasManual_toConsumableArray(arr) { return SchemasManual_arrayWithoutHoles(arr) || SchemasManual_iterableToArray(arr) || SchemasManual_unsupportedIterableToArray(arr) || SchemasManual_nonIterableSpread(); }
|
42238 |
|
42239 |
+
function SchemasManual_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
42240 |
|
42241 |
+
function SchemasManual_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
42242 |
+
|
42243 |
+
function SchemasManual_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return SchemasManual_arrayLikeToArray(arr); }
|
42244 |
|
42245 |
function SchemasManual_slicedToArray(arr, i) { return SchemasManual_arrayWithHoles(arr) || SchemasManual_iterableToArrayLimit(arr, i) || SchemasManual_unsupportedIterableToArray(arr, i) || SchemasManual_nonIterableRest(); }
|
42246 |
|
42256 |
|
42257 |
function SchemasManual_extends() { SchemasManual_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return SchemasManual_extends.apply(this, arguments); }
|
42258 |
|
42259 |
+
function SchemasManual_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
42260 |
+
|
42261 |
+
function SchemasManual_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { SchemasManual_ownKeys(Object(source), true).forEach(function (key) { SchemasManual_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { SchemasManual_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
42262 |
+
|
42263 |
+
function SchemasManual_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
42264 |
+
|
42265 |
function SchemasManual_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = SchemasManual_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
42266 |
|
42267 |
function SchemasManual_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
42287 |
arrayHelpers = _ref.arrayHelpers,
|
42288 |
index = _ref.index,
|
42289 |
fieldsAvailable = _ref.fieldsAvailable,
|
42290 |
+
setExpandAll = _ref.setExpandAll,
|
42291 |
+
expandAll = _ref.expandAll,
|
42292 |
rest = SchemasManual_objectWithoutProperties(_ref, SchemasManual_excluded);
|
42293 |
|
42294 |
var type = get_default()(schema, "_seopress_pro_rich_snippets_type", null);
|
42299 |
|
42300 |
var notices = get_default()(itemSchemaAvailable, "notices", []);
|
42301 |
|
42302 |
+
var handleExpand = function handleExpand(e) {
|
42303 |
+
e.preventDefault();
|
42304 |
+
setExpandAll(function (expands) {
|
42305 |
+
return expands.map(function (item) {
|
42306 |
+
if (item.key !== index) {
|
42307 |
+
return item;
|
42308 |
+
}
|
42309 |
+
|
42310 |
+
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, item), {}, {
|
42311 |
+
open: !get_default()(item, "open", true)
|
42312 |
+
});
|
42313 |
+
});
|
42314 |
+
});
|
42315 |
+
};
|
42316 |
+
|
42317 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(AccordionItem, {
|
42318 |
+
dangerouslySetExpanded: get_default()(find_default()(expandAll, {
|
42319 |
+
key: index
|
42320 |
+
}), "open", false)
|
42321 |
+
}, /*#__PURE__*/react.createElement(Heading, null, /*#__PURE__*/react.createElement(AccordionItemHeadingWrapper, {
|
42322 |
+
onClick: handleExpand,
|
42323 |
+
onKeyUp: function onKeyUp(e) {
|
42324 |
+
if (e.keyCode === 13) {
|
42325 |
+
e.preventDefault();
|
42326 |
+
handleExpand(e);
|
42327 |
+
}
|
42328 |
+
}
|
42329 |
+
}, /*#__PURE__*/react.createElement(AccordionItemButtonWrapper, null, /*#__PURE__*/react.createElement(Button, null, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("p", {
|
42330 |
style: {
|
42331 |
fontWeight: "bold",
|
42332 |
marginBottom: 5
|
42349 |
color: "#cc1818",
|
42350 |
boxShadow: "inset 0 0 0 1px #cc1818",
|
42351 |
marginLeft: "auto",
|
42352 |
+
marginRight: 50,
|
42353 |
+
fontWeight: 500
|
42354 |
},
|
42355 |
onClick: function onClick(e) {
|
42356 |
e.stopPropagation;
|
42357 |
arrayHelpers.remove(index);
|
42358 |
+
setExpandAll(function (expands) {
|
42359 |
+
return expands.filter(function (item) {
|
42360 |
+
return item.key !== index;
|
42361 |
+
}).map(function (item, key) {
|
42362 |
+
return {
|
42363 |
+
key: key,
|
42364 |
+
open: false
|
42365 |
+
};
|
42366 |
+
});
|
42367 |
+
});
|
42368 |
}
|
42369 |
}, SchemasManual_("Delete schema", "wp-seopress")), /*#__PURE__*/react.createElement("span", {
|
42370 |
className: "seopress-arrow",
|
42396 |
});
|
42397 |
var DEFAULT_TYPE = "articles";
|
42398 |
|
42399 |
+
var FormSchemaManualLayout = function FormSchemaManualLayout(_ref3) {
|
42400 |
+
var values = _ref3.values,
|
42401 |
+
fields = _ref3.fields,
|
42402 |
+
schemas = _ref3.schemas,
|
42403 |
+
loading = _ref3.loading,
|
42404 |
+
rest = SchemasManual_objectWithoutProperties(_ref3, SchemasManual_excluded2);
|
42405 |
|
42406 |
+
var _useState = (0,react.useState)(get_default()(values, "schemas", []).map(function (item, key) {
|
42407 |
+
return {
|
42408 |
+
key: key,
|
42409 |
+
open: false
|
42410 |
+
};
|
42411 |
+
})),
|
42412 |
_useState2 = SchemasManual_slicedToArray(_useState, 2),
|
42413 |
+
expandAll = _useState2[0],
|
42414 |
+
setExpandAll = _useState2[1];
|
42415 |
+
|
42416 |
+
var getSchemaDefault = function getSchemaDefault() {
|
42417 |
+
var item = get_default()(fields, DEFAULT_TYPE, []).reduce(function (previous, current) {
|
42418 |
+
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, previous), {}, SchemasManual_defineProperty({}, current.key, get_default()(current, "value", "")));
|
42419 |
+
}, {});
|
42420 |
+
|
42421 |
+
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, item), {}, {
|
42422 |
+
_seopress_pro_rich_snippets_type: DEFAULT_TYPE
|
42423 |
+
});
|
42424 |
+
};
|
42425 |
+
|
42426 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
42427 |
+
className: "flex items-center"
|
42428 |
+
}, /*#__PURE__*/react.createElement("div", {
|
42429 |
+
style: {
|
42430 |
+
marginLeft: "auto"
|
42431 |
+
}
|
42432 |
+
}, /*#__PURE__*/react.createElement("a", {
|
42433 |
+
href: "#",
|
42434 |
+
onClick: function onClick(e) {
|
42435 |
+
e.preventDefault();
|
42436 |
+
setExpandAll(function (expandAll) {
|
42437 |
+
return expandAll.map(function (item) {
|
42438 |
+
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, item), {}, {
|
42439 |
+
open: true
|
42440 |
+
});
|
42441 |
+
});
|
42442 |
+
});
|
42443 |
+
}
|
42444 |
+
}, SchemasManual_("Expand", "wp-seopress")), " ", "/", " ", /*#__PURE__*/react.createElement("a", {
|
42445 |
+
href: "#",
|
42446 |
+
onClick: function onClick(e) {
|
42447 |
+
e.preventDefault();
|
42448 |
+
setExpandAll(function (expandAll) {
|
42449 |
+
return expandAll.map(function (item) {
|
42450 |
+
return SchemasManual_objectSpread(SchemasManual_objectSpread({}, item), {}, {
|
42451 |
+
open: false
|
42452 |
+
});
|
42453 |
+
});
|
42454 |
+
});
|
42455 |
+
}
|
42456 |
+
}, SchemasManual_("Close", "wp-seopress")))), /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(Accordion, {
|
42457 |
+
style: {
|
42458 |
+
marginTop: 10
|
42459 |
+
},
|
42460 |
+
allowMultipleExpanded: true,
|
42461 |
+
allowZeroExpanded: true
|
42462 |
+
}, /*#__PURE__*/react.createElement(FieldArray, {
|
42463 |
+
name: "schemas",
|
42464 |
+
render: function render(arrayHelpers) {
|
42465 |
+
return /*#__PURE__*/react.createElement(react.Fragment, null, values.schemas.map(function (schema, key) {
|
42466 |
+
var fieldsSchema = get_default()(fields, schema._seopress_pro_rich_snippets_type, null);
|
42467 |
+
|
42468 |
+
if (isNil_default()(fieldsSchema)) {
|
42469 |
+
return;
|
42470 |
+
}
|
42471 |
+
|
42472 |
+
return /*#__PURE__*/react.createElement(react.Fragment, {
|
42473 |
+
key: "schema_manual_".concat(key)
|
42474 |
+
}, /*#__PURE__*/react.createElement(RepeaterSchema, SchemasManual_extends({
|
42475 |
+
arrayHelpers: arrayHelpers,
|
42476 |
+
fields: fieldsSchema,
|
42477 |
+
schema: schema,
|
42478 |
+
index: key,
|
42479 |
+
schemasAvailable: schemas,
|
42480 |
+
fieldsAvailable: fields,
|
42481 |
+
expandAll: expandAll,
|
42482 |
+
setExpandAll: setExpandAll
|
42483 |
+
}, rest)));
|
42484 |
+
}), /*#__PURE__*/react.createElement("div", {
|
42485 |
+
className: "sp-fixed"
|
42486 |
+
}, /*#__PURE__*/react.createElement(ui_Button, {
|
42487 |
+
style: {
|
42488 |
+
marginRight: 12
|
42489 |
+
},
|
42490 |
+
type: "button",
|
42491 |
+
secondary: true,
|
42492 |
+
onClick: function onClick(e) {
|
42493 |
+
e.stopPropagation;
|
42494 |
+
arrayHelpers.push(getSchemaDefault());
|
42495 |
+
setExpandAll(function (expandAll) {
|
42496 |
+
return [].concat(SchemasManual_toConsumableArray(expandAll), [{
|
42497 |
+
key: expandAll.length,
|
42498 |
+
open: false
|
42499 |
+
}]);
|
42500 |
+
});
|
42501 |
+
}
|
42502 |
+
}, SchemasManual_("Add a schema", "wp-seopress")), /*#__PURE__*/react.createElement(components_ButtonSubmit, {
|
42503 |
+
loading: loading
|
42504 |
+
}, SchemasManual_("Save", "wp-seopress"))));
|
42505 |
+
}
|
42506 |
+
}))));
|
42507 |
+
};
|
42508 |
+
|
42509 |
+
var SchemasManualLayout = function SchemasManualLayout(_ref4) {
|
42510 |
+
var mainBarRef = _ref4.mainBarRef;
|
42511 |
+
var postId = getCurrentPostId();
|
42512 |
+
|
42513 |
+
var _useState3 = (0,react.useState)(false),
|
42514 |
+
_useState4 = SchemasManual_slicedToArray(_useState3, 2),
|
42515 |
+
loading = _useState4[0],
|
42516 |
+
setLoading = _useState4[1];
|
42517 |
|
42518 |
var _useContext = (0,react.useContext)(NotificationContext),
|
42519 |
actions = _useContext.actions;
|
42532 |
});
|
42533 |
|
42534 |
var handleOnSubmit = /*#__PURE__*/function () {
|
42535 |
+
var _ref5 = SchemasManual_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
|
42536 |
var data;
|
42537 |
return regeneratorRuntime.wrap(function _callee$(_context) {
|
42538 |
while (1) {
|
42557 |
}));
|
42558 |
|
42559 |
return function handleOnSubmit(_x) {
|
42560 |
+
return _ref5.apply(this, arguments);
|
42561 |
};
|
42562 |
}();
|
42563 |
|
42564 |
var data = responseSchemas.data,
|
42565 |
fields = responseSchemas.fields,
|
42566 |
schemas = responseSchemas.schemas;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42567 |
return /*#__PURE__*/react.createElement("div", {
|
42568 |
ref: mainBarRef,
|
42569 |
tabIndex: "0"
|
42573 |
initialValues: {
|
42574 |
schemas: isNil_default()(data) ? [] : data
|
42575 |
}
|
42576 |
+
}, function (_ref6) {
|
42577 |
+
var values = _ref6.values,
|
42578 |
+
rest = SchemasManual_objectWithoutProperties(_ref6, _excluded3);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42579 |
|
42580 |
+
return /*#__PURE__*/react.createElement(FormSchemaManualLayout, SchemasManual_extends({
|
42581 |
+
loading: loading,
|
42582 |
+
values: values,
|
42583 |
+
fields: fields,
|
42584 |
+
schemas: schemas
|
42585 |
+
}, rest));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42586 |
}));
|
42587 |
};
|
42588 |
|
42936 |
|
42937 |
|
42938 |
var METABOX_MODULE_NAME = "seopress-js-module-seo-metabox";
|
42939 |
+
var SCGlobalStyle = We(["&&&{.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220,220,222,0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7;}.seopress-ui-datepicker{padding:0;margin:0;border-radius:0;background-color:#fff;border:1px solid var(--borderColorLight);border-top:none;box-shadow:0 3px 6px rgba(0,0,0,0.075);min-width:17em;width:auto !important;z-index:999999 !important;}body.wp-admin:not(.rtl) .seopress-ui-datepicker{margin-left:-1px;}body.wp-admin.rtl .seopress-ui-datepicker{margin-right:-1px;}.seopress-ui-datepicker *{padding:0;font-family:var(--fontFamily);border-radius:0;}.seopress-ui-datepicker table{font-size:--var(--fontSize);margin:0;border:none;border-collapse:collapse;}.seopress-ui-datepicker .ui-widget-header,.seopress-ui-datepicker .ui-datepicker-header{background-image:none;border:none;color:var(--primaryColor);font-weight:normal;}.seopress-ui-datepicker .ui-datepicker-header .ui-state-hover{background:transparent;border-color:transparent;cursor:pointer;}.seopress-ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:var(--colorDark);font-size:var(--fontSize);line-height:14px;text-align:center;font-weight:bold;}.seopress-ui-datepicker .ui-datepicker-prev,.seopress-ui-datepicker .ui-datepicker-next{position:relative;top:0;height:34px;width:34px;}.seopress-ui-datepicker .ui-state-hover.ui-datepicker-prev,.seopress-ui-datepicker .ui-state-hover.ui-datepicker-next{border:none;}.seopress-ui-datepicker .ui-datepicker-prev,.seopress-ui-datepicker .ui-datepicker-prev-hover{left:0;}.seopress-ui-datepicker .ui-datepicker-next,.seopress-ui-datepicker .ui-datepicker-next-hover{right:0;}.seopress-ui-datepicker .ui-datepicker-next span,.seopress-ui-datepicker .ui-datepicker-prev span{display:none;}.seopress-ui-datepicker .ui-datepicker-prev{float:left;}.seopress-ui-datepicker .ui-datepicker-next{float:right;}.seopress-ui-datepicker .ui-datepicker-prev:before,.seopress-ui-datepicker .ui-datepicker-next:before{font:normal 20px/34px \"dashicons\";padding-left:0;color:var(--primaryColor);speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px;}.seopress-ui-datepicker .ui-datepicker-prev:before{content:\"\f341\";}.seopress-ui-datepicker .ui-datepicker-next:before{content:\"\f345\";}.seopress-ui-datepicker .ui-datepicker-prev-hover:before,.seopress-ui-datepicker .ui-datepicker-next-hover:before{opacity:0.7;}.seopress-ui-datepicker select.ui-datepicker-month,.seopress-ui-datepicker select.ui-datepicker-year{width:33%;}.seopress-ui-datepicker thead{color:#fff;font-weight:600;}.seopress-ui-datepicker th{padding:10px;}.seopress-ui-datepicker td{padding:0;border:1px solid var(--borderColorCard);}.seopress-ui-datepicker td.ui-datepicker-other-month{border:transparent;}.seopress-ui-datepicker tr:first-of-type td{border-top:1px solid #f0f0f0;}.seopress-ui-datepicker td.ui-datepicker-week-end{background-color:var(--borderColorCard);border:1px solid #f0f0f0;}.seopress-ui-datepicker td.ui-datepicker-today{background-color:var(--backgroundSecondaryHover);}.seopress-ui-datepicker td.ui-datepicker-current-day{background:#bbdd88;}.seopress-ui-datepicker td .ui-state-default{background:transparent;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:normal;color:#444;}.seopress-ui-datepicker td.ui-state-disabled .ui-state-default{opacity:0.5;}.seopress-ui-datepicker thead{background:var(--backgroundPrimary);}.seopress-ui-datepicker td .ui-state-hover{background:var(--backgroundPrimary);color:#fff;}}body #", "{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Oxygen-Sans,Ubuntu,Cantarell,\"Helvetica Neue\",sans-serif;--color:#757575;--colorP:#3c434a;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220,220,222,0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7;--fontWeight:normal;.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:none;border:none;padding:0;.dashicons{color:var(--colorDark);}.sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;left:-20px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none;&::before{top:-8px;}&::after{border:8px solid #fff;top:-6px;}&::after{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:\"\";position:absolute;height:0;width:0;line-height:0;left:30px;}}&:hover .sp-tooltiptext,&:focus .sp-tooltiptext,&:active .sp-tooltiptext{visibility:visible;}.sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block;}.sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5;}.sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px;}}.flex{display:flex;}.inline-flex{display:inline-flex;}.flex-wrap{flex-wrap:wrap;}.items-center{align-items:center;}.justify-content{justify-content:space-evenly;}.mt-0{margin-top:0 !important;}.mt-1{margin-top:0.25rem !important;}.mt-2{margin-top:0.5rem !important;}.mt-3{margin-top:1rem !important;}.mt-4{margin-top:1.5rem !important;}.mt-5{margin-top:3rem !important;}.mt-auto{margin-top:auto !important;}.me-0{margin-right:0 !important;}.me-1{margin-right:0.25rem !important;}.me-2{margin-right:0.5rem !important;}.me-3{margin-right:1rem !important;}.me-4{margin-right:1.5rem !important;}.me-5{margin-right:3rem !important;}.me-auto{margin-right:auto !important;}.mb-0{margin-bottom:0 !important;}.mb-1{margin-bottom:0.25rem !important;}.mb-2{margin-bottom:0.5rem !important;}.mb-3{margin-bottom:1rem !important;}.mb-4{margin-bottom:1.5rem !important;}.mb-5{margin-bottom:3rem !important;}.mb-auto{margin-bottom:auto !important;}.ms-0{margin-left:0 !important;}.ms-1{margin-left:0.25rem !important;}.ms-2{margin-left:0.5rem !important;}.ms-3{margin-left:1rem !important;}.ms-4{margin-left:1.5rem !important;}.ms-5{margin-left:3rem !important;}.ms-auto{margin-left:auto !important;}.w-1\\/2{width:50%;}.w-1\\/5{width:20%;}.w-2\\/5{width:40%;}.w-3\\/5{width:60%;}.w-4\\/5{width:80%;}.w-1\\/4{width:25%;}.w-2\\/4{width:50%;}.w-3\\/4{width:75%;}.w-1\\/12{width:8.3%;}.w-2\\/12{width:16.6%;}.w-3\\/12{width:25%;}.w-4\\/12{width:33%;}.w-5\\/12{width:41.6%;}.w-6\\/12{width:50%;}.w-7\\/12{width:58.3%;}.w-8\\/12{width:66%;}.w-9\\/12{width:75%;}.w-10\\/12{width:83.3%;}.w-11\\/12{width:91.6%;}.w-full{width:100%;}.relative{position:relative;}.absolute{position:absolute;}.form-textarea{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;background:none;}.form-textarea:focus,.form-textarea:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}.seopress-textarea-high-size{height:100px;}.form-input-date{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden;}25%{opacity:1;bottom:40px;visibility:visible;}75%{opacity:1;visibility:visible;}100%{opacity:0;visibility:hidden;}}@keyframes sp-beacon-toggle{0%{opacity:0;bottom:-20px;visibility:hidden;}100%{opacity:1;bottom:0px;visibility:visible;}}font-size:var(--fontSize);font-family:var(--fontFamily);font-weight:var(--fontWeight);line-height:var(--lineHeight);-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;color:var(--colorP);letter-spacing:inherit;input[type=\"checkbox\"]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0 !important;outline:0;padding:0 !important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:0.1s border-color ease-in-out;}input[type=\"checkbox\"]:focus{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--primaryColor);outline:2px solid transparent;}input[type=\"checkbox\"]:checked::before{content:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");background:var(--primaryColor);margin:-1px;width:20px;height:20px;left:0;top:0;}h1,h2,h3,h4,h5,h6{display:block;font-weight:600;text-align:left;}h1:not(*):before,h1:before,h2:before,h3:before,h4:before,h5:before,h6:before,h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:none;}p{font-family:var(--fontFamily);font-size:var(--fontSize);font-weight:var(--fontWeight);color:var(--colorP);line-height:1.5;margin:1em 0;}a{color:var(--primaryColor);text-decoration:underline;}ul{list-style:none;padding:0;margin:0;}a:hover{text-decoration:underline;}.description{display:block;font-size:12px;color:var(--color);margin:0.5em 0;}.description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex;}.description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px;}.sp-fixed{position:sticky;width:100%;left:0px;bottom:-21px;display:flex;background:#fff;border-top:1px solid var(--borderColorLight);margin-top:20px;padding:15px 0 5px 0;}.resizable{position:relative;}.resizable::after{content:\"\";transition:all 150ms linear;opacity:0;background:var(--backgroundPrimary);position:absolute;top:0;left:0;height:5px;width:100%;}.resizable:hover::after,.resizable:focus::after,.resizable:active::after{opacity:1;}.sp-seo-metabox{position:fixed;left:10%;bottom:0;z-index:100100;background-color:rgb(255,255,255);width:70%;height:400px;box-sizing:border-box;flex-shrink:0;box-shadow:rgb(0 0 0 / 5%) 0px 0px 0px 1px,rgb(0 0 0 / 15%) 0px 5px 30px 0px,rgb(0 0 0 / 5%) 0px 3px 3px 0px;border-radius:4px;border:none;animation-name:sp-beacon-toggle;animation-duration:200ms;animation-iteration-count:1;animation-fill-mode:forwards;max-height:calc(100% - 93px);}.sp-cursor-pointer{cursor:pointer;}@media only screen and (max-width:600px){.sp-seo-metabox{height:auto;overflow-y:auto;}.flex{flex-wrap:wrap;}[class^=\"w-\"]{width:100%;}}.seopress-notice{margin:5px 0 35px 0px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;position:static !important;top:0 !important;left:0 !important;&.is-warning{border-left-color:#f0b849;background:#fef8ee;}pre{background:none !important;}}.seopress-list{margin:0 !important;li::before{content:\"\" !important;}}}@keyframes anim-loading{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.anim-loading-layout{animation-name:anim-loading-layout;animation-duration:1s;animation-iteration-count:infinite;animation-fill-mode:forwards;}@keyframes anim-loading-layout{0%{opacity:0;}50%{opacity:1;}100%{opacity:0;}}.analysis-score{svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px;circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em;}}&.notgood #bar{stroke-dashoffset:101px;stroke:var(--colorWarning);}&.good #bar{stroke-dashoffset:0;stroke:var(--colorSuccess);}}.dashicons{vertical-align:middle;}.sp-dashicons-ok,.sp-dashicons-not{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px;}.sp-dashicons-not{background:var(--colorAlert);}.seopress-arrow::after{content:\"\f343\";font-family:\"Dashicons\";position:absolute;right:10px;top:calc(50% - 12px);fontSize:14px;}.sp-seo-metabox .accordion__button[aria-expanded=true] .seopress-arrow:after{content:\"\f347\";}.sp-google-preview{margin-left:10px;flex-grow:1;}@media only screen and (max-width:600px){.sp-google-preview{margin-left:0;}}.media-frame-title h1::after,.media-frame-title h1::before,.media-attachments-filter-heading::before,.media-sidebar h2::before{content:none;}.media-router .media-menu-item{text-transform:none;background:inherit;color:inherit;font-weight:normal;letter-spacing:inherit;}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{font-size:inherit;text-transform:none;}body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded #seopress-js-module-seo-metabox .sp-seo-metabox,body.is-fullscreen-mode.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox{max-width:100%;width:100% !important;left:0px;box-shadow:none;border-right:1px solid var(--borderColorLight);", "}body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox{max-width:calc(100% - 160px);left:160px;", "}body.block-editor-page.folded:not(.is-fullscreen-mode) #seopress-js-module-seo-metabox .sp-seo-metabox{left:36px;max-width:calc(100% - 36px);", "}@media only screen and (max-width:1400px){body:not(.wp-admin) #seopress-js-module-seo-metabox .sp-seo-metabox{width:100%;max-width:100%;min-width:100%;left:0;}}@media only screen and (max-width:782px){body.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.auto-fold #seopress-js-module-seo-metabox .sp-seo-metabox,body.is-fullscreen-mode.block-editor-page #seopress-js-module-seo-metabox .sp-seo-metabox,body.block-editor-page.folded:not(.is-fullscreen-mode) #seopress-js-module-seo-metabox .sp-seo-metabox{width:100%;max-width:100%;min-width:100%;left:0;}}"], METABOX_MODULE_NAME, function (_ref) {
|
42940 |
var isSidebarGutenbergOpened = _ref.isSidebarGutenbergOpened;
|
42941 |
return isSidebarGutenbergOpened && "\n max-width: calc(100% - 280px);\n ";
|
42942 |
}, function (_ref2) {
|
@@ -6,7 +6,7 @@ Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge grap
|
|
6 |
Requires at least: 4.7+
|
7 |
Tested up to: 5.8
|
8 |
Requires PHP: 7.0
|
9 |
-
Stable tag: 5.
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
@@ -16,7 +16,7 @@ Boost your SEO with SEOPress, a simple, fast and powerful SEO plugin for WordPre
|
|
16 |
|
17 |
SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your traffic, improve social sharing, build custom HTML and XML Sitemaps, create optimized breadcrumbs, add schemas / Google Structured data types, manage 301 redirections and so much more.<br>
|
18 |
|
19 |
-
✔ <strong>Universal SEO metabox
|
20 |
✔ <strong>No advertising, no footprints, white label, in backend AND frontend</strong>
|
21 |
✔ <strong>Content analysis to help you write content optimized for search engines</strong>
|
22 |
✔ <strong>Import your post and term metadatas from other plugins in 1 click</strong>
|
@@ -26,7 +26,7 @@ SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your tra
|
|
26 |
|
27 |
[youtube https://www.youtube.com/watch?v=FwaJA5MY6sc]
|
28 |
|
29 |
-
<a href="https://www.seopress.org/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Features</a> | <a href="https://www.seopress.org/
|
30 |
|
31 |
<h3>Why SEOPress is the best WordPress SEO plugin?</h3>
|
32 |
|
@@ -34,7 +34,7 @@ SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your tra
|
|
34 |
<li><a href="https://www.seopress.org/seopress-productivity/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Save time</strong></a>: you prefer to work with Excel or Google Spreadsheets? No problem, you can import / export your metadata from CSV files with SEOPress PRO in few clicks!</li>
|
35 |
<li><a href="https://www.seopress.org/pricing/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Save money</strong></a>: SEOPress PRO is available for just $39 / year. Without any sites limit. Yes, you read that right: 1 site or 100 sites, the total price is still $39 / year!</li>
|
36 |
<li><a href="https://www.seopress.org/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>All in one SEO plugin</strong></a>: comes with all the features you need to optimize the SEO of your WordPress site. No need to install additional extensions to manage redirects, schemas, XML sitemaps... You reduce the risk of conflicts and maintenance costs. You don't need a special feature? Deactivate it with one click without losing your configuration. Child's play !</li>
|
37 |
-
<li><strong>Easy AND ready to use</strong>: you doesn't need to know SEO or code to use SEOPress. Most of the parameters are automatically set. And thanks to our installation wizard, configuring SEOPress has never been easier. To go further, we provide many <a href="https://www.seopress.org/
|
38 |
</ul>
|
39 |
|
40 |
<h3>SEOPress Free Features</h3>
|
@@ -46,7 +46,7 @@ SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your tra
|
|
46 |
<li><strong>Facebook & Twitter Social Preview</strong> to see how your post will looks like on social media to increase conversions</li>
|
47 |
<li><strong>Titles</strong> (with <a href="https://www.seopress.org/support/guides/manage-titles-meta-descriptions/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme">dynamic variables</a>: custom fields, terms taxonomie...)</li>
|
48 |
<li><strong>Meta descriptions</strong> (with dynamic variables too)</li>
|
49 |
-
<li><strong>Open Graph and Twitter Cards</strong> to improve social media sharing (Facebook, LinkedIn, Instagram, Twitter, Pinterest, WhatsApp...)</li>
|
50 |
<li><strong>Google Knowledge Graph</strong></li>
|
51 |
<li><a href="https://www.seopress.org/features/google-analytics/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Google Analytics</strong> and <strong>Matomo</strong></a> with downloads tracking, custom dimensions, ip anonymization, remarketing, demographics and interest reporting, cross-domain tracking...(<a href="https://www.seopress.org/features/seopress-white-label/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">GDPR compatibility</a>)</li>
|
52 |
<li><strong>Custom Canonical URL</strong></li>
|
@@ -60,13 +60,13 @@ SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your tra
|
|
60 |
<li>Remove ?replytocom to avoid duplicate content</li>
|
61 |
<li>Redirect attachment pages to post parent</li>
|
62 |
<li>Redirect attachment pages to their file URL</li>
|
63 |
-
<li><strong>Image SEO</strong>: Automatically set the image title / alt / caption / description</li>
|
64 |
<li>Import / Export settings from site to site.</li>
|
65 |
-
<li><a href="https://www.seopress.org/migrate-
|
66 |
<li>...</li>
|
67 |
</ul>
|
68 |
|
69 |
-
<a href="https://www.seopress.org/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Check out all SEOPress Free features here</a>
|
70 |
|
71 |
<h3>SEOPress PRO: to go further with your SEO</h3>
|
72 |
|
@@ -94,25 +94,25 @@ SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your tra
|
|
94 |
<li>custom schema</li>
|
95 |
</ol>
|
96 |
<li><strong>Automatic Schemas</strong> with advanced conditions (AND, OR, Post types, taxonomies)</li>
|
97 |
-
<li><a href="https://www.seopress.org/
|
98 |
-
<li><a href="https://www.seopress.org/features/google-analytics/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Google Analytics Stats in Dashboard</strong></a> to quickly see your metrics without leaving your site</li>
|
99 |
-
<li><strong>Google Local Business</strong> to boost your local store</li>
|
100 |
<li><strong>Broken link checker (SEOPress BOT)</strong>: scan all your links in content to find errors (eg: 404...)</li>
|
101 |
-
<li><strong>WooCommerce</strong>: Product Global Identifiers type and Product Global Identifiers fields to WooCommerce metabox for product schema (barcode), disable crawling on cart page, checkout page, customer account pages, add OG Price / OG Currency for better sharing and more</li>
|
102 |
<li><strong>Easy Digital Downloads</strong>: add OG Price / OG Currency, remove EDD meta generator</li>
|
103 |
<li><strong>Dublin Core</strong> meta tags</li>
|
104 |
<li><strong>Custom Breadcrumbs</strong> for single post types / term taxonomy</li>
|
105 |
-
<li><strong>Google Page Speed Insights</strong> to analyse your site performances</li>
|
106 |
-
<li><strong>Google Enhanced Ecommerce for WooCommerce</strong>: measure purchases, additions to and removals from shopping carts</li>
|
107 |
-
<li>Edit your <strong>robots.txt</strong> file from the admin (multisite / multidomain ready)</li>
|
108 |
<li><strong>Google News Sitemap</strong> to get your posts on Google News</li>
|
109 |
<li><strong>404 Monitoring</strong>: Monitor your 404 errors to improve user experience, performances and increase the crawl budget allocated by Google</li>
|
110 |
<li><strong>Redirect 404 to homepage/custom url automatically</strong> with custom status code (301, 302, 307, 410 or 451)</li>
|
111 |
<li>Email notifications on 404</li>
|
112 |
-
<li><strong>Redirect manager</strong>: create unlimited 301, 302, 307, 410 and 451 redirections. Import / export redirections to CSV or htaccess file.</li>
|
113 |
<li>Import redirections using CSV</li>
|
114 |
<li>Import redirections from Redirections plugin (via a JSON file)</li>
|
115 |
-
<li>Edit your <strong>htaccess file</strong> from the admin</li>
|
116 |
<li>Easily customize your <strong>RSS feeds</strong></li>
|
117 |
<li>...</li>
|
118 |
</ul>
|
@@ -142,7 +142,7 @@ We support WooCommerce and Easy Digital Downloads for e-commerce sites.
|
|
142 |
[youtube https://youtu.be/sf0ocG7vQMM]
|
143 |
|
144 |
|
145 |
-
<h3
|
146 |
We provide deep integration with Elementor page builder. Directly from Elementor settings, you can:
|
147 |
<ul>
|
148 |
<li>edit your SEO metadata (title, meta description, meta robots)</li>
|
@@ -156,7 +156,9 @@ We provide deep integration with Elementor page builder. Directly from Elementor
|
|
156 |
|
157 |
<h3>Developers will love SEOPress!</h3>
|
158 |
|
159 |
-
Hundreds of hooks are available to extend SEOPress. <a href="https://www.seopress.org/support/hooks/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Browse them all here</a>!
|
|
|
|
|
160 |
|
161 |
<h3>Translations</h3>
|
162 |
SEOPress is translated into multiple languages including:
|
@@ -188,7 +190,7 @@ Help localize SEOPress even further by adding your locale – visit <a href="htt
|
|
188 |
<h3>SEOPress integrates seamlessly with popular e-commerce, translation, performance and analytics tools.</h3>
|
189 |
<ul>
|
190 |
<li>Classic Editor</li>
|
191 |
-
<li
|
192 |
<li>WPML</li>
|
193 |
<li>Polylang</li>
|
194 |
<li>MultilingualPress</li>
|
@@ -207,7 +209,7 @@ Help localize SEOPress even further by adding your locale – visit <a href="htt
|
|
207 |
|
208 |
<a href="https://www.seopress.org/integrations/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">All our integrations</a>
|
209 |
|
210 |
-
<h3><a href="https://www.seopress.org/migrate-
|
211 |
<ul>
|
212 |
<li><a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Yoast SEO</a></li>
|
213 |
<li><a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">All In One SEO</a></li>
|
@@ -231,7 +233,7 @@ Help localize SEOPress even further by adding your locale – visit <a href="htt
|
|
231 |
<li><a href="https://www.seopress.org/account/your-tickets/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Email (PRO only)</a></li>
|
232 |
</ul>
|
233 |
|
234 |
-
<h3>Branding guidelines</h3>
|
235 |
SEOPress is a registered trademark of SEOPress SASU. When writing about SEOPress plugin, please make sure to write it correctly.
|
236 |
|
237 |
SEOPress (correct)
|
@@ -335,62 +337,57 @@ You're theme is probably using a deprecated function to handle the title. <a hre
|
|
335 |
12. Schema metabox
|
336 |
|
337 |
== Changelog ==
|
338 |
-
= 5.
|
339 |
-
* NEW
|
340 |
-
* NEW
|
341 |
-
* NEW
|
342 |
-
* NEW
|
343 |
-
* NEW
|
344 |
-
* NEW
|
345 |
-
* NEW
|
346 |
-
* NEW
|
347 |
-
* NEW
|
348 |
-
*
|
349 |
-
*
|
350 |
-
*
|
351 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
* INFO Update updater
|
353 |
-
* INFO
|
354 |
-
* INFO
|
355 |
-
* INFO
|
356 |
-
* INFO
|
357 |
-
*
|
358 |
-
* FIX
|
359 |
-
* FIX
|
360 |
-
* FIX
|
361 |
-
* FIX
|
362 |
-
* FIX
|
363 |
-
* FIX
|
364 |
-
* FIX
|
365 |
-
* FIX
|
366 |
-
* FIX
|
367 |
-
* FIX
|
368 |
-
* FIX
|
369 |
-
* FIX
|
370 |
-
* FIX
|
371 |
-
* FIX
|
372 |
-
* FIX
|
373 |
-
* FIX
|
374 |
-
* FIX
|
375 |
-
|
376 |
-
*
|
377 |
-
* NEW Video and News sitemaps added to universal SEO metabox
|
378 |
-
* NEW 'seopress_automatic_redirect_cpt' hook to filter post types to watch for automatic redirection suggestions (https://www.seopress.org/support/hooks/filter-post-types-to-watch-for-automatic-redirections/)
|
379 |
-
* NEW 'seopress_beacon_svg' hook to filter beacon SVG icon for universal SEO metabox
|
380 |
-
* INFO Update French language
|
381 |
-
* INFO Add author URL in schema
|
382 |
-
* FIX Broken link checker (go to SEO, BOT, Settings and select post types to scan)
|
383 |
-
* FIX Compatibility issue with Slider PRO
|
384 |
-
* FIX FAQ block: duplicated image and incorrect alt text attribute
|
385 |
-
* FIX Fatal error is_plugin_active in rare cases
|
386 |
-
* FIX Local business schema manual type (automatic)
|
387 |
* FIX i18n
|
388 |
-
* FIX Missing information from Social Preview
|
389 |
-
* FIX CSS on UI
|
390 |
-
* FIX Conflict with Post Types Order plugin
|
391 |
-
* FIX Global social image buttons for each post types
|
392 |
-
* FIX Use published date in xml sitemaps if modified_date is older
|
393 |
-
* FIX Universal SEO metabox with Block Editor
|
394 |
-
* FIX Words counter / keyword density with Oxygen Builder
|
395 |
|
396 |
<a href="https://www.seopress.org/changelog/" target="_blank">View our complete changelog</a>
|
6 |
Requires at least: 4.7+
|
7 |
Tested up to: 5.8
|
8 |
Requires PHP: 7.0
|
9 |
+
Stable tag: 5.3.0
|
10 |
License: GPLv2 or later
|
11 |
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
16 |
|
17 |
SEOPress is a powerful WordPress SEO plugin to optimize your SEO, boost your traffic, improve social sharing, build custom HTML and XML Sitemaps, create optimized breadcrumbs, add schemas / Google Structured data types, manage 301 redirections and so much more.<br>
|
18 |
|
19 |
+
✔ <strong><a href="https://www.seopress.org/features/page-builders-integration/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Universal SEO metabox</a>: edit your SEO metadata from any page builder / theme builder</strong>
|
20 |
✔ <strong>No advertising, no footprints, white label, in backend AND frontend</strong>
|
21 |
✔ <strong>Content analysis to help you write content optimized for search engines</strong>
|
22 |
✔ <strong>Import your post and term metadatas from other plugins in 1 click</strong>
|
26 |
|
27 |
[youtube https://www.youtube.com/watch?v=FwaJA5MY6sc]
|
28 |
|
29 |
+
<a href="https://www.seopress.org/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Features</a> | <a href="https://www.seopress.org/solutions/migrate-from/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Migrate</a> | <a href="https://www.seopress.org/wordpress-seo-plugins/pro/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">PRO</a> | <a href="https://www.seopress.org/integrations/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Integrations</a> | <a href="https://www.seopress.org/support/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Support</a> | <a href="https://www.seopress.org/features/seopress-white-label/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">White Label</a>
|
30 |
|
31 |
<h3>Why SEOPress is the best WordPress SEO plugin?</h3>
|
32 |
|
34 |
<li><a href="https://www.seopress.org/seopress-productivity/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Save time</strong></a>: you prefer to work with Excel or Google Spreadsheets? No problem, you can import / export your metadata from CSV files with SEOPress PRO in few clicks!</li>
|
35 |
<li><a href="https://www.seopress.org/pricing/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Save money</strong></a>: SEOPress PRO is available for just $39 / year. Without any sites limit. Yes, you read that right: 1 site or 100 sites, the total price is still $39 / year!</li>
|
36 |
<li><a href="https://www.seopress.org/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>All in one SEO plugin</strong></a>: comes with all the features you need to optimize the SEO of your WordPress site. No need to install additional extensions to manage redirects, schemas, XML sitemaps... You reduce the risk of conflicts and maintenance costs. You don't need a special feature? Deactivate it with one click without losing your configuration. Child's play !</li>
|
37 |
+
<li><strong>Easy AND ready to use</strong>: you doesn't need to know SEO or code to use SEOPress. Most of the parameters are automatically set. And thanks to our installation wizard, configuring SEOPress has never been easier. To go further, we provide many <a href="https://www.seopress.org/support/tutorials/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">free tutorials</a> and <a href="https://www.seopress.org/support/ebooks/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">ebooks to learn SEO</a> in order to better understand how to position your content on search engines.</li>
|
38 |
</ul>
|
39 |
|
40 |
<h3>SEOPress Free Features</h3>
|
46 |
<li><strong>Facebook & Twitter Social Preview</strong> to see how your post will looks like on social media to increase conversions</li>
|
47 |
<li><strong>Titles</strong> (with <a href="https://www.seopress.org/support/guides/manage-titles-meta-descriptions/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme">dynamic variables</a>: custom fields, terms taxonomie...)</li>
|
48 |
<li><strong>Meta descriptions</strong> (with dynamic variables too)</li>
|
49 |
+
<li><a href="https://www.seopress.org/features/social-media/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Open Graph and Twitter Cards</strong></a> to improve social media sharing (Facebook, LinkedIn, Instagram, Twitter, Pinterest, WhatsApp...)</li>
|
50 |
<li><strong>Google Knowledge Graph</strong></li>
|
51 |
<li><a href="https://www.seopress.org/features/google-analytics/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme"><strong>Google Analytics</strong> and <strong>Matomo</strong></a> with downloads tracking, custom dimensions, ip anonymization, remarketing, demographics and interest reporting, cross-domain tracking...(<a href="https://www.seopress.org/features/seopress-white-label/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">GDPR compatibility</a>)</li>
|
52 |
<li><strong>Custom Canonical URL</strong></li>
|
60 |
<li>Remove ?replytocom to avoid duplicate content</li>
|
61 |
<li>Redirect attachment pages to post parent</li>
|
62 |
<li>Redirect attachment pages to their file URL</li>
|
63 |
+
<li><a href="https://www.seopress.org/features/image-seo/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Image SEO</strong></a>: Automatically set the image title / alt / caption / description</li>
|
64 |
<li>Import / Export settings from site to site.</li>
|
65 |
+
<li><a href="https://www.seopress.org/solutions/migrate-from/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme">Import posts and terms metadata</a> from Yoast SEO, All In One SEO, SEO Framework, Rank Math, SEO Ultimate, WP Meta SEO, Premium SEO Pack, Squirrly and many other SEO plugins</li>
|
66 |
<li>...</li>
|
67 |
</ul>
|
68 |
|
69 |
+
<a href="https://www.seopress.org/wordpress-seo-plugins/free/features/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Check out all SEOPress Free features here</a>
|
70 |
|
71 |
<h3>SEOPress PRO: to go further with your SEO</h3>
|
72 |
|
94 |
<li>custom schema</li>
|
95 |
</ol>
|
96 |
<li><strong>Automatic Schemas</strong> with advanced conditions (AND, OR, Post types, taxonomies)</li>
|
97 |
+
<li><a href="https://www.seopress.org/features/breadcrumbs/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Breadcrumbs</strong></a> optimized with Schema.org, A11Y ready. Elementor users? <a href="https://www.youtube.com/watch?v=ID4xm1UVikc" target="_blank">Try our custom breadcrumbs widget!</a></li>
|
98 |
+
<li><a href="https://www.seopress.org/features/google-analytics/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Google Analytics Stats in Dashboard</strong></a> to quickly see your metrics without leaving your site</li>
|
99 |
+
<li><a href="https://www.seopress.org/features/local-seo/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Google Local Business</strong></a> to boost your local store</li>
|
100 |
<li><strong>Broken link checker (SEOPress BOT)</strong>: scan all your links in content to find errors (eg: 404...)</li>
|
101 |
+
<li><a href="https://www.seopress.org/features/woocommerce-seo/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>WooCommerce</strong></a>: Product Global Identifiers type and Product Global Identifiers fields to WooCommerce metabox for product schema (barcode), disable crawling on cart page, checkout page, customer account pages, add OG Price / OG Currency for better sharing and more</li>
|
102 |
<li><strong>Easy Digital Downloads</strong>: add OG Price / OG Currency, remove EDD meta generator</li>
|
103 |
<li><strong>Dublin Core</strong> meta tags</li>
|
104 |
<li><strong>Custom Breadcrumbs</strong> for single post types / term taxonomy</li>
|
105 |
+
<li><strong>Google Page Speed Insights</strong> to analyse your site performances on Mobile / Desktop + your Core Web Vitals</li>
|
106 |
+
<li><a href="https://www.seopress.org/features/google-analytics/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Google Enhanced Ecommerce for WooCommerce</strong></a>: measure purchases, additions to and removals from shopping carts</li>
|
107 |
+
<li><a href="https://www.seopress.org/features/htaccess-robots-txt/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Edit your <strong>robots.txt</strong></a> file from the admin (multisite / multidomain ready)</li>
|
108 |
<li><strong>Google News Sitemap</strong> to get your posts on Google News</li>
|
109 |
<li><strong>404 Monitoring</strong>: Monitor your 404 errors to improve user experience, performances and increase the crawl budget allocated by Google</li>
|
110 |
<li><strong>Redirect 404 to homepage/custom url automatically</strong> with custom status code (301, 302, 307, 410 or 451)</li>
|
111 |
<li>Email notifications on 404</li>
|
112 |
+
<li><a href="https://www.seopress.org/features/301-redirects/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank"><strong>Redirect manager</strong></a>: create unlimited 301, 302, 307, 410 and 451 redirections. Regular expressions supported. Import / export redirections to CSV or htaccess file.</li>
|
113 |
<li>Import redirections using CSV</li>
|
114 |
<li>Import redirections from Redirections plugin (via a JSON file)</li>
|
115 |
+
<li><a href="https://www.seopress.org/features/htaccess-robots-txt/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Edit your <strong>htaccess file</strong></a> from the admin</li>
|
116 |
<li>Easily customize your <strong>RSS feeds</strong></li>
|
117 |
<li>...</li>
|
118 |
</ul>
|
142 |
[youtube https://youtu.be/sf0ocG7vQMM]
|
143 |
|
144 |
|
145 |
+
<h3>Elementor + SEOPress: perfect combo!</h3>
|
146 |
We provide deep integration with Elementor page builder. Directly from Elementor settings, you can:
|
147 |
<ul>
|
148 |
<li>edit your SEO metadata (title, meta description, meta robots)</li>
|
156 |
|
157 |
<h3>Developers will love SEOPress!</h3>
|
158 |
|
159 |
+
Hundreds of hooks are available to extend SEOPress. <a href="https://www.seopress.org/support/hooks/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Browse them all here</a>!
|
160 |
+
|
161 |
+
Plus we have a <a href="https://www.seopress.org/support/guides/get-started-with-the-seopress-rest-api/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme">REST API</a> to build static websites.
|
162 |
|
163 |
<h3>Translations</h3>
|
164 |
SEOPress is translated into multiple languages including:
|
190 |
<h3>SEOPress integrates seamlessly with popular e-commerce, translation, performance and analytics tools.</h3>
|
191 |
<ul>
|
192 |
<li>Classic Editor</li>
|
193 |
+
<li>Block Editor</li>
|
194 |
<li>WPML</li>
|
195 |
<li>Polylang</li>
|
196 |
<li>MultilingualPress</li>
|
209 |
|
210 |
<a href="https://www.seopress.org/integrations/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">All our integrations</a>
|
211 |
|
212 |
+
<h3><a href="https://www.seopress.org/solutions/migrate-from/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Import your post and term metadata from other SEO plugins in 1-click</a></h3>
|
213 |
<ul>
|
214 |
<li><a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Yoast SEO</a></li>
|
215 |
<li><a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">All In One SEO</a></li>
|
233 |
<li><a href="https://www.seopress.org/account/your-tickets/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Email (PRO only)</a></li>
|
234 |
</ul>
|
235 |
|
236 |
+
<h3><a href="https://www.seopress.org/about/brand-assets/?utm_source=w.org&utm_campaign=seopress&utm_medium=readme" target="_blank">Branding guidelines</a></h3>
|
237 |
SEOPress is a registered trademark of SEOPress SASU. When writing about SEOPress plugin, please make sure to write it correctly.
|
238 |
|
239 |
SEOPress (correct)
|
337 |
12. Schema metabox
|
338 |
|
339 |
== Changelog ==
|
340 |
+
= 5.3 <a href="https://www.seopress.org/newsroom/product-news/seopress-5-3/" target="_blank">Read the blog post update</a> =
|
341 |
+
* NEW Regular expressions for redirects (PRO)
|
342 |
+
* NEW Autocomplete for Redirections (PRO)
|
343 |
+
* NEW Conditions for Redirections: if user logged in, logged out, both (PRO)
|
344 |
+
* NEW Page Speed Insights redesign, now with Core Web Vitals score, Desktop + Mobile scores, Save as PDF, CRON (PRO)
|
345 |
+
* NEW Exclude WPML hidden languages from XML sitemaps (post, page, post type and term taxonomy)
|
346 |
+
* NEW Exclude Polylang PRO hidden languages from XML sitemaps (post, page, post type and term taxonomy)
|
347 |
+
* NEW Accordion for SEOPress FAQ block (PRO)
|
348 |
+
* NEW Ping Google and Bing daily automatically for XML Sitemaps
|
349 |
+
* NEW Drag and drop for SEO dashboard cards
|
350 |
+
* NEW Notification if a physical robots.txt file already exists
|
351 |
+
* NEW Notification if your site has disallow all in robots.txt
|
352 |
+
* NEW Autodetect WooCommerce fields for automatic product schema on creation
|
353 |
+
* NEW 'seopress_sitemaps_xsl_css' hook to filter XML sitemaps CSS (props @edwinsiebel - https://www.seopress.org/support/hooks/filter-css-of-xsl-sitemaps/)
|
354 |
+
* NEW 'seopress_sitemaps_xsl' hook to filter XSL sitemaps (props @edwinsiebel - https://www.seopress.org/support/hooks/filter-xsl-sitemap/)
|
355 |
+
* NEW 'seopress_before_redirect' action hook to run custom code before the redirection (https://www.seopress.org/support/hooks/add-action-before-redirect/)
|
356 |
+
* NEW 'seopress_sitemaps_single_url' hook to filter each URL fron single xml sitemaps (https://www.seopress.org/support/hooks/filter-the-urls-of-each-item-of-a-singular-xml-sitemap/)
|
357 |
+
* NEW 'seopress_sitemaps_term_single_url' hook to filter each URL fron term xml sitemaps (https://www.seopress.org/support/hooks/filter-the-urls-of-each-item-of-a-taxonomy-xml-sitemap/)
|
358 |
+
* NEW 'seopress_sitemaps_xml_ping_url' hook to filter xml sitemaps URL sent via the ping (https://www.seopress.org/support/hooks/filter-index-xml-sitemap-url-sent-to-google/)
|
359 |
+
* NEW 'seopress_sitemaps_xml_ping_args' hook to filter xml sitemaps args for the ping (https://www.seopress.org/support/hooks/filter-the-arguments-of-the-ping-sitemap-query-for-google/)
|
360 |
+
* NEW 'seopress_faq_block_inline_css' hook to filter inline CSS for FAQ block (https://www.seopress.org/support/hooks/disable-seopress-faq-block-inline-css/)
|
361 |
+
* NEW 'seopress_faq_block_html' hook to filter the HTML of our FAQ block (https://www.seopress.org/support/hooks/filter-block-faq-html-block-editor/)
|
362 |
+
* INFO Redirect sitemap_index.xml, wp-sitemap.xml to sitemaps.xml to avoid resubmit sitemaps in Google Search Console
|
363 |
+
* INFO Author subtype for schemas will now use the website field first, else the author archive URL
|
364 |
+
* INFO Add GTIN12 to product global Identifiers type (PRO)
|
365 |
+
* INFO Remove nofollow links from comments area to content analysis
|
366 |
* INFO Update updater
|
367 |
+
* INFO Edit your social images (Facebook and Twitter) by clicking on the preview
|
368 |
+
* INFO Display 100 entries in Redirections post type
|
369 |
+
* INFO Knowledge Graph is now outputted on homepage only
|
370 |
+
* INFO Improve hyphenation in Google Snippet Preview
|
371 |
+
* INFO Disabling RSS feeds will redirect them to homepage if requested
|
372 |
+
* FIX Exclude custom canonical URLs from xml sitemaps
|
373 |
+
* FIX Product price amount OG tag
|
374 |
+
* FIX Temporary fix to remove Add to cart GA event for archive page / related products if Elementor PRO is enabled to prevent a conflict
|
375 |
+
* FIX Duplicated queries seopress_get_page_by_title()
|
376 |
+
* FIX Publisher logo
|
377 |
+
* FIX News xml sitemap with "&" in Publication Name field
|
378 |
+
* FIX Documentation panel for Insights
|
379 |
+
* FIX Author URL in schema (automatic and manual)
|
380 |
+
* FIX Disable Orgnization / Person schemas from Knowledge Graph if Social feature is set to OFF
|
381 |
+
* FIX "seopress_rich_snippets_publisher_logo" missing for wpml-config.xml file (WPML and Polylang users)
|
382 |
+
* FIX Publisher logo Width and Height (it might be necessary to reupload it from SEO, PRO, Structured Data Types)
|
383 |
+
* FIX Custom Shop page breadcrumbs
|
384 |
+
* FIX Help link for Google Ads option
|
385 |
+
* FIX Universal SEO metabox error with singular WC product in frontend
|
386 |
+
* FIX Google Analytics dashboard widget configuration settings
|
387 |
+
* FIX Conflict with Thrive builder
|
388 |
+
* FIX Conflit with Remove /category/ in URL with Events Calendar plugin
|
389 |
+
* FIX Some CSS
|
390 |
+
* FIX CRON tasks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
* FIX i18n
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
392 |
|
393 |
<a href="https://www.seopress.org/changelog/" target="_blank">View our complete changelog</a>
|
@@ -60,34 +60,6 @@ if ( ! function_exists('array_key_last')) {
|
|
60 |
* @return (array) $wp_post_types
|
61 |
*/
|
62 |
function seopress_get_post_types() {
|
63 |
-
if ( ! function_exists('seopress_get_service')) {
|
64 |
-
global $wp_post_types;
|
65 |
-
|
66 |
-
$args = [
|
67 |
-
'show_ui' => true,
|
68 |
-
'public' => true,
|
69 |
-
];
|
70 |
-
|
71 |
-
$output = 'objects'; // names or objects, note names is the default
|
72 |
-
$operator = 'and'; // 'and' or 'or'
|
73 |
-
|
74 |
-
$post_types = get_post_types($args, $output, $operator);
|
75 |
-
unset(
|
76 |
-
$post_types['attachment'],
|
77 |
-
$post_types['seopress_rankings'],
|
78 |
-
$post_types['seopress_backlinks'],
|
79 |
-
$post_types['seopress_404'],
|
80 |
-
$post_types['elementor_library'],
|
81 |
-
$post_types['customer_discount'],
|
82 |
-
$post_types['cuar_private_file'],
|
83 |
-
$post_types['cuar_private_page'],
|
84 |
-
$post_types['ct_template']
|
85 |
-
);
|
86 |
-
$post_types = apply_filters('seopress_post_types', $post_types);
|
87 |
-
|
88 |
-
return $post_types;
|
89 |
-
}
|
90 |
-
|
91 |
return seopress_get_service('WordPressData')->getPostTypes();
|
92 |
}
|
93 |
|
@@ -309,7 +281,7 @@ function seopress_get_empty_templates($type, $metadata, $notice = true) {
|
|
309 |
$list = '';
|
310 |
|
311 |
if ('cpt' === $type) {
|
312 |
-
$templates =
|
313 |
$notice_i18n = __('Custom Post Types', 'wp-seopress');
|
314 |
}
|
315 |
if ('tax' === $type) {
|
@@ -763,3 +735,38 @@ function seopress_btn_secondary_classes() {
|
|
763 |
|
764 |
return $btn_classes_secondary;
|
765 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
* @return (array) $wp_post_types
|
61 |
*/
|
62 |
function seopress_get_post_types() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
return seopress_get_service('WordPressData')->getPostTypes();
|
64 |
}
|
65 |
|
281 |
$list = '';
|
282 |
|
283 |
if ('cpt' === $type) {
|
284 |
+
$templates = $postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
285 |
$notice_i18n = __('Custom Post Types', 'wp-seopress');
|
286 |
}
|
287 |
if ('tax' === $type) {
|
735 |
|
736 |
return $btn_classes_secondary;
|
737 |
}
|
738 |
+
|
739 |
+
/*
|
740 |
+
* Global noindex from SEO, Titles settings
|
741 |
+
* @since 4.0
|
742 |
+
* @param string $feature
|
743 |
+
* @return string 1 if true
|
744 |
+
* @author Benjamin
|
745 |
+
*/
|
746 |
+
if ( ! function_exists('seopress_global_noindex_option')) {
|
747 |
+
function seopress_global_noindex_option() {
|
748 |
+
$seopress_titles_noindex_option = get_option('seopress_titles_option_name');
|
749 |
+
if ( ! empty($seopress_titles_noindex_option)) {
|
750 |
+
foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value) {
|
751 |
+
$options[$key] = $seopress_titles_noindex_value;
|
752 |
+
}
|
753 |
+
if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
|
754 |
+
return $seopress_titles_noindex_option['seopress_titles_noindex'];
|
755 |
+
}
|
756 |
+
}
|
757 |
+
}
|
758 |
+
}
|
759 |
+
|
760 |
+
/*
|
761 |
+
* Disable Add to cart GA tracking code on archive page / related products for Elementor PRO to avoid a JS conflict
|
762 |
+
* @since 5.3
|
763 |
+
* @return empty string
|
764 |
+
* @author Benjamin
|
765 |
+
*/
|
766 |
+
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
767 |
+
if (is_plugin_active('elementor-pro/elementor-pro.php')) {
|
768 |
+
add_filter('seopress_gtag_ec_add_to_cart_archive_ev', 'sp_elementor_gtag_ec_add_to_cart_archive_ev');
|
769 |
+
function sp_elementor_gtag_ec_add_to_cart_archive_ev($js) {
|
770 |
+
return '';
|
771 |
+
}
|
772 |
+
}
|
@@ -4,7 +4,7 @@ Plugin Name: SEOPress
|
|
4 |
Plugin URI: https://www.seopress.org/
|
5 |
Description: One of the best SEO plugins for WordPress.
|
6 |
Author: SEOPress
|
7 |
-
Version: 5.
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
10 |
Text Domain: wp-seopress
|
@@ -32,13 +32,24 @@ if ( ! function_exists('add_action')) {
|
|
32 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
33 |
exit;
|
34 |
}
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
37 |
//Hooks activation
|
38 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
39 |
function seopress_activation() {
|
40 |
add_option('seopress_activated', 'yes');
|
41 |
flush_rewrite_rules(false);
|
|
|
|
|
|
|
42 |
do_action('seopress_activation');
|
43 |
}
|
44 |
register_activation_hook(__FILE__, 'seopress_activation');
|
@@ -48,6 +59,10 @@ function seopress_deactivation() {
|
|
48 |
|
49 |
delete_option('seopress_activated');
|
50 |
flush_rewrite_rules(false);
|
|
|
|
|
|
|
|
|
51 |
do_action('seopress_deactivation');
|
52 |
}
|
53 |
register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
@@ -55,7 +70,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
|
55 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
56 |
//Define
|
57 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
58 |
-
define('SEOPRESS_VERSION', '5.
|
59 |
define('SEOPRESS_AUTHOR', 'Benjamin Denis');
|
60 |
define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
|
61 |
define('SEOPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
|
@@ -74,6 +89,7 @@ use SEOPress\Core\Kernel;
|
|
74 |
if (file_exists(__DIR__ . '/vendor/autoload.php')) {
|
75 |
require_once __DIR__ . '/vendor/autoload.php';
|
76 |
require_once __DIR__ . '/seopress-functions.php';
|
|
|
77 |
|
78 |
Kernel::execute([
|
79 |
'file' => __FILE__,
|
@@ -118,6 +134,10 @@ function seopress_titles_archive_titles_option() {
|
|
118 |
//SEOPRESS INIT = Admin + Core + API + Translation
|
119 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
120 |
function seopress_init($hook) {
|
|
|
|
|
|
|
|
|
121 |
load_plugin_textdomain('wp-seopress', false, dirname(plugin_basename(__FILE__)) . '/languages/');
|
122 |
|
123 |
global $pagenow;
|
@@ -204,18 +224,24 @@ function seopress_add_admin_options_scripts($hook) {
|
|
204 |
|
205 |
//Toggle / Notices JS
|
206 |
$_pages = [
|
207 |
-
'seopress-option'
|
208 |
-
'seopress-network-option'
|
209 |
-
'seopress-titles'
|
210 |
-
'seopress-xml-sitemap'
|
211 |
-
'seopress-social'
|
212 |
-
'seopress-google-analytics'
|
213 |
-
'seopress-pro-page'
|
214 |
-
'seopress-advanced'
|
215 |
-
'seopress-import-export'
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
];
|
217 |
if (isset($_pages[$_GET['page']])) {
|
218 |
-
wp_enqueue_script('seopress-toggle-ajax', plugins_url('assets/js/seopress-dashboard' . $prefix . '.js', __FILE__), ['jquery'], SEOPRESS_VERSION, true);
|
219 |
|
220 |
//Features
|
221 |
$seopress_toggle_features = [
|
@@ -224,6 +250,13 @@ function seopress_add_admin_options_scripts($hook) {
|
|
224 |
'i18n' => __('has been successfully updated!', 'wp-seopress'),
|
225 |
];
|
226 |
wp_localize_script('seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
}
|
228 |
unset($_pages);
|
229 |
|
@@ -414,6 +447,10 @@ function seopress_admin_body_class($classes) {
|
|
414 |
'seopress-pro-page' => true,
|
415 |
'seopress-bot-batch' => true,
|
416 |
'seopress-license' => true,
|
|
|
|
|
|
|
|
|
417 |
];
|
418 |
if (isset($_pages[$_GET['page']])) {
|
419 |
$classes .= ' seopress-styles ';
|
4 |
Plugin URI: https://www.seopress.org/
|
5 |
Description: One of the best SEO plugins for WordPress.
|
6 |
Author: SEOPress
|
7 |
+
Version: 5.3.0
|
8 |
Author URI: https://www.seopress.org/
|
9 |
License: GPLv2
|
10 |
Text Domain: wp-seopress
|
32 |
echo 'Please don’t call the plugin directly. Thanks :)';
|
33 |
exit;
|
34 |
}
|
35 |
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
36 |
+
//CRON
|
37 |
+
///////////////////////////////////////////////////////////////////////////////////////////////////
|
38 |
+
function seopress_cron() {
|
39 |
+
//CRON - Ping Google for XML Sitemaps
|
40 |
+
if ( ! wp_next_scheduled('seopress_xml_sitemaps_ping_cron')) {
|
41 |
+
wp_schedule_event(time(), 'daily', 'seopress_xml_sitemaps_ping_cron');
|
42 |
+
}
|
43 |
+
}
|
44 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
45 |
//Hooks activation
|
46 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
47 |
function seopress_activation() {
|
48 |
add_option('seopress_activated', 'yes');
|
49 |
flush_rewrite_rules(false);
|
50 |
+
|
51 |
+
seopress_cron();
|
52 |
+
|
53 |
do_action('seopress_activation');
|
54 |
}
|
55 |
register_activation_hook(__FILE__, 'seopress_activation');
|
59 |
|
60 |
delete_option('seopress_activated');
|
61 |
flush_rewrite_rules(false);
|
62 |
+
|
63 |
+
//Remove our CRON
|
64 |
+
wp_clear_scheduled_hook('seopress_xml_sitemaps_ping_cron');
|
65 |
+
|
66 |
do_action('seopress_deactivation');
|
67 |
}
|
68 |
register_deactivation_hook(__FILE__, 'seopress_deactivation');
|
70 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
71 |
//Define
|
72 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
73 |
+
define('SEOPRESS_VERSION', '5.3.0');
|
74 |
define('SEOPRESS_AUTHOR', 'Benjamin Denis');
|
75 |
define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
|
76 |
define('SEOPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
|
89 |
if (file_exists(__DIR__ . '/vendor/autoload.php')) {
|
90 |
require_once __DIR__ . '/vendor/autoload.php';
|
91 |
require_once __DIR__ . '/seopress-functions.php';
|
92 |
+
require_once __DIR__ . '/inc/admin/cron.php';
|
93 |
|
94 |
Kernel::execute([
|
95 |
'file' => __FILE__,
|
134 |
//SEOPRESS INIT = Admin + Core + API + Translation
|
135 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
136 |
function seopress_init($hook) {
|
137 |
+
//CRON
|
138 |
+
seopress_cron();
|
139 |
+
|
140 |
+
//i18n
|
141 |
load_plugin_textdomain('wp-seopress', false, dirname(plugin_basename(__FILE__)) . '/languages/');
|
142 |
|
143 |
global $pagenow;
|
224 |
|
225 |
//Toggle / Notices JS
|
226 |
$_pages = [
|
227 |
+
'seopress-option' => true,
|
228 |
+
'seopress-network-option' => true,
|
229 |
+
'seopress-titles' => true,
|
230 |
+
'seopress-xml-sitemap' => true,
|
231 |
+
'seopress-social' => true,
|
232 |
+
'seopress-google-analytics' => true,
|
233 |
+
'seopress-pro-page' => true,
|
234 |
+
'seopress-advanced' => true,
|
235 |
+
'seopress-import-export' => true,
|
236 |
+
'seopress-bot-batch' => true,
|
237 |
+
'seopress-license' => true,
|
238 |
+
'seopress-insights' => true,
|
239 |
+
'seopress-insights-rankings' => true,
|
240 |
+
'seopress-insights-backlinks' => true,
|
241 |
+
'seopress-insights-trends' => true,
|
242 |
];
|
243 |
if (isset($_pages[$_GET['page']])) {
|
244 |
+
wp_enqueue_script('seopress-toggle-ajax', plugins_url('assets/js/seopress-dashboard' . $prefix . '.js', __FILE__), ['jquery', 'jquery-ui-sortable'], SEOPRESS_VERSION, true);
|
245 |
|
246 |
//Features
|
247 |
$seopress_toggle_features = [
|
250 |
'i18n' => __('has been successfully updated!', 'wp-seopress'),
|
251 |
];
|
252 |
wp_localize_script('seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features);
|
253 |
+
|
254 |
+
//Drag and drop
|
255 |
+
$seopress_dnd_features = [
|
256 |
+
'seopress_nonce' => wp_create_nonce('seopress_dnd_features_nonce'),
|
257 |
+
'seopress_dnd_features' => admin_url('admin-ajax.php'),
|
258 |
+
];
|
259 |
+
wp_localize_script('seopress-toggle-ajax', 'seopressAjaxDndFeatures', $seopress_dnd_features);
|
260 |
}
|
261 |
unset($_pages);
|
262 |
|
447 |
'seopress-pro-page' => true,
|
448 |
'seopress-bot-batch' => true,
|
449 |
'seopress-license' => true,
|
450 |
+
'seopress-insights' => true,
|
451 |
+
'seopress-insights-rankings' => true,
|
452 |
+
'seopress-insights-backlinks' => true,
|
453 |
+
'seopress-insights-trends' => true,
|
454 |
];
|
455 |
if (isset($_pages[$_GET['page']])) {
|
456 |
$classes .= ' seopress-styles ';
|
@@ -102,7 +102,7 @@ class RedirectionSettings implements ExecuteHooks {
|
|
102 |
|
103 |
$data = [];
|
104 |
foreach ($metas as $key => $value) {
|
105 |
-
if ($value['use_default']) {
|
106 |
$data[] = array_merge($value, [
|
107 |
'can_modify' => false,
|
108 |
'value' => $value['default'],
|
102 |
|
103 |
$data = [];
|
104 |
foreach ($metas as $key => $value) {
|
105 |
+
if (isset($value['use_default']) && $value['use_default']) {
|
106 |
$data[] = array_merge($value, [
|
107 |
'can_modify' => false,
|
108 |
'value' => $value['default'],
|
@@ -106,7 +106,7 @@ class RobotSettings implements ExecuteHooks
|
|
106 |
|
107 |
$data = [];
|
108 |
foreach ($metas as $key => $value) {
|
109 |
-
if ($value['use_default']) {
|
110 |
$data[] = array_merge($value, [
|
111 |
'can_modify' => false,
|
112 |
'value' => $value['default'],
|
106 |
|
107 |
$data = [];
|
108 |
foreach ($metas as $key => $value) {
|
109 |
+
if (isset($value['use_default']) && $value['use_default']) {
|
110 |
$data[] = array_merge($value, [
|
111 |
'can_modify' => false,
|
112 |
'value' => $value['default'],
|
@@ -102,7 +102,7 @@ class SocialSettings implements ExecuteHooks {
|
|
102 |
|
103 |
$data = [];
|
104 |
foreach ($metas as $key => $value) {
|
105 |
-
if ($value['use_default']) {
|
106 |
$data[] = array_merge($value, [
|
107 |
'can_modify' => false,
|
108 |
'value' => $value['default'],
|
102 |
|
103 |
$data = [];
|
104 |
foreach ($metas as $key => $value) {
|
105 |
+
if (isset($value['use_default']) && $value['use_default']) {
|
106 |
$data[] = array_merge($value, [
|
107 |
'can_modify' => false,
|
108 |
'value' => $value['default'],
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace SEOPress\Actions\Api;
|
4 |
+
|
5 |
+
if (! defined('ABSPATH')) {
|
6 |
+
exit;
|
7 |
+
}
|
8 |
+
|
9 |
+
use SEOPress\Core\Hooks\ExecuteHooks;
|
10 |
+
use SEOPress\ManualHooks\ApiHeader;
|
11 |
+
|
12 |
+
class SearchUrl implements ExecuteHooks
|
13 |
+
{
|
14 |
+
public function hooks()
|
15 |
+
{
|
16 |
+
add_action('rest_api_init', [$this, 'register']);
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
*
|
21 |
+
* @return void
|
22 |
+
*/
|
23 |
+
public function register()
|
24 |
+
{
|
25 |
+
register_rest_route('seopress/v1', '/search-url', [
|
26 |
+
'methods' => 'GET',
|
27 |
+
'callback' => [$this, 'process'],
|
28 |
+
'permission_callback' => '__return_true',
|
29 |
+
]);
|
30 |
+
}
|
31 |
+
|
32 |
+
public function process(\WP_REST_Request $request)
|
33 |
+
{
|
34 |
+
|
35 |
+
$url = $request->get_param('url');
|
36 |
+
|
37 |
+
$data = seopress_get_service('SearchUrl')->searchByPostName($url);
|
38 |
+
|
39 |
+
return new \WP_REST_Response($data);
|
40 |
+
}
|
41 |
+
}
|
@@ -18,6 +18,26 @@ class PrintHeadJsonSchema implements ExecuteHooksFrontend {
|
|
18 |
}
|
19 |
|
20 |
public function render() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
if ('none' === seopress_get_service('SocialOption')->getSocialKnowledgeType()) {
|
22 |
return;
|
23 |
}
|
18 |
}
|
19 |
|
20 |
public function render() {
|
21 |
+
/**
|
22 |
+
* Check if Social toggle is ON
|
23 |
+
*
|
24 |
+
* @since 5.3
|
25 |
+
* @author Benjamin
|
26 |
+
*/
|
27 |
+
if (seopress_get_toggle_option('social') !=='1') {
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Check if is homepage
|
33 |
+
*
|
34 |
+
* @since 5.3
|
35 |
+
* @author Benjamin
|
36 |
+
*/
|
37 |
+
if (!is_front_page()) {
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
|
41 |
if ('none' === seopress_get_service('SocialOption')->getSocialKnowledgeType()) {
|
42 |
return;
|
43 |
}
|
@@ -198,8 +198,9 @@ class Init implements ActivationHook
|
|
198 |
];
|
199 |
|
200 |
//Post Types
|
201 |
-
|
202 |
-
|
|
|
203 |
$titleOptions['seopress_titles_single_titles'][$seopress_cpt_key] = [
|
204 |
'title' => sprintf(
|
205 |
'%s %s %s',
|
@@ -236,8 +237,9 @@ class Init implements ActivationHook
|
|
236 |
}
|
237 |
|
238 |
//Archives
|
239 |
-
|
240 |
-
|
|
|
241 |
$titleOptions['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] = '%%cpt_plural%% %%current_pagination%% %%sep%% %%sitetitle%%';
|
242 |
}
|
243 |
}
|
198 |
];
|
199 |
|
200 |
//Post Types
|
201 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
202 |
+
if ( ! empty($postTypes)) {
|
203 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
204 |
$titleOptions['seopress_titles_single_titles'][$seopress_cpt_key] = [
|
205 |
'title' => sprintf(
|
206 |
'%s %s %s',
|
237 |
}
|
238 |
|
239 |
//Archives
|
240 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
241 |
+
if (! empty($postTypes)) {
|
242 |
+
foreach ($postTypes as $seopress_cpt_key => $seopress_cpt_value) {
|
243 |
$titleOptions['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] = '%%cpt_plural%% %%current_pagination%% %%sep%% %%sitetitle%%';
|
244 |
}
|
245 |
}
|
@@ -76,7 +76,14 @@ class Render implements ExecuteHooksFrontend {
|
|
76 |
public function sitemapShortcut() {
|
77 |
//Redirect sitemap.xml to sitemaps.xml
|
78 |
$get_current_url = get_home_url() . $_SERVER['REQUEST_URI'];
|
79 |
-
if (in_array($get_current_url, [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
wp_safe_redirect(get_home_url() . '/sitemaps.xml', 301);
|
81 |
exit();
|
82 |
}
|
76 |
public function sitemapShortcut() {
|
77 |
//Redirect sitemap.xml to sitemaps.xml
|
78 |
$get_current_url = get_home_url() . $_SERVER['REQUEST_URI'];
|
79 |
+
if (in_array($get_current_url, [
|
80 |
+
get_home_url() . '/sitemap.xml/',
|
81 |
+
get_home_url() . '/sitemap.xml',
|
82 |
+
get_home_url() . '/wp-sitemap.xml/',
|
83 |
+
get_home_url() . '/wp-sitemap.xml',
|
84 |
+
get_home_url() . '/sitemap_index.xml/',
|
85 |
+
get_home_url() . '/sitemap_index.xml',
|
86 |
+
])) {
|
87 |
wp_safe_redirect(get_home_url() . '/sitemaps.xml', 301);
|
88 |
exit();
|
89 |
}
|
@@ -7,11 +7,11 @@ if ( ! defined('ABSPATH')) {
|
|
7 |
}
|
8 |
|
9 |
abstract class RobotSettings {
|
10 |
-
protected static function getRobotPrimaryCats($postType) {
|
11 |
$cats = get_categories();
|
12 |
|
13 |
if ('product' == $postType) {
|
14 |
-
$cats = get_the_terms($
|
15 |
}
|
16 |
|
17 |
$default = [
|
@@ -108,7 +108,7 @@ abstract class RobotSettings {
|
|
108 |
'default' => '',
|
109 |
'label' => __('Select a primary category', 'wp-seopress'),
|
110 |
'description' => __('Set the category that gets used in the %category% permalink and in our breadcrumbs if you have multiple categories.', 'wp-seopress'),
|
111 |
-
'options' => self::getRobotPrimaryCats($postType),
|
112 |
'visible' => ('post' === $postType || 'product' === $postType),
|
113 |
],
|
114 |
], $id);
|
7 |
}
|
8 |
|
9 |
abstract class RobotSettings {
|
10 |
+
protected static function getRobotPrimaryCats($id, $postType) {
|
11 |
$cats = get_categories();
|
12 |
|
13 |
if ('product' == $postType) {
|
14 |
+
$cats = get_the_terms($id, 'product_cat');
|
15 |
}
|
16 |
|
17 |
$default = [
|
108 |
'default' => '',
|
109 |
'label' => __('Select a primary category', 'wp-seopress'),
|
110 |
'description' => __('Set the category that gets used in the %category% permalink and in our breadcrumbs if you have multiple categories.', 'wp-seopress'),
|
111 |
+
'options' => self::getRobotPrimaryCats($id, $postType),
|
112 |
'visible' => ('post' === $postType || 'product' === $postType),
|
113 |
],
|
114 |
], $id);
|
@@ -52,6 +52,7 @@ class Organization extends JsonSchemaValue implements GetJsonData {
|
|
52 |
$data = seopress_get_service('VariablesToString')->replaceDataToString($data, $variables);
|
53 |
|
54 |
$type = seopress_get_service('SocialOption')->getSocialKnowledgeType();
|
|
|
55 |
if ('Organization' === $type) {
|
56 |
// Use "contactPoint"
|
57 |
$schema = seopress_get_service('JsonSchemaGenerator')->getJsonFromSchema(ContactPoint::NAME, $context, ['remove_empty'=> true]);
|
52 |
$data = seopress_get_service('VariablesToString')->replaceDataToString($data, $variables);
|
53 |
|
54 |
$type = seopress_get_service('SocialOption')->getSocialKnowledgeType();
|
55 |
+
|
56 |
if ('Organization' === $type) {
|
57 |
// Use "contactPoint"
|
58 |
$schema = seopress_get_service('JsonSchemaGenerator')->getJsonFromSchema(ContactPoint::NAME, $context, ['remove_empty'=> true]);
|
@@ -203,26 +203,28 @@ class DomAnalysis
|
|
203 |
'value' => strtotime($post->post_modified) < strtotime('-365 days')
|
204 |
];
|
205 |
|
|
|
|
|
|
|
206 |
|
207 |
-
$dataOxygen = get_post_meta($post->ID, '_seopress_analysis_data_oxygen', true);
|
208 |
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
}
|
225 |
|
|
|
226 |
}
|
227 |
}
|
228 |
}
|
203 |
'value' => strtotime($post->post_modified) < strtotime('-365 days')
|
204 |
];
|
205 |
|
206 |
+
//Oxygen builder
|
207 |
+
if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) { //disable for Oxygen
|
208 |
+
$dataOxygen = get_post_meta($post->ID, '_seopress_analysis_data_oxygen', true);
|
209 |
|
|
|
210 |
|
211 |
+
if ($dataOxygen) {
|
212 |
+
if(isset($dataOxygen['words_counter'])){
|
213 |
+
$data['words_counter'] = $dataOxygen['words_counter'];
|
214 |
+
}
|
215 |
+
if(isset($dataOxygen['words_counter_unique'])){
|
216 |
+
$data['words_counter_unique'] = $dataOxygen['words_counter_unique'];
|
217 |
+
}
|
218 |
+
if(isset($dataOxygen['kws_density'])){
|
219 |
+
foreach($dataOxygen['kws_density'] as $key => $densities){
|
220 |
+
foreach($densities as $keyDensity => $density){
|
221 |
+
$data['kws_density']['matches'][]= [
|
222 |
+
"key" => $keyDensity,
|
223 |
+
"count" => isset($density[0]) ? count($density[0]) : 0
|
224 |
+
];
|
225 |
+
}
|
|
|
226 |
|
227 |
+
}
|
228 |
}
|
229 |
}
|
230 |
}
|
@@ -10,7 +10,7 @@ class LinkNoFollow
|
|
10 |
{
|
11 |
$data = [];
|
12 |
|
13 |
-
$items = $xpath->query("//a[contains(@rel, 'nofollow')]");
|
14 |
|
15 |
foreach ($items as $link) {
|
16 |
if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) {
|
10 |
{
|
11 |
$data = [];
|
12 |
|
13 |
+
$items = $xpath->query("//a[contains(@rel, 'nofollow') and not(contains(@rel, 'ugc'))]");
|
14 |
|
15 |
foreach ($items as $link) {
|
16 |
if (! preg_match_all('#\b(cancel-comment-reply-link)\b#iu', $link->getAttribute('id'), $m) && ! preg_match_all('#\b(comment-reply-link)\b#iu', $link->getAttribute('class'), $m)) {
|
@@ -12,6 +12,12 @@ class EnqueueModuleMetabox
|
|
12 |
{
|
13 |
$response = true;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
if (isset($_GET['seopress_preview']) || isset($_GET['preview'])) {
|
16 |
$response = false;
|
17 |
}
|
12 |
{
|
13 |
$response = true;
|
14 |
|
15 |
+
global $pagenow;
|
16 |
+
|
17 |
+
if ('widgets.php' == $pagenow) {
|
18 |
+
$response = false;
|
19 |
+
}
|
20 |
+
|
21 |
if (isset($_GET['seopress_preview']) || isset($_GET['preview'])) {
|
22 |
$response = false;
|
23 |
}
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace SEOPress\Services;
|
4 |
+
|
5 |
+
if ( ! defined('ABSPATH')) {
|
6 |
+
exit;
|
7 |
+
}
|
8 |
+
|
9 |
+
class SearchUrl
|
10 |
+
{
|
11 |
+
public function searchByPostName($value) {
|
12 |
+
global $wpdb;
|
13 |
+
|
14 |
+
$limit = apply_filters('seopress_search_url_result_limit', 50);
|
15 |
+
if($limit > 200){
|
16 |
+
$limit = 200;
|
17 |
+
}
|
18 |
+
|
19 |
+
$postTypes = seopress_get_service('WordPressData')->getPostTypes();
|
20 |
+
|
21 |
+
$postTypes = array_map(function($v) {
|
22 |
+
return "'" . esc_sql($v) . "'";
|
23 |
+
}, array_keys($postTypes));
|
24 |
+
|
25 |
+
$data = $wpdb->get_results($wpdb->prepare("
|
26 |
+
SELECT p.id, p.post_title
|
27 |
+
FROM $wpdb->posts p
|
28 |
+
WHERE (
|
29 |
+
p.post_name LIKE %s
|
30 |
+
OR p.post_title LIKE %s
|
31 |
+
)
|
32 |
+
AND p.post_status = 'publish'
|
33 |
+
AND p.post_type IN (" . implode(',',$postTypes) . ")
|
34 |
+
LIMIT %d", '%' . $value . '%', '%' . $value . '%', $limit), ARRAY_A);
|
35 |
+
|
36 |
+
foreach ($data as $key => $value) {
|
37 |
+
$data[$key]['guid'] = get_permalink($value['id']);
|
38 |
+
}
|
39 |
+
return $data;
|
40 |
+
}
|
41 |
+
}
|
@@ -31,6 +31,43 @@ class Single {
|
|
31 |
]);
|
32 |
do_action('wpml_switch_language', $language);
|
33 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
/**
|
31 |
]);
|
32 |
do_action('wpml_switch_language', $language);
|
33 |
});
|
34 |
+
|
35 |
+
|
36 |
+
add_filter('seopress_sitemaps_single_url', function($url, $post) {
|
37 |
+
//Exclude custom canonical from sitemaps
|
38 |
+
if (get_post_meta($post->ID, '_seopress_robots_canonical', true)) {
|
39 |
+
return null;
|
40 |
+
}
|
41 |
+
|
42 |
+
//Exclude hidden languages
|
43 |
+
//@credits WPML compatibility team
|
44 |
+
if (function_exists('icl_object_id') && defined('ICL_SITEPRESS_VERSION')) { //WPML
|
45 |
+
global $sitepress, $sitepress_settings;
|
46 |
+
|
47 |
+
// Check that at least ID is set in post object.
|
48 |
+
if ( ! isset( $post->ID ) ) {
|
49 |
+
return $url;
|
50 |
+
}
|
51 |
+
|
52 |
+
// Get list of hidden languages.
|
53 |
+
$hidden_languages = $sitepress->get_setting( 'hidden_languages', array() );
|
54 |
+
|
55 |
+
// If there are no hidden languages return original URL.
|
56 |
+
if ( empty( $hidden_languages ) ) {
|
57 |
+
return $url;
|
58 |
+
}
|
59 |
+
|
60 |
+
// Get language information for post.
|
61 |
+
$language_info = $sitepress->post_translations()->get_element_lang_code( $post->ID );
|
62 |
+
|
63 |
+
// If language code is one of the hidden languages return null to skip the post.
|
64 |
+
if ( in_array( $language_info, $hidden_languages, true ) ) {
|
65 |
+
return null;
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
return $url;
|
70 |
+
}, 10, 2);
|
71 |
}
|
72 |
|
73 |
/**
|
@@ -30,7 +30,7 @@ class FacebookImageOptionMeta {
|
|
30 |
$value = get_post_meta(get_the_ID(), '_seopress_social_fb_img_attachment_id', true);
|
31 |
}
|
32 |
|
33 |
-
if(empty($value) && '1' === seopress_social_facebook_img_default_option() ){
|
34 |
$options = get_option('seopress_social_option_name');
|
35 |
$value = isset($options['seopress_social_facebook_img_attachment_id']) ? $options['seopress_social_facebook_img_attachment_id'] : null;
|
36 |
}
|
@@ -59,7 +59,7 @@ class FacebookImageOptionMeta {
|
|
59 |
return $this->getMetasBy('url');
|
60 |
}
|
61 |
|
62 |
-
return $this->
|
63 |
}
|
64 |
|
65 |
return '';
|
@@ -73,14 +73,37 @@ class FacebookImageOptionMeta {
|
|
73 |
|
74 |
$postId = attachment_url_to_postid($url);
|
75 |
|
76 |
-
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
|
79 |
|
80 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
$str = '';
|
82 |
|
83 |
$imageSrc = wp_get_attachment_image_src($postId, 'full');
|
|
|
84 |
if(empty($imageSrc)){
|
85 |
return $str;
|
86 |
}
|
30 |
$value = get_post_meta(get_the_ID(), '_seopress_social_fb_img_attachment_id', true);
|
31 |
}
|
32 |
|
33 |
+
if(empty($value) && '1' === seopress_social_facebook_img_default_option() && empty(get_post_meta(get_the_ID(), '_seopress_social_fb_img', true)) ){
|
34 |
$options = get_option('seopress_social_option_name');
|
35 |
$value = isset($options['seopress_social_facebook_img_attachment_id']) ? $options['seopress_social_facebook_img_attachment_id'] : null;
|
36 |
}
|
59 |
return $this->getMetasBy('url');
|
60 |
}
|
61 |
|
62 |
+
return $this->getMetasStringByAttachmentId($id);
|
63 |
}
|
64 |
|
65 |
return '';
|
73 |
|
74 |
$postId = attachment_url_to_postid($url);
|
75 |
|
76 |
+
if(empty($postId) && !empty($url)){
|
77 |
+
return $this->getMetasStringByUrl($url);
|
78 |
+
}
|
79 |
+
|
80 |
+
return $this->getMetasStringByAttachmentId($postId);
|
81 |
}
|
82 |
|
83 |
|
84 |
+
public function getMetasStringByUrl($url){
|
85 |
+
$str = '';
|
86 |
+
|
87 |
+
//OG:IMAGE
|
88 |
+
$str = '';
|
89 |
+
$str .= '<meta property="og:image" content="' . esc_attr($url) . '" />';
|
90 |
+
$str .= "\n";
|
91 |
+
|
92 |
+
//OG:IMAGE:SECURE_URL IF SSL
|
93 |
+
if (is_ssl()) {
|
94 |
+
$str .= '<meta property="og:image:secure_url" content="' . esc_attr($url) . '" />';
|
95 |
+
$str .= "\n";
|
96 |
+
}
|
97 |
+
|
98 |
+
return $str;
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
public function getMetasStringByAttachmentId($postId){
|
103 |
$str = '';
|
104 |
|
105 |
$imageSrc = wp_get_attachment_image_src($postId, 'full');
|
106 |
+
|
107 |
if(empty($imageSrc)){
|
108 |
return $str;
|
109 |
}
|
@@ -23,11 +23,16 @@ class AuthorUrl implements GetTagValue {
|
|
23 |
return $value;
|
24 |
}
|
25 |
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
$value = get_author_posts_url($context['post']->post_author);
|
28 |
}
|
29 |
|
30 |
-
if ($context['is_author'] && is_int(get_queried_object_id())) {
|
31 |
$value = get_author_posts_url(get_queried_object_id());
|
32 |
}
|
33 |
|
23 |
return $value;
|
24 |
}
|
25 |
|
26 |
+
|
27 |
+
if(isset($context['post']->post_author)){
|
28 |
+
$value = get_the_author_meta('user_url', $context['post']->post_author);
|
29 |
+
}
|
30 |
+
|
31 |
+
if ($context['is_single'] && isset($context['post']->post_author) && empty($value)) {
|
32 |
$value = get_author_posts_url($context['post']->post_author);
|
33 |
}
|
34 |
|
35 |
+
if ($context['is_author'] && is_int(get_queried_object_id()) && empty($value)) {
|
36 |
$value = get_author_posts_url(get_queried_object_id());
|
37 |
}
|
38 |
|
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
defined('ABSPATH') or exit('Cheatin’ uh?');
|
4 |
|
5 |
if ('' !== get_query_var('seopress_cpt')) {
|
@@ -29,9 +28,7 @@ if (function_exists('pll_home_url')) {
|
|
29 |
$home_url = apply_filters('seopress_sitemaps_home_url', $home_url);
|
30 |
echo '<?xml version="1.0" encoding="UTF-8"?>';
|
31 |
printf('<?xml-stylesheet type="text/xsl" href="%s"?>', $home_url . 'sitemaps_xsl.xsl');
|
32 |
-
?>
|
33 |
|
34 |
-
<?php
|
35 |
$urlset = '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';
|
36 |
|
37 |
echo apply_filters('seopress_sitemaps_urlset', $urlset);
|
@@ -78,9 +75,8 @@ $args = [
|
|
78 |
'compare' => '!=',
|
79 |
],
|
80 |
],
|
81 |
-
'fields' => 'ids',
|
82 |
'lang' => '',
|
83 |
-
'has_password' => false
|
84 |
];
|
85 |
|
86 |
if ('attachment' === $path) {
|
@@ -96,7 +92,13 @@ if ( $path == 'product' ) {
|
|
96 |
];
|
97 |
}
|
98 |
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
|
101 |
$args = apply_filters('seopress_sitemaps_single_query', $args, $path);
|
102 |
|
@@ -110,8 +112,7 @@ foreach ($postslist as $post) {
|
|
110 |
$modified_date = '';
|
111 |
if (get_the_modified_date('c', $post)) {
|
112 |
$modified_date = get_the_modified_date('c', $post);
|
113 |
-
}
|
114 |
-
else{
|
115 |
$modified_date = get_post_modified_time('c', false, $post);
|
116 |
}
|
117 |
|
@@ -133,7 +134,11 @@ foreach ($postslist as $post) {
|
|
133 |
'images' => [],
|
134 |
];
|
135 |
|
136 |
-
$
|
|
|
|
|
|
|
|
|
137 |
|
138 |
//XML Image Sitemaps
|
139 |
if ('1' == seopress_xml_sitemap_img_enable_option()) {
|
@@ -337,7 +342,9 @@ foreach ($postslist as $post) {
|
|
337 |
}
|
338 |
}
|
339 |
|
340 |
-
$
|
|
|
|
|
341 |
|
342 |
echo apply_filters('seopress_sitemaps_url', $sitemapData, $seopress_url);
|
343 |
}
|
1 |
<?php
|
|
|
2 |
defined('ABSPATH') or exit('Cheatin’ uh?');
|
3 |
|
4 |
if ('' !== get_query_var('seopress_cpt')) {
|
28 |
$home_url = apply_filters('seopress_sitemaps_home_url', $home_url);
|
29 |
echo '<?xml version="1.0" encoding="UTF-8"?>';
|
30 |
printf('<?xml-stylesheet type="text/xsl" href="%s"?>', $home_url . 'sitemaps_xsl.xsl');
|
|
|
31 |
|
|
|
32 |
$urlset = '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';
|
33 |
|
34 |
echo apply_filters('seopress_sitemaps_urlset', $urlset);
|
75 |
'compare' => '!=',
|
76 |
],
|
77 |
],
|
|
|
78 |
'lang' => '',
|
79 |
+
'has_password' => false
|
80 |
];
|
81 |
|
82 |
if ('attachment' === $path) {
|
92 |
];
|
93 |
}
|
94 |
|
95 |
+
// Polylang: remove hidden languages
|
96 |
+
if (function_exists('get_languages_list') && is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) {
|
97 |
+
$languages = PLL()->model->get_languages_list();
|
98 |
+
if ( wp_list_filter( $languages, array( 'active' => false ) ) ) {
|
99 |
+
$args['lang'] = wp_list_pluck( wp_list_filter( $languages, array( 'active' => false ), 'NOT' ), 'slug' );
|
100 |
+
}
|
101 |
+
}
|
102 |
|
103 |
$args = apply_filters('seopress_sitemaps_single_query', $args, $path);
|
104 |
|
112 |
$modified_date = '';
|
113 |
if (get_the_modified_date('c', $post)) {
|
114 |
$modified_date = get_the_modified_date('c', $post);
|
115 |
+
} else {
|
|
|
116 |
$modified_date = get_post_modified_time('c', false, $post);
|
117 |
}
|
118 |
|
134 |
'images' => [],
|
135 |
];
|
136 |
|
137 |
+
$seopress_url = apply_filters( 'seopress_sitemaps_single_url', $seopress_url, $post );
|
138 |
+
|
139 |
+
if (!empty($seopress_url['loc'])) {
|
140 |
+
$sitemapData .= sprintf("\n<url>\n<loc>%s</loc>\n<lastmod>%s</lastmod>", $seopress_url['loc'], $seopress_url['mod']);
|
141 |
+
}
|
142 |
|
143 |
//XML Image Sitemaps
|
144 |
if ('1' == seopress_xml_sitemap_img_enable_option()) {
|
342 |
}
|
343 |
}
|
344 |
|
345 |
+
if (!empty($seopress_url['loc'])) {
|
346 |
+
$sitemapData .= '</url>';
|
347 |
+
}
|
348 |
|
349 |
echo apply_filters('seopress_sitemaps_url', $sitemapData, $seopress_url);
|
350 |
}
|
@@ -1,22 +1,22 @@
|
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
-
'pretty_version' => '5.
|
4 |
-
'version' => '5.
|
5 |
'type' => 'wordpress-plugin',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
-
'reference' => '
|
9 |
'name' => 'wp-seopress/wp-seopress',
|
10 |
'dev' => false,
|
11 |
),
|
12 |
'versions' => array(
|
13 |
'wp-seopress/wp-seopress' => array(
|
14 |
-
'pretty_version' => '5.
|
15 |
-
'version' => '5.
|
16 |
'type' => 'wordpress-plugin',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
-
'reference' => '
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
),
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
+
'pretty_version' => '5.3.x-dev',
|
4 |
+
'version' => '5.3.9999999.9999999-dev',
|
5 |
'type' => 'wordpress-plugin',
|
6 |
'install_path' => __DIR__ . '/../../',
|
7 |
'aliases' => array(),
|
8 |
+
'reference' => '6ae7e90621c7d32884cfbba023a505ad44124995',
|
9 |
'name' => 'wp-seopress/wp-seopress',
|
10 |
'dev' => false,
|
11 |
),
|
12 |
'versions' => array(
|
13 |
'wp-seopress/wp-seopress' => array(
|
14 |
+
'pretty_version' => '5.3.x-dev',
|
15 |
+
'version' => '5.3.9999999.9999999-dev',
|
16 |
'type' => 'wordpress-plugin',
|
17 |
'install_path' => __DIR__ . '/../../',
|
18 |
'aliases' => array(),
|
19 |
+
'reference' => '6ae7e90621c7d32884cfbba023a505ad44124995',
|
20 |
'dev_requirement' => false,
|
21 |
),
|
22 |
),
|