Does anyone know how to remove the WordPress JSON API links in the header tag?
<head>
...
<link rel="https://api.w.org/" href="http://example.com/wp-json/" />
<link rel="alternate" type="application/json+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
<link rel="alternate" type="text/xml+oembed" href="http://example.com/wp-json/oembed/1.0/embed?url=..." />
</head>
I’d like to avoid using a plugin. If possible, is there a way to remove them with the remove_action function?
remove_action( 'wp_head', 'rsd_link' );
I see in filters.php “add_action( ‘wp_head’, ‘rest_output_link_wp_head’, 10, 0 )” Which makes me think this should do the trick to remove rel="https://api.w.org/"
.
remove_action( 'wp_head', 'rest_output_link_wp_head' );
The rest… * cough * seem to be in default-filters.php
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
To remove the rest_output_link_header
remove_action( 'template_redirect', 'rest_output_link_header', 11 );
Reference
- wp_oembed_add_discovery_links
- rest_output_link_wp_head
- rest_output_link_header