Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ACF prevents some REST responses

Abierto
#988 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
php, wordpress
Área
api, backend

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

  1. 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.
);
  1. 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de AdvancedCustomFields/acf

Todos los issues de AdvancedCustomFields/acf

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.