diff --git a/admin/class-gutenberg-compatibility.php b/admin/class-gutenberg-compatibility.php index 1ce0ca1213a..b53ec432eea 100644 --- a/admin/class-gutenberg-compatibility.php +++ b/admin/class-gutenberg-compatibility.php @@ -15,14 +15,14 @@ class WPSEO_Gutenberg_Compatibility { * * @var string */ - const CURRENT_RELEASE = '16.7.0'; + const CURRENT_RELEASE = '16.7.1'; /** * The minimally supported version of Gutenberg by the plugin. * * @var string */ - const MINIMUM_SUPPORTED = '16.7.0'; + const MINIMUM_SUPPORTED = '16.7.1'; /** * Holds the current version. diff --git a/admin/class-premium-upsell-admin-block.php b/admin/class-premium-upsell-admin-block.php index 599517e34fd..572e20601c3 100644 --- a/admin/class-premium-upsell-admin-block.php +++ b/admin/class-premium-upsell-admin-block.php @@ -80,6 +80,8 @@ public function render() { $button_text ); + echo '
'; + if ( YoastSEO()->classes->get( Promotion_Manager::class )->is( 'black-friday-2023-promotion' ) ) { $bf_label = \esc_html__( 'BLACK FRIDAY', 'wordpress-seo' ); $sale_label = \esc_html__( '30% OFF', 'wordpress-seo' ); @@ -87,8 +89,7 @@ public function render() { echo "
$bf_label $sale_label
"; } - echo '
'; - echo '
'; + echo '
'; echo '

' . sprintf( /* translators: %s expands to Yoast SEO Premium */ diff --git a/admin/views/licenses.php b/admin/views/licenses.php index a9ba9805597..e11f750746e 100644 --- a/admin/views/licenses.php +++ b/admin/views/licenses.php @@ -129,14 +129,19 @@ esc_html__( '(Opens in a new browser tab)', 'wordpress-seo' ) ); -$sale_badge = ''; +$sale_badge = ''; +$premium_sale_badge = ''; if ( YoastSEO()->classes->get( Promotion_Manager::class )->is( 'black-friday-2023-promotion' ) ) { /* translators: %1$s expands to opening span, %2$s expands to closing span */ $sale_badge_span = sprintf( esc_html__( '%1$sSALE 30%% OFF!%2$s', 'wordpress-seo' ), '', '' ); $sale_badge = '
' . $sale_badge_span . '
'; + + $premium_sale_badge = ( $has_valid_premium_subscription ) ? '' : $sale_badge; + } + ?>
@@ -145,7 +150,7 @@
- +

block.isValid ); } // Make a data structure for the paper data. diff --git a/packages/js/src/decorator/gutenberg.js b/packages/js/src/decorator/gutenberg.js index c648f142274..cc26ecec918 100644 --- a/packages/js/src/decorator/gutenberg.js +++ b/packages/js/src/decorator/gutenberg.js @@ -285,7 +285,7 @@ function removeAllAnnotationsFromBlock( blockClientId ) { * @returns {void} */ export function reapplyAnnotationsForSelectedBlock() { - const block = select( "core/editor" ).getSelectedBlock(); + const block = select( "core/block-editor" ).getSelectedBlock(); const activeMarkerId = select( "yoast-seo/editor" ).getActiveMarker(); if ( ! block || ! activeMarkerId ) { diff --git a/packages/yoastseo/spec/scoring/assessments/seo/SingleH1AssessmentSpec.js b/packages/yoastseo/spec/scoring/assessments/seo/SingleH1AssessmentSpec.js index bd7bf54bb27..0b8dd856975 100644 --- a/packages/yoastseo/spec/scoring/assessments/seo/SingleH1AssessmentSpec.js +++ b/packages/yoastseo/spec/scoring/assessments/seo/SingleH1AssessmentSpec.js @@ -57,21 +57,21 @@ describe( "An assessment to check whether there is more than one H1 in the text" describe( "A test for marking incorrect H1s in the body", function() { it( "returns markers for incorrect H1s in the body", function() { - const mockPaper = new Paper( "

a paragraph

heading

" ); + const mockPaper = new Paper( "

a paragraph

this is a heading

" ); const mockResearcher = new EnglishResearcher( mockPaper ); buildTree( mockPaper, mockResearcher ); h1Assessment.getResult( mockPaper, mockResearcher ); const expected = [ new Mark( { - original: "

heading

", - marked: "

heading

", + original: "

this is a heading

", + marked: "

this is a heading

", position: { - startOffset: 22, - endOffset: 29, clientId: "", - endOffsetBlock: 7, + startOffset: 22, + endOffset: 56, startOffsetBlock: 0, + endOffsetBlock: 34, } } ), ]; diff --git a/packages/yoastseo/src/pluggable.js b/packages/yoastseo/src/pluggable.js index e5dd5717ad0..f953327980f 100644 --- a/packages/yoastseo/src/pluggable.js +++ b/packages/yoastseo/src/pluggable.js @@ -119,7 +119,7 @@ Pluggable.prototype._reloaded = function( pluginName ) { * @param {string} pluginName The plugin that is registering the modification. * @param {number} priority (optional) Used to specify the order in which the callables associated with a particular filter are called. * Lower numbers correspond with earlier execution. - * @returns {boolean} Whether or not applying the hook was successfull. + * @returns {boolean} Whether or not applying the hook was successful. */ Pluggable.prototype._registerModification = function( modification, callable, pluginName, priority ) { if ( typeof modification !== "string" ) { diff --git a/packages/yoastseo/src/scoring/assessments/seo/SingleH1Assessment.js b/packages/yoastseo/src/scoring/assessments/seo/SingleH1Assessment.js index e845fc57405..e644919ef67 100644 --- a/packages/yoastseo/src/scoring/assessments/seo/SingleH1Assessment.js +++ b/packages/yoastseo/src/scoring/assessments/seo/SingleH1Assessment.js @@ -99,7 +99,7 @@ class SingleH1Assessment extends Assessment { startOffset: h1.position.startOffset, endOffset: h1.position.endOffset, startOffsetBlock: 0, - endOffsetBlock: h1.content.length, + endOffsetBlock: h1.position.endOffset - h1.position.startOffset, clientId: h1.position.clientId, }, } ); diff --git a/wp-seo-main.php b/wp-seo-main.php index 137c55e8490..1f06571a89a 100644 --- a/wp-seo-main.php +++ b/wp-seo-main.php @@ -15,7 +15,7 @@ * {@internal Nobody should be able to overrule the real version number as this can cause * serious issues with the options, so no if ( ! defined() ).}} */ -define( 'WPSEO_VERSION', '21.4-RC3' ); +define( 'WPSEO_VERSION', '21.4-RC4' ); if ( ! defined( 'WPSEO_PATH' ) ) { diff --git a/wp-seo.php b/wp-seo.php index cdf0489f9ab..def76d6adf5 100644 --- a/wp-seo.php +++ b/wp-seo.php @@ -8,7 +8,7 @@ * * @wordpress-plugin * Plugin Name: Yoast SEO - * Version: 21.4-RC3 + * Version: 21.4-RC4 * Plugin URI: https://yoa.st/1uj * Description: The first true all-in-one SEO solution for WordPress, including on-page content analysis, XML sitemaps and much more. * Author: Team Yoast