Pregunta sobre FeedWordPress de Wordpress:

count (): contable debe ser una matriz o un parámetro de objeto que se aplique

Un usuario preguntó 👇

Mientras ejecuto PHP 7.4, recibo la siguiente advertencia en los registros:

PHP Warning: count(): Parameter must be an array or an object that implements Countable

Este está conectado a la línea 302 de feedwordpress/syndicatedlink.class.php (al menos versión 2017.1020.), que va

if (count($tombstones) > 0) :

Ahora, cuando la variable $tombstones por ejemplo, un NULL, esto fallará porque NULL no es una matriz ni un objeto. Las versiones anteriores de PHP igualarían cualquier tipo de error con el valor cero (o FALSE), lo que significa que podría ser un poco más descuidado con los cheques como el anterior. Las versiones contemporáneas de PHP tienen más demanda, incluso si a menudo son solo una advertencia y no un error. En este caso, un arreglo simple es cambiar la línea 302 a:

if (is_countable($tombstones) && count($tombstones) > 0) :

is_countable() introducido en PHP 7.3 solo para este propósito.

Puede haber más casos como este en el resto del código, pero, hasta ahora, soluciona fácilmente la advertencia (y la protege en el futuro si los desarrolladores de PHP deciden convertir esta advertencia en particular en un error fatal, lo que tiene una buena probabilidad de de hacerse en el tiempo …).

FeedWordPress no tiene muchas actualizaciones (solo funciona…), pero tal vez uno de estos días los desarrolladores de este gran plugin podrían hacer esta pequeña corrección. ¡Gracias!

Lanzador de hilos

(@gwynethllewelyn)

Hace 1 año, 1 mes

Nota para usted mismo: hace solo cinco días, se hizo un arreglo para enviarlo al repositorio de GitHub donde se mantiene FeedWordPress, que aborda este mismo problema: https://github.com/radgeek/feedwordpress/pull/110

El desarrollador que hizo el cambio abordó la situación específicamente cuando $tombstones se convierte en NULL utilizando código compatible con versiones de PHP anteriores a 7.3 (no se verifican otros escenarios posibles).

Ahora solo necesitamos lanzar la nueva versión públicamente 😀

(@radgeek)

hace 1 año

Hola, solo quiero hacerle saber que he enviado todos los cambios que están actualmente en github a la tienda de plugins de WordPress. ¡Avísame si esto te resuelve el problema, si todo parece ser el caso, etc.! -C

Lanzador de hilos

(@gwynethllewelyn)

Hace 10 meses, 3 semanas

¡Muchas gracias! Olvidé revisar este hilo, pero creo que puede marcarlo con seguridad como cerrado / fijo / resuelto.

Lanzador de hilos

(@gwynethllewelyn)

Hace 10 meses, 2 semanas

… ¡Ups! Ahora PHP se queja de la línea 708 in. syndicatedpost.class.php. El culpable está en public function author (), y la línea es relevante

if (count($aa) > 0) :

La solución desde PHP 7.3 en adelante es:

if (is_countable($aa) && count($aa) > 0) :

Para versiones anteriores, hay una solución disponible en las notas para es_contable ().

(@radgeek)

Hace 5 meses, 3 semanas

Gracias por el truco de esto. Me encargaré de esta línea. Quiero saber si tiene la URL de un feed que le da esta advertencia. (Si no es así, no se preocupe, entiendo que ha pasado un tiempo. Pero si tiene la URL, sería útil ya que me brinda un caso de prueba para una condición que me gustaría recordar probar).

¡Gracias! Responderé nuevamente y cerraré este hilo cuando se aplique el cambio.

(@wordpresstator)

Hace 2 meses

¡Hola!

Tengo una advertencia similar: count () * después de actualizar PHP a 7.4: https://frg-oy.com/

¿Alguna ayuda? ¡Gracias por adelantado!

* Advertencia: count (): el parámetro debe ser una matriz u objeto aplicado por un Count en /homepages/29/d395190552/htdocs/clickandbuilds/FRGWorldwideOy/wp-includes/post-template.php en línea 317

(@jovialcore)

Hace 2 meses

Hola … ¿Intentaste reconciliarte con @gwynethllewelyn ???

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *