Problema del generador de la barra lateral [cerrado]

3

Espero que esto no parezca muy tonto (sin embargo, en cierta medida lo es), pero me cuesta mucho tratar con Generador de barra lateral . En la descripción se afirma que "Ahora admite temas con múltiples barras laterales". Si lo comprendo correctamente, significaría que si mi tema tiene tres áreas de widgets predefinidas, con este complemento podré poblar cada una de ellas con diferentes barras laterales personalizadas (combinaciones de widgets) para cada página. ?

Para simplificarlo aún más, supongamos que registro barras laterales como esta:

if ( function_exists('register_sidebars') ) {
    register_sidebars(3);
}

Luego los llamo - uno en sidebar.php y dos en footer.php - como esto:

if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) )...
if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) )...
if ( function_exists('dynamic_sidebar') && dynamic_sidebar(3) )...

La documentación del complemento indica que todas las instancias de dynamic_sidebar () deben reemplazarse con generic_dynamic_sidebar (). Aquí viene mi pregunta: ¿es posible llamar a una barra lateral como esta:

if ( function_exists('dynamic_sidebar') && generated_dynamic_sidebar(1) )
¿

y aún así poder modificarlo a través del Generador de barra lateral?

Básicamente, lo necesito para tener 3 áreas separadas que se pueden rellenar con barras laterales personalizadas por página. Como ya has adivinado, no funciona como lo deseo. No puedo reemplazar la Barra lateral 1 con una barra lateral creada a través del complemento. ¿Es posible hacer esto y qué es exactamente lo que me estoy perdiendo? Por otro lado, si llamo a las barras laterales con

if ( function_exists('dynamic_sidebar') && generated_dynamic_sidebar() )

Entonces puedo reemplazarlos a través del complemento seleccionando Reemplazar la barra lateral predeterminada de WP con ... que en realidad no me satisface, ya que tengo 3 áreas con el mismo contenido que está lejos de ser útil. Estoy, por decirlo de nuevo, con el objetivo de tener una serie de áreas con identificadores únicos que puedan albergar diferentes combinaciones de widgets en diferentes páginas.

Cualquier ayuda es muy apreciada!

P.S. Espero no haber sonado como un neanderthal! :)

    
pregunta Amroth 13.03.2013 - 22:35

3 respuestas

0

la mejor opción aquí si desea utilizar un complemento es utilizar el complemento woo sidebars, que proviene de temas woo, también está incluido en su complemento gratuito woo dojo, que tiene varios complementos gratuitos, si lo prefiere con el marco de opciones de devin o smof y no le importa usar las meta box de cmb con jarra y luego tengo un github gist que le permitirá seleccionar el número total de barras laterales para registrarse para su uso en el área de widgets, luego tendrá esas barras laterales en un menú desplegable seleccione en un metabox en cada página / publicación / tipo de publicación personalizada.

enlace

    
respondido por el Firestorm_dev 06.04.2014 - 15:06
0

Su pregunta: ¿Es posible llamar a una barra lateral como esta?

if ( function_exists('dynamic_sidebar') && generated_dynamic_sidebar(1) )

No. Además, no es necesario utilizar functions_exists ().

Este es uno de los métodos correctos para registrar y llamar a una barra lateral en un archivo de plantilla.

Hay 2 pasos.

Uno. Este código se encuentra en el archivo de funciones

   register_sidebar( array(
    'id'          => 'your-sidebar',
    'name'        => __( 'Your Sidebar', wpsites ),
    'description' => __( 'This is your number 1 sidebar.', wpsites ),
    ) );

Dos. Este código va en su archivo de plantilla:

<?php if ( is_singular('post') && is_active_sidebar( 'your-sidebar' ) ) : ?>
<div class="your-sidebar">
<?php dynamic_sidebar( 'your-sidebar' ); ?>
</div>
<?php endif; ?>

El código anterior incluye una etiqueta condicional, por lo que su barra lateral solo se muestra en publicaciones individuales.

Puedes eliminar la etiqueta condicional o reemplazarla por otra.

  <?php if ( is_active_sidebar( 'your-sidebar' ) ) : ?>
<ul id="your-sidebar">
    <?php dynamic_sidebar( 'your-sidebar' ); ?>
</ul>
   <?php endif; ?>
    
respondido por el Brad Dalton 10.05.2014 - 07:20
0

Si desea saber sobre el problema del generador de barra lateral, puede usar estos códigos: -

if ( function_exists('dynamic_sidebar') && generated_dynamic_sidebar(1) )

No. Además, no es necesario utilizar functions_exists() .

Este es uno de los métodos correctos para registrar y llamar a una barra lateral en un archivo de plantilla.

Hay 2 pasos.

Uno. Este código va en su archivo de funciones

   register_sidebar( array(
    'id'          => 'your-sidebar',
    'name'        => __( 'Your Sidebar', wpsites ),
    'description' => __( 'This is your number 1 sidebar.', wpsites ),
    ) );

Dos. Este código va en su archivo de plantilla:

<?php if ( is_singular('post') && is_active_sidebar( 'your-sidebar' ) ) : ?>
<div class="your-sidebar">
<?php dynamic_sidebar( 'your-sidebar' ); ?>
</div>
<?php endif; ?>

El código anterior incluye una etiqueta condicional, por lo que su barra lateral solo se muestra en publicaciones individuales.

Puedes eliminar la etiqueta condicional o reemplazarla por otra.

  <?php if ( is_active_sidebar( 'your-sidebar' ) ) : ?>
<ul id="your-sidebar">
    <?php dynamic_sidebar( 'your-sidebar' ); ?>
</ul>
   <?php endif; ?>
    
respondido por el Florence Taylor 10.04.2015 - 12:14

Lea otras preguntas en las etiquetas