Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Problemas con sintaxis IF en php

Estas en el tema de Problemas con sintaxis IF en php en el foro de WordPress en Foros del Web. Buenos días muchas gracias por dar atención a mi problema, resulta que cree un nuevo sidebar en function.php de wordpress para ser usado en cierta ...
  #1 (permalink)  
Antiguo 22/07/2014, 11:39
Avatar de WebSalvador  
Fecha de Ingreso: agosto-2011
Ubicación: Lima - Perú
Mensajes: 171
Antigüedad: 12 años, 8 meses
Puntos: 2
Problemas con sintaxis IF en php

Buenos días muchas gracias por dar atención a mi problema, resulta que cree un nuevo sidebar en function.php de wordpress para ser usado en cierta categoría de producto del woocommerce, hasta allí todo bien, solo que tengo problemas con una sintaxis de la condicional "if", como explique en un comienzo este sidebar solo se usara en cierta categoría y en las demás la default bueno y agregar con elseif alguna otra en el futuro, intente varias maneras:

1. De esta manera siempre en todas las categorías me sale el sidebar creado
Código PHP:
<?php if ( is_active_sidebar'shop-sidebar' ) ) : ?> //default
    <?php if( has_term'software''product_cat' ) ) { ?>
        <?php dynamic_sidebar('categoria-software'); ?>//Sidebar creado
     <?php ?>         
<?php endif; ?>
2. Aquí tampoco me sale nada (vacio)
Código PHP:
<?php
if( has_term'software''product_cat' ) ) {
        
dynamic_sidebar('widgets_soluciones');
} elseif ( 
has_term'rfid''product_cat' ) ) {
        
dynamic_sidebar('widgets_soluciones');
} else {
        
dynamic_sidebar('shop-sidebar');
}
?>
3. Así me salen fucionados, en el mismo sidebar
Código PHP:
<?php if (function_exists('dynamic_sidebar') && dynamic_sidebar(('shop-sidebar')) ) : ?>
        <?php if( has_term'software''product_cat' ) ) { ?>
                    <?php dynamic_sidebar('categoria-software'); ?>
        <?php ?>         
<?php endif; ?>
4. Y de esta manera me sale error de sintaxis
Código PHP:
<?php if ( is_active_sidebar'shop-sidebar' ) ) : ?>
    <?php if( has_term'software''product_cat' ) ) { ?>
        <?php dynamic_sidebar('categoria-software'); ?>
    <?php ?> 
    <?php else { ?>
        <?php dynamic_sidebar('shop-sidebar'); ?>
    <?php ?>        
<?php endif; ?>
Este es el CODIGO ORIGINAL del cual ya se encontraba, que solo podía un sidebar para todas las categorías.
Código PHP:
<?php if(function_exists('dynamic_sidebar') && dynamic_sidebar(('shop-sidebar')) ): endif;?>
Tal vez sea básico, pero realmente estoy perdido un poco en sintaxis y he buscado ayuda en la web, de allí saque los códigos anteriores pero no funcionan, espero su apoyo, muchas gracias.
__________________
Studio Web Salvador http://www.acuarel.pe/
  #2 (permalink)  
Antiguo 23/07/2015, 14:46
 
Fecha de Ingreso: julio-2015
Ubicación: Lima - San Miguel
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 1
Respuesta: Problemas con sintaxis IF en php

Hola, no es un problema de "Problemas con sintaxis IF en php" es un problema en la logica de programación por que no sabes cuando mostrar una o otra cosa, pon de manera mas concreta que quieres corregir.
Saludos Cordiales.
  #3 (permalink)  
Antiguo 23/07/2015, 17:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con sintaxis IF en php

Efectivamente, tu problema es de lógica, porque si solo quieres mostrar el contenido cuando se trata de una categoría específica, lo único que debes hacer es comparar la categoría actual, ejemplo:

Código PHP:
Ver original
  1. if($categoria == 2) {
  2.     // Aquí muestras el contenido que deseas
  3. }

Muevo tu tema a Wordpress, seguramente allá podrán orientarte mejor sobre las variables a utilizar y, por favor, si vas a reflotar un tema, házlo con contenido, no con mensajes "basura", eso va contra las políticas de FDW.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: php, sidebar, woocommerce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:07.