ACF prevents some REST responses
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 58/100
Línea de trabajo
Localiza la clase ACF_Rest_Api y sigue su callback de inicialización rest_pre_dispatch, especialmente las ramas rest_api_enabled y rest_api_embed_links. Reproduce el comportamiento con el filtro proporcionado y verifica que una respuesta WP_Error personalizada con menor prioridad siga siendo efectiva cuando ACF está habilitado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
If another plugin uses the filter rest_pre_dispatch to make the REST API to return a custom response, ACF prevents it.
To Reproduce
- This code should stop any REST request:
add_filter(
'rest_pre_dispatch',
static function ( $response ) {
return new WP_Error( 'oh_no', __( 'Oh no no no no no.' ), array( 'status' => 404 ) );
},
5 // Lower than 10.
);
- But with ACF enabled, it doesn't happen.
Code
class ACF_Rest_Api {
// ...
public function __construct() {
add_filter( 'rest_pre_dispatch', array( $this, 'initialize' ), 10, 3 );
add_action( 'rest_api_init', array( $this, 'register_field' ) );
}
public function initialize( $response, $handler, $request ) {
if ( ! acf_get_setting( 'rest_api_enabled' ) ) {
return; // Should return `$response`.
}
// ...
if ( acf_get_setting( 'rest_api_embed_links' ) ) {
$this->embed_links = new ACF_Rest_Embed_Links();
$this->embed_links->initialize();
}
// Should return `$response`.
}
// ...
}
Version Information:
- WordPress Version 6.9-beta3
- PHP Version 8.0.29
- ACF Version 6.6.2
- "Browser" Insomnia 12
- Lenguaje dominante
- PHP
- Estrellas
- 946
- Forks
- 197
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de AdvancedCustomFields/acf
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1041 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
AdvancedCustomFields/acf#1038 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1034 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
AdvancedCustomFields/acf#1032 · 1 comentario ·
-
Drop trap, acf_after_titleAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AdvancedCustomFields/acf#1029 · 1 comentario ·
Todos los issues de AdvancedCustomFields/acf
Issues similares
-
sync-en
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
bug Feature: Kiosk
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Infrastructure: actions Module: zmscitizenapi Module: zmsentities php Type: Bug unit tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
it-at-m/eappointment#3480 ·
Los mantenedores suelen responder en 1 día
-
HttpClient
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
CI: composer install fails — league/flysystem 1.x blocked by security advisory GHSA-cxf4-7mrp-vvprAbiertodevops type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día