Ayuda para excluir usuarios en PHP

  • Autor Autor Sabogal
  • Fecha de inicio Fecha de inicio
Sabogal

Sabogal

Épsilon
Verificación en dos pasos activada
Verificado por Binance
Intento excluir dos usuarios pero el array no me funciona:

PHP:
<?php  if(get_the_author_meta('ID') != array(1,19)) : ?>

¿Qué estoy haciendo mal?

Gracias.
 
Cuando le especificas un field a la función, en este caso ID, esa función devuelve una cadena, que es incomparable con un array. Aquí está la documentación de la función get_the_author_meta: get_the_author_meta() | Function | WordPress Developer Resources. Y se especifica que devuelve una STRING en el apartado RETURN.

Para hacer la comparación, con un AND podrías hacerlo así:
PHP:
<?php if(get_the_author_meta('ID') != "1" && get_the_author_meta('ID') != "19") : ?>
HTML
<?php endif; ?>

También podrías usar la función in_array, que sirve para comprobar que un valor esté en una matriz. Así:
PHP:
<?php if(!in_array(get_the_author_meta('ID'), array(1,19))) : ?>
HTML
<?php endif; ?>

Fijate que he usado un ! para negar la condición. Si se encuentra el id del autor dentro del array, in_array devuelve true, pero como está negada devuelve false (si el usuario está dentro de la matriz, entonces no se ejecuta). No he probado nada, pero teóricamente lo veo bien :indecisiveness: . Indudablemente te recomendaría hacerlo con el segundo método, ya que utiliza mejor la definición de matriz. Tal vez definiría las variables fuera de la condición, pero así debería funcionar bien :encouragement:
 
Gracias.

Ha funcionado muy bien.

Saludos
 
Atrás
Arriba