2010-12-14 14 views
9

Hola, estoy tratando de averiguar cómo podemos publicar el conteo de widgets en una posición determinada de la barra lateral.widgets de conteo de wordpress

Por ejemplo, tengo una barra lateral llamada UTILITY que es una barra lateral horizontal. Quiero que el ancho de estas posiciones de widgets se ajuste de manera equitativa de acuerdo con la cantidad de widgets publicados en él.

Quiero saber que en una página determinada cuántos widgets se publican en esta barra lateral para que pueda asignar una clase de ancho de acuerdo con ella.

+0

¿Tiene que suceder por el lado del servidor o también podría contar los widgets y agregar los nombres de clase con Javascript? – rik

Respuesta

23
wp_get_sidebars_widgets() 

le dará una serie de las barras laterales y los reproductores que tienen, simplemente contar el conjunto de la barra lateral apropiada ..

Por ejemplo:

$the_sidebars = wp_get_sidebars_widgets(); 
echo count($the_sidebars['my-sidebar-id']); 

la identificación es el que declaras cuando registras la barra lateral (así que revisa el código de registro de tu barra lateral).

También podría incluir esto en una función.

function count_sidebar_widgets($sidebar_id, $echo = true) { 
    $the_sidebars = wp_get_sidebars_widgets(); 
    if(!isset($the_sidebars[$sidebar_id])) 
     return __('Invalid sidebar ID'); 
    if($echo) 
     echo count($the_sidebars[$sidebar_id]); 
    else 
     return count($the_sidebars[$sidebar_id]); 
} 

A continuación, llamar cuando se necesita para obtener el recuento, utilizando el ID de la barra lateral ..

count_sidebar_widgets('some-sidebar-id'); 

o almacenar en variable para otros usos ..

$my_var = count_sidebar_widgets('some-sidebar-id', false); 

Espero que ayude ..

+0

Gracias amigo que realmente ayudó. –

+0

@Vikram - De nada ... para futuras preguntas basadas en WordPress, considere publicar en WPSE: http://wordpress.stackexchange.com – t31os

+0

seguro que hará lo que le indiquen. Perdón por esto. En realidad, soy nuevo en Stackoverflow y, aún más, para explorar más. –

0

Cuando está construyendo la barra lateral, debe haber una lista que contenga los contenidos de la barra lateral; está iterando sobre él para agregar esos elementos a la página generada. Simplemente use la función count() en esta lista para encontrar la cantidad de elementos que está exhibiendo.