diff --git a/src/wp-includes/default-filters.php b/src/wp-includes/default-filters.php
index f10dc6f280..beddde2687 100644
--- a/src/wp-includes/default-filters.php
+++ b/src/wp-includes/default-filters.php
@@ -328,7 +328,6 @@ add_action( 'wp_head', 'wp_preload_resources', 1 );
add_action( 'wp_head', 'feed_links', 2 );
add_action( 'wp_head', 'feed_links_extra', 3 );
add_action( 'wp_head', 'rsd_link' );
-add_action( 'wp_head', 'wlwmanifest_link' );
add_action( 'wp_head', 'locale_stylesheet' );
add_action( 'publish_future_post', 'check_and_publish_future_post', 10, 1 );
add_action( 'wp_head', 'wp_robots', 1 );
diff --git a/src/wp-includes/deprecated.php b/src/wp-includes/deprecated.php
index 76f049df78..ffc26afdb1 100644
--- a/src/wp-includes/deprecated.php
+++ b/src/wp-includes/deprecated.php
@@ -4627,3 +4627,15 @@ function _resolve_home_block_template() {
'postId' => $template->id,
);
}
+
+/**
+ * Displays the link to the Windows Live Writer manifest file.
+ *
+ * @link https://msdn.microsoft.com/en-us/library/bb463265.aspx
+ * @since 2.3.1
+ * @deprecated 6.3.0 WLW manifest is no longer in use and no longer included in core,
+ * so the output from this function is removed.
+ */
+function wlwmanifest_link() {
+ _deprecated_function( __FUNCTION__, '6.3.0' );
+}
diff --git a/src/wp-includes/general-template.php b/src/wp-includes/general-template.php
index f35f327962..39d79e19f2 100644
--- a/src/wp-includes/general-template.php
+++ b/src/wp-includes/general-template.php
@@ -3372,19 +3372,6 @@ function rsd_link() {
);
}
-/**
- * Displays the link to the Windows Live Writer manifest file.
- *
- * @link https://msdn.microsoft.com/en-us/library/bb463265.aspx
- * @since 2.3.1
- */
-function wlwmanifest_link() {
- printf(
- '' . "\n",
- includes_url( 'wlwmanifest.xml' )
- );
-}
-
/**
* Displays a referrer `strict-origin-when-cross-origin` meta tag.
*
diff --git a/src/wp-includes/https-detection.php b/src/wp-includes/https-detection.php
index 9ef7b2bdc5..1ef3fb8c59 100644
--- a/src/wp-includes/https-detection.php
+++ b/src/wp-includes/https-detection.php
@@ -208,14 +208,7 @@ function wp_is_local_html_output( $html ) {
return false !== strpos( $html, $pattern );
}
- // 2. Check if HTML includes the site's Windows Live Writer manifest link.
- if ( has_action( 'wp_head', 'wlwmanifest_link' ) ) {
- // Try both HTTPS and HTTP since the URL depends on context.
- $pattern = preg_replace( '#^https?:(?=//)#', '', includes_url( 'wlwmanifest.xml' ) ); // See wlwmanifest_link().
- return false !== strpos( $html, $pattern );
- }
-
- // 3. Check if HTML includes the site's REST API link.
+ // 2. Check if HTML includes the site's REST API link.
if ( has_action( 'wp_head', 'rest_output_link_wp_head' ) ) {
// Try both HTTPS and HTTP since the URL depends on context.
$pattern = preg_replace( '#^https?:(?=//)#', '', esc_url( get_rest_url() ) ); // See rest_output_link_wp_head().
diff --git a/src/wp-includes/images/wlw/wp-comments.png b/src/wp-includes/images/wlw/wp-comments.png
deleted file mode 100644
index 6bc3d523f4..0000000000
Binary files a/src/wp-includes/images/wlw/wp-comments.png and /dev/null differ
diff --git a/src/wp-includes/images/wlw/wp-icon.png b/src/wp-includes/images/wlw/wp-icon.png
deleted file mode 100644
index c3523833aa..0000000000
Binary files a/src/wp-includes/images/wlw/wp-icon.png and /dev/null differ
diff --git a/src/wp-includes/images/wlw/wp-watermark.png b/src/wp-includes/images/wlw/wp-watermark.png
deleted file mode 100644
index 8385c7902b..0000000000
Binary files a/src/wp-includes/images/wlw/wp-watermark.png and /dev/null differ
diff --git a/src/wp-includes/wlwmanifest.xml b/src/wp-includes/wlwmanifest.xml
deleted file mode 100644
index 8e9b021ddb..0000000000
--- a/src/wp-includes/wlwmanifest.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
- WordPress
- Yes
- Yes
-
-
-
- WordPress
- images/wlw/wp-icon.png
- images/wlw/wp-watermark.png
- View site
- Dashboard
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/phpunit/tests/https-detection.php b/tests/phpunit/tests/https-detection.php
index a30ceb146e..820f39fc6e 100644
--- a/tests/phpunit/tests/https-detection.php
+++ b/tests/phpunit/tests/https-detection.php
@@ -196,39 +196,11 @@ class Tests_HTTPS_Detection extends WP_UnitTestCase {
$this->assertFalse( wp_is_local_html_output( $html ) );
}
- /**
- * @ticket 47577
- */
- public function test_wp_is_local_html_output_via_wlwmanifest_link() {
- remove_action( 'wp_head', 'rsd_link' );
-
- // HTML includes WLW manifest link.
- $head_tag = get_echo( 'wlwmanifest_link' );
- $html = $this->get_sample_html_string( $head_tag );
- $this->assertTrue( wp_is_local_html_output( $html ) );
-
- // HTML includes modified WLW manifest link but same URL.
- $head_tag = str_replace( ' />', '>', get_echo( 'wlwmanifest_link' ) );
- $html = $this->get_sample_html_string( $head_tag );
- $this->assertTrue( wp_is_local_html_output( $html ) );
-
- // HTML includes WLW manifest link with alternative URL scheme.
- $head_tag = get_echo( 'wlwmanifest_link' );
- $head_tag = false !== strpos( $head_tag, 'https://' ) ? str_replace( 'https://', 'http://', $head_tag ) : str_replace( 'http://', 'https://', $head_tag );
- $html = $this->get_sample_html_string( $head_tag );
- $this->assertTrue( wp_is_local_html_output( $html ) );
-
- // HTML does not include WLW manifest link.
- $html = $this->get_sample_html_string();
- $this->assertFalse( wp_is_local_html_output( $html ) );
- }
-
/**
* @ticket 47577
*/
public function test_wp_is_local_html_output_via_rest_link() {
remove_action( 'wp_head', 'rsd_link' );
- remove_action( 'wp_head', 'wlwmanifest_link' );
// HTML includes REST API link.
$head_tag = get_echo( 'rest_output_link_wp_head' );
@@ -256,7 +228,6 @@ class Tests_HTTPS_Detection extends WP_UnitTestCase {
*/
public function test_wp_is_local_html_output_cannot_determine() {
remove_action( 'wp_head', 'rsd_link' );
- remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'rest_output_link_wp_head' );
// The HTML here doesn't matter because all hooks are removed.