Estoy trabajando en un sitio web que alterna la sección dependiendo de la ID, creé este código pero noté que uno de mis parámetros no funciona correctamente

$fb_prac = array('34565', '34565', '1212', '1192', '1219', '1180', '1234','1186', '1221'); 
if (get_the_ID() != ('34565' or '34565' or '1212' or '1192' or '1219' or '1180' or '1234' or '1221')) {
    include 'facebook.html';}
    else {
        if (get_the_ID() == '1186') {
         include 'facebook-1186.html';}else{
    echo do_shortcode('[facebook_card]');}}

El ID que apunta a 1186 está bien y el otro que hace eco del código de disparo está bien, PERO la matriz con los ID que apuntan a facebook.html no se carga. ¿Hay algo mal con mi sintaxis? Cualquier ayuda es apreciada

php
0
Danny Portal 17 dic. 2019 a las 23:38

2 respuestas

Estoy leyendo la lógica de esta manera, si la identificación coincide con 1186 incluye facebook-1186.html, si la identificación NO está en tu matriz $ fb_prac, entonces incluye facebook.html. De lo contrario, haz el shortcode.

<?php

$fb_prac = array('34565', '34565', '1212', '1192', '1219', '1180', '1234','1186', '1221'); 
$id = get_the_ID();

if ($id == '1186') {
    include 'facebook-1186.html';
}
elseif (!in_array($id, $fb_prac)) {
    include 'facebook.html';
}
else {
    echo do_shortcode('[facebook_card]');
}
1
Progrock 18 dic. 2019 a las 11:33

¿Intentaste usar la función in_array?

if (in_array(get_the_ID(), $fb_prac)) {
    include 'facebook.html';
}

https://www.php.net/manual/en/function.in-array.php

3
Alain Burindi 17 dic. 2019 a las 20:45