API REST WP ¿Es bastante fácil cambiar el nombre de la parte wi-json uri predeterminada?

4

La API de REST de WP expone mucha información, por lo que filtro los puntos finales que no son necesarios para exponer.

No puedo filtrar todo: por ejemplo, la ubicación de los archivos multimedia necesarios está expuesta.

Como protección adicional, me gustaría mistificar la uri predeterminada.

Me gustaría cambiar, por ejemplo: http://example.com/wp-json/wp/v2/ a http://example.com/mistified/wp/v2/

¿Es esto bastante fácil?

    
pregunta violacase 30.11.2016 - 05:40

2 respuestas

4

Tenga en cuenta que para las versiones actuales de WordPress, usar el filtro json_url_prefix ya no funciona.

En WordPress 4.7 (y utilizando la API REST desde el núcleo en lugar de un complemento), esto es lo que necesitaba para cambiar el prefijo de la API.

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

Si esto no funciona de inmediato, deberás eliminar las reglas de reescritura. Puede ejecutar este fragmento de código una vez para hacerlo (no lo deje en su código para que se ejecute cada vez):

flush_rewrite_rules(true);
    
respondido por el rorymorris89 19.01.2017 - 12:18
0

Podría usar el gancho json_url_prefix para eliminar 'wp-json' en todas las rutas API. El siguiente ejemplo hará el ejemplo en su pregunta:

add_filter( 'json_url_prefix', 'my_theme_api_slug'); 
function my_theme_api_slug( $slug ) { 
    return 'mistified';
}
    
respondido por el Dan. 30.11.2016 - 10:32

Lea otras preguntas en las etiquetas