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

PHP 8.5: "Using null as an array offset" deprecation in acf_pro_options_page::get_page() (pro/options-page.php:226)

Abierto Apto para principiantes
#1,034 2 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
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
php
Área
backend

Línea de trabajo

Comience en pro/options-page.php, en acf_pro_options_page::get_page(), y después reproduzca la deprecación de PHP 8.5 con WP_DEBUG y WP_DEBUG_LOG habilitados. Asegúrese de que los slugs null y vacíos conserven su comportamiento existente sin registrar la deprecación; revise también los patrones relacionados de desplazamiento de arrays en las líneas 140, 145 y 207.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Describe the bug
On PHP 8.5, ACF PRO 6.8.9 logs this on a large share of requests — about 850 entries a day on our site:

PHP Deprecated: Using null as an array offset is deprecated, use an empty string instead in wp-content/plugins/advanced-custom-fields-pro/pro/options-page.php on line 226

Line 226 is the body of acf_pro_options_page::get_page():

function get_page( $slug ) {

	return isset( $this->pages[ $slug ] ) ? $this->pages[ $slug ] : null;
}

It is being called with $slug === null, and PHP 8.5 deprecates using null as an array offset.

To Reproduce

  1. Run ACF PRO 6.8.9 on PHP 8.5 with WP_DEBUG and WP_DEBUG_LOG enabled, on a site with options pages registered.
  2. Load front-end and admin pages.
  3. See the deprecation in wp-content/debug.log.

We have not pinned down which caller passes the null slug; anything that reaches get_page() with null triggers it.

Expected behavior
No deprecation. A null key has always addressed the same array entry as '', so converting it first changes nothing about what the method returns:

function get_page( $slug ) {

	if ( null === $slug ) {
		$slug = '';
	}

	return isset( $this->pages[ $slug ] ) ? $this->pages[ $slug ] : null;
}

Tested on PHP 8.5: get_page( null ) still returns the page stored under '', normal and missing slugs behave as before, and the deprecation no longer appears in our log (250 entries in the 40 minutes before the change).

Screenshots or Video
Not applicable — the log line is quoted above.

Code
No field group export needed; the notice comes from pro/options-page.php itself.

Version Information:

  • WordPress Version 7.1
  • PHP Version 8.5.8
  • ACF Version ACF PRO 6.8.9
  • Browser not applicable (server-side)

Additional context
The same $this->pages[ $slug ] pattern also appears on lines 140, 145 and 207 of pro/options-page.php. They are not firing for us, but they would raise the same notice if they ever received a null slug, so they may be worth the same guard.

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.