Cómo usar If, If Else y else en WordPress

4 minutos de lectura

avatar de usuario
Raul Sharma

Quiero usar If, If else y else en la página de inicio de wordpress, estoy usando la siguiente condición

<?php if ( has_post_thumbnail() ) {
the_post_thumbnail();
}?>
<?php if else { 
<img src="https://stackoverflow.com/questions/12130840/<?php echo catch_that_image() ?>" width="64" height="64" alt="<?php the_title(); ?>" />
} else {
<img src="http://www.technoarea.in/wp-content/themes/TA/images/TA_Logo.png" width="64" height="64" alt="<?php the_title(); ?>" />}
?>
<?php  ?>

Quiero mostrar la miniatura primero en la página de inicio, si la miniatura no está disponible, debe usar la primera imagen de la publicación como miniatura y si no hay una imagen en la publicación, use esta imagen

http://www.technoarea.in/wp-content/themes/TA/images/TA_Logo.png

¿Puede decirme dónde estoy equivocado porque el código anterior no funciona?

  • 1. }else if (CONDITION) { ... }else{ ... } 2. cierre faltante } soporte al final

    – Pedro

    26 de agosto de 2012 a las 14:21


  • no puedo entenderte, ¿puedes decirme usando el código anterior lo que quieres decir, thnkx

    – raul sharma

    26 de agosto de 2012 a las 14:33

  • para ser honesto, creo que deberías comenzar con el tutorial 🙂

    – Pedro

    26 de agosto de 2012 a las 14:36

  • @knoell8504 le ha proporcionado enlaces a páginas de manual adecuadas, es un buen comienzo

    – Pedro

    26 de agosto de 2012 a las 14:39


  • Estoy de acuerdo con @PeterSzymkowski, primero debes aprender programación y conceptos básicos de PHP. Hay algunos conceptos fundamentales que faltan en su código que no se pueden “arreglar” sin esa comprensión.

    – Jared Farrish

    26 de agosto de 2012 a las 14:39

Una alternativa sería:

<?php if ($condition) : ?>
   <p> Some html code </p> <!-- or -->
   <?php echo "some php code"; ?>
<?php else : ?>
    <p> Some html code </p> <!-- or -->
   <?php echo "some php code"; ?>
<?php endif;  ?>

avatar de usuario
Adán11

la sintaxis para php es la siguiente:

<?php
if(statement that must be true)
{
    (code to be executed when the "if" statement is true);
}
else
{
    (code to be executed when the "if" statement is not true);
}
?>

Solo necesita las etiquetas php de apertura y cierre () una vez; uno antes de su código php y el otro después. También necesita usar declaraciones “echo” o “print”. Estos le dicen a su programa que genere el código html que será leído por su navegador. La sintaxis de echo es la siguiente:

echo "<img src="https://stackoverflow.com/questions/12130840/some image" alt="alt" />";

que generará el siguiente html:

<img src="https://stackoverflow.com/questions/12130840/some image" alt="alt" />

Deberías conseguir un libro sobre php. www.php.net también es un muy buen recurso. Aquí hay enlaces a las páginas del manual sobre declaraciones if, echo e print:
http://us.php.net/manual/en/control-structures.if.php
http://us.php.net/manual/en/function.echo.php
http://us.php.net/manual/en/function.print.php

editar: también puede usar “elseif” para dar una nueva condición que debe cumplirse para la siguiente sección de código. Por ejemplo:

&lt;?php
if(condition 1)
{
    (code to be executed if condition 1 is true);
}
elseif(condition 2)
{
    (code to be executed if condition 1 is false and condition 2 is true);
}
else
{
    (code to be executed if neither condition is true);
}
?&gt;

  • ¿Qué sucede si tanto IF como ELSE no son verdaderos?

    – raul sharma

    26 de agosto de 2012 a las 14:41

  • No hay condición para ELSE. El código “ELSE” se ejecuta si las otras condiciones no son verdaderas. En otras palabras, “else” significa “si no” a la condición anterior.

    – Adán11

    26 de agosto de 2012 a las 16:55

avatar de usuario
sepster

Referirse ElseIf/Else If.

Pero parece que a) tiene problemas para mezclar PHP y HTML incorrectamente, yb) no está seguro de la lógica para probar si existe una imagen de publicación (no puedo ayudar con eso, lo siento). Prueba esto:

<?php 
if ( has_post_thumbnail() ) :
    the_post_thumbnail();
elseif ( /*Some logic here to test if your image exists*/ ): ?>
    <img src="https://stackoverflow.com/questions/12130840/<?php echo catch_that_image() ?>" width="64" height="64" alt="<?php the_title(); ?>" />
<?php else: ?>
    <img src="http://www.technoarea.in/wp-content/themes/TA/images/TA_Logo.png" width="64" height="64" alt="<?php the_title(); ?>" />

¿Ha sido útil esta solución?