wordpress计数小部件

时间:2010-12-14 16:02:28

标签: php wordpress widget

您好我想弄清楚如何才能获得在给定侧边栏位置发布的小部件数量。

例如,我有一个名为UTILITY的侧边栏,它是一个水平侧边栏。我希望这些小部件位置的宽度根据其中发布的小部件数量进行相同的调整。

我想知道在给定页面上,在此侧边栏中发布了多少小部件,以便我可以根据它分配宽度类。

2 个答案:

答案 0 :(得分:25)

wp_get_sidebars_widgets()

将为您提供一系列侧边栏和小部件,只需计算适当侧边栏的数组..

例如:

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

您在注册边栏时声明的ID(请查看侧边栏注册码)。

你也可以将它包装成一个函数。

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] );
}

然后在需要获取计数时使用侧边栏ID调用它。

count_sidebar_widgets( 'some-sidebar-id' );

或存储在变量中供其他用途..

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

希望有所帮助..

答案 1 :(得分:0)

在构建侧边栏时,应该有一个包含侧边栏内容的列表;您正在迭代它以将这些项添加到生成的页面。只需使用此列表中的count()功能查找您正在显示的项目数。