Supprimer les liens API JSON dans l'en-tête html
3 réponses
- votes
-
- 2015-12-10
Je vois dansfilters.php "add_action ('wp_head','rest_output_link_wp_head',10,0)" Ce quime faitpenser que cela devraitfaire l'affairepour supprimer
rel='https://api.w.org/'
.remove_action( 'wp_head', 'rest_output_link_wp_head' );
Le reste ... * toux * semble être dans default-filters.php
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
Pour supprimer le rest_output_link_header
remove_action( 'template_redirect', 'rest_output_link_header', 11 );
Référence
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
-
mercimais celane supprimepas le lien `api.w.org`pourmoi.thanks but this does not remove the `api.w.org` link for me.
- 1
- 2015-12-16
- IXN
-
Je les aitousessayés,mais l'en-tête api.w.orgne bougerapas!Celane sembleplusfonctionner dans les versions récentes de wordpress.Tried all of them, but the api.w.org header won't budge! This no longer seems to work in the recent wordpress versions.
- 0
- 2018-07-21
- Prahlad Yeri
-
D'accord,ça amarché!Il s'avère que vous devezmettre cela dans lethème `function.php`.J'essayais demettre cela dansmonpluginpersonnalisépour qu'ilfonctionnepourtous lesthèmes,mais apparemment celane fonctionnepas.All right, it worked! Turns out you have to put this in the theme's `function.php`. I was trying to put this in my custom plugin so that it works for all themes, but apparently that doesn't work.
- 2
- 2018-07-21
- Prahlad Yeri
-
- 2015-12-20
Cettefonctionpersonnalisée devrait aider à supprimertous les liens dans l'en-têteet lepied depage - vouspouvez leplacer dans lefichier
functions.php
de votrethème actif;function remove_json_api () { // Remove the REST API lines from the HTML Header remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 ); // Remove the REST API endpoint. remove_action( 'rest_api_init', 'wp_oembed_register_route' ); // Turn off oEmbed auto discovery. add_filter( 'embed_oembed_discover', '__return_false' ); // Don't filter oEmbed results. remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 ); // Remove oEmbed discovery links. remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); // Remove oEmbed-specific JavaScript from the front-end and back-end. remove_action( 'wp_head', 'wp_oembed_add_host_js' ); // Remove all embeds rewrite rules. add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' ); } add_action( 'after_setup_theme', 'remove_json_api' );
Et cetextrait de code désactive complètement l'API RESTet affiche le contenu ci-dessous lorsque vous visitez
http://example.com/wp-json/
,étaientexample.com
est lenom de domaine de votre site Web;{"code":"rest_disabled","message":"The REST API is disabled on this site."}
Pour désactiver l'API REST WordPress,utilisez l'extrait ci-dessous;
function disable_json_api () { // Filters for WP-API version 1.x add_filter( 'json_enabled', '__return_false' ); add_filter( 'json_jsonp_enabled', '__return_false' ); // Filters for WP-API version 2.x add_filter( 'rest_enabled', '__return_false' ); add_filter( 'rest_jsonp_enabled', '__return_false' ); } add_action( 'after_setup_theme', 'disable_json_api' );
This custom function should help removing all links in the header and footer - you may put it inside the
functions.php
file of your active theme;function remove_json_api () { // Remove the REST API lines from the HTML Header remove_action( 'wp_head', 'rest_output_link_wp_head', 10 ); remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 ); // Remove the REST API endpoint. remove_action( 'rest_api_init', 'wp_oembed_register_route' ); // Turn off oEmbed auto discovery. add_filter( 'embed_oembed_discover', '__return_false' ); // Don't filter oEmbed results. remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 ); // Remove oEmbed discovery links. remove_action( 'wp_head', 'wp_oembed_add_discovery_links' ); // Remove oEmbed-specific JavaScript from the front-end and back-end. remove_action( 'wp_head', 'wp_oembed_add_host_js' ); // Remove all embeds rewrite rules. add_filter( 'rewrite_rules_array', 'disable_embeds_rewrites' ); } add_action( 'after_setup_theme', 'remove_json_api' );
And this snippet completely disable the REST API and shows the content below when you visit
http://example.com/wp-json/
, wereexample.com
is the domain name of your website;{"code":"rest_disabled","message":"The REST API is disabled on this site."}
In order to disable WordPress REST API, use the snippet below;
function disable_json_api () { // Filters for WP-API version 1.x add_filter( 'json_enabled', '__return_false' ); add_filter( 'json_jsonp_enabled', '__return_false' ); // Filters for WP-API version 2.x add_filter( 'rest_enabled', '__return_false' ); add_filter( 'rest_jsonp_enabled', '__return_false' ); } add_action( 'after_setup_theme', 'disable_json_api' );
-
Est-ilnécessaire de supprimer `wp_oembed_add_discovery_links` de latête deuxfois avec despriorités différentes ouest-ce unefaute defrappe?Is it necessary to remove `wp_oembed_add_discovery_links` from the head twice with different priorities or is that a typo?
- 0
- 2016-04-05
- Bryan Willis
-
Aussi dans `disable_json_api ()` si vous utilisez le dernier wordpress,pouvons-nous simplementinclure lesfiltres de la version 2.x ou les deux sont-ilsnécessaires?Also in the `disable_json_api()` if using the latest wordpress can we just include the version 2.x filters or are both needed?
- 0
- 2016-04-05
- Bryan Willis
-
Lafonctionpersonnaliséene contientpas lafonction `disable_embeds_rewrites`.La source complètepeut êtretrouvée à https://github.com/swissspidy/disable-embeds/blob/master/disable-embeds.php.The custom function is missing the function `disable_embeds_rewrites`. The complete source can be found at https://github.com/swissspidy/disable-embeds/blob/master/disable-embeds.php.
- 3
- 2016-06-14
- Drakes
-
@Drakes Oui,vous avez raison.Ilmanque car ce coden'apas étémis àjour depuis sapublication l'année dernière.Pourquoine pasmodifier/mettre àjour l'extrait ci-dessuspour aider les autresici à laplace?Ce serait utileet pratique;)@Drakes Yes, you're right. It's missing it because this code hasn't been updated since it has been posted last year. Why not modify/update the snippet above to help others here instead? That would be helpful and handy ;)
- 0
- 2016-06-15
- Jentan Bernardus
-
Je vais laisser cela à votre discrétion.I'll leave that entirely to your discretion.
- 0
- 2016-06-15
- Drakes
-
Je recommandeplutôt d'utiliser leplugin Disable Embeds au lieu den'en copier que lamoitié dans votreplugin outhème.C'estplus évolutif.I'd rather recommend to use the Disable Embeds plugin instead of copying only half of it into your plugin or theme. It's more future-proof.
- 1
- 2017-02-20
- swissspidy
-
`rest_enabled`est obsolète depuis la version 4.7.0`rest_enabled` is deprecated since version 4.7.0
- 0
- 2017-12-08
- Max Yudin
-
- 2020-05-10
Lameilleure solutionet unmoyen simple de désactiver les liens de découverte oEmbedet wp-embed.min.js consiste à ajouter cetextrait de code dans votrethème (
function.php
).remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 ); remove_action( 'wp_head', 'wp_oembed_add_host_js' ); remove_action('rest_api_init', 'wp_oembed_register_route'); remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
J'espère que celapeut aider quelqu'un car les solutions ci-dessusne fonctionnentpaspourmoi lorsquej'utilise la dernière version de WordPress.
The best solution and easy way to disable oEmbed discovery links and wp-embed.min.js is by adding this code snippet in your theme (
function.php
).remove_action( 'wp_head', 'wp_oembed_add_discovery_links', 10 ); remove_action( 'wp_head', 'wp_oembed_add_host_js' ); remove_action('rest_api_init', 'wp_oembed_register_route'); remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
Hope this can help someone as the above solutions don't work for me while using the latest version of WordPress.
Quelqu'un sait-il comment supprimer les liens de l'API JSON WordPress dans labalise d'en-tête?
Je voudrais éviter d'utiliser unplugin.Sipossible,existe-t-il unmoyen de les supprimer avec lafonction remove_action?