wordpress计数小部件

Vik*_*Rao 9 php wordpress widget

嗨,我想弄清楚我们如何才能获得在给定侧边栏位置发布的小部件的数量.

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

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

t31*_*1os 25

wp_get_sidebars_widgets()
Run Code Online (Sandbox Code Playgroud)

将为您提供一系列侧边栏和它们具有的小部件,只需为相应的侧边栏计算数组.

例如:

$the_sidebars = wp_get_sidebars_widgets();
echo count( $the_sidebars['my-sidebar-id'] );
Run Code Online (Sandbox Code Playgroud)

该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] );
}
Run Code Online (Sandbox Code Playgroud)

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

count_sidebar_widgets( 'some-sidebar-id' );
Run Code Online (Sandbox Code Playgroud)

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

$my_var = count_sidebar_widgets( 'some-sidebar-id', false );
Run Code Online (Sandbox Code Playgroud)

希望有所帮助..