web-dev-qa-db-fra.com

WP REST API Est-il facile de renommer la partie wp-json par défaut?

L'API WP REST expose beaucoup d'informations. Je filtre donc les points de terminaison inutiles.

Je ne peux pas tout filtrer: l'emplacement des fichiers multimédias nécessaires est exposé, par exemple.

En guise de protection supplémentaire, j'aimerais mystifier le uri par défaut.

Je voudrais changer par exemple: http://example.com/wp-json/wp/v2/ à http://example.com/mistified/wp/v2/

Est-ce plutôt facile possible?

8
violacase

Veuillez noter que pour les versions actuelles de WordPress, l’utilisation du filtre json_url_prefix ne fonctionne plus.

Sur WordPress 4.7 (et en utilisant l'API REST du noyau au lieu d'un plugin), voici ce dont j'avais besoin pour changer le préfixe de l'API.

add_filter( 'rest_url_prefix', 'my_theme_api_slug'); 
function my_theme_api_slug( $slug ) { return 'api'; }

Si cela ne fonctionne pas tout de suite, vous devrez effacer les règles de réécriture. Vous pouvez exécuter ce morceau de code une fois pour le faire (ne le laissez pas dans votre code, il sera exécuté à tout moment):

flush_rewrite_rules(true);
7
rorymorris89

Vous pouvez utiliser le crochet json_url_prefix pour supprimer 'wp-json' sur tous les itinéraires d'API. L'exemple ci-dessous fera l'exemple de votre question:

add_filter( 'json_url_prefix', 'my_theme_api_slug'); 
function my_theme_api_slug( $slug ) { 
    return 'mistified';
}
0
Dan.