Problema al mostrar sidebar diferente en página principal en Wordpress

  • Autor Autor BlogsPopuli
  • Fecha de inicio Fecha de inicio
He probado tu idea pero nada, sigue cargando la antigua. Creo que el fallo puede estar en el archivo sidebar-index.php que he puesto antes, pero no se verlo, ya que antes al hacer la prueba de renombrar el sidebar.php el índex seguía cargando igual así que sospecho que carga la antigua sidebar desde ahí también

 
En principio eso es lo que ya he conseguido, crear la sidebar nueva, porque en la página de widgets aparece la nueva y le puedo añadir todo lo que quiera. Lo que no consigo es mostrarla de ninguna manera :S

 
Empezaemos desde el principio.

Para agregar un sidebar nuevo al index no hace falta crear un archivo nuevo por lo tanto vamos a ello:

en functions.php pegas esto, justo depués del sidebar que ya existe:
Insertar CODE, HTML o PHP:
     if(function_exists('register_sidebar'))
          register_sidebar(array(
          'name' => 'Mi nueva barra',
           'before_widget' => '<div>',
            'after_widget' => '</div>',
          'before_title' => '<h3>',
          'after_title' => '</h3>',
     ));

después si elijes crear un archivo o pintarlo directamente en tu index.php has de colocar esto, sea cual sea tu elección:
Insertar CODE, HTML o PHP:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Mi nueva barra') ) : ?>
            <?php endif; ?>

Si elijes crear un archivo acuerdate de llamarlo con:
<?php include ('sidebar-index.php'); ?>

Recuerda que wordpress es "tonto" por lo tanto si en functions colocas el codigo arriba de la sidebar ya creada esta cogera los widgets asignados a esa barra.

No se si me explico.

Un saludo.
 
[MENTION=18103]BlogsPopuli[/MENTION] yo para eso uso widgetlogic o jetpack activando el modulo visibilti...
 
Gracias [MENTION=9679]cicklow[/MENTION] En principio mi idea era no utilizar plugins, pero viendo los resultados te he hecho caso y he instalado widget logic. Ahora el problema lo encuentro al poner el condicional en el widget que no quiero que se muestre en el index. Entiendo que si pusiera is_index sería para que se mostrara, pero quiero hacer justo lo contrario..

[MENTION=18103]BlogsPopuli[/MENTION] yo para eso uso widgetlogic o jetpack activando el modulo visibilti...
 

!is_home() => no inicio
is_home() => SI inicio
 
Lo estás haciendo mal, lo primero que debes hacer es como tú has dicho crear la nueva barra desde el functions.php

Insertar CODE, HTML o PHP:
if ( function_exists('register_sidebar') )
    register_sidebar(array(
		'name' => 'Sidebar Index',
		'id' => 'sidebar-index',
		'description' => 'The sidebar widget area width: 213px' ,
		'before_widget' => '<div class="widgetBlock">',
		'after_widget' => '</div>',
		'before_title' => '<h3>',
		'after_title' => '</h3>',        
    ));

luego dejar como estaba el get_sidebar

Insertar CODE, HTML o PHP:
		<!-- Start: Right Panel -->
		<div class="rightPan">
	<?php get_sidebar(); ?>
		</div>
		<!-- End: Right Panel -->

por último editar el sidebar.php y allí tendrás algo como esto:

Insertar CODE, HTML o PHP:
				<?php 					
				if (is_active_sidebar(1)) {					
					dynamic_sidebar("sidebar-izquierdo");
				}
				?>

solo que con el nombre que le haya puesto el theme, lo que tienes que hacer es lo siguiente

Insertar CODE, HTML o PHP:
if(is_home() || is_front_page()){
    if (is_active_sidebar(1)) {					
        dynamic_sidebar("sidebar-index");
    }
}else{
    if (is_active_sidebar(1)) {					
    	dynamic_sidebar("sidebar-izquierdo");
    }
}
 
Última edición:
Utiliza el plugin widget logic.
 
Tu index es una página estática??
 
Si, ahora he visto que con widget logic si pongo !is_page deja de aparecer.. imagino que tendré que usar !is_page(x) y utilizar el plugin si o si..

Tu index es una página estática??


---------- Post agregado el 17-dic-2013 hora: 17:39 ----------

Aunque sea con el plugin al final se ha conseguido. Muchas gracias a todos! Por si le sirve a alguien cómo condicional he puesto:
Insertar CODE, HTML o PHP:
!is_page('número de página')
 

Temas similares