WordPress Количество виджетов - PullRequest
9 голосов
/ 14 декабря 2010

Привет. Я пытаюсь выяснить, как мы можем получить количество виджетов, опубликованных в заданной боковой позиции.

Например, у меня есть боковая панель под названием UTILITY, которая является горизонтальной боковой панелью. Я хочу, чтобы ширина этих позиций виджетов регулировалась одинаково в соответствии с количеством опубликованных в нем виджетов.

Я хочу знать, что на данной странице сколько виджетов опубликовано на этой боковой панели, чтобы я мог назначить класс ширины в соответствии с ним.

Ответы [ 2 ]

25 голосов
/ 19 декабря 2010
wp_get_sidebars_widgets()

Даст вам массив боковых панелей и виджетов, которые у них есть, просто посчитайте массив для соответствующей боковой панели ..

Например:

$the_sidebars = wp_get_sidebars_widgets();
echo count( $the_sidebars['my-sidebar-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] );
}

Тогдавызывайте его, когда вам нужно получить счет, используя идентификатор боковой панели ..

count_sidebar_widgets( 'some-sidebar-id' );

или сохраняйте в переменной для другого использования ..

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

Надеюсь, это поможет ..

0 голосов
/ 14 декабря 2010

Когда вы создаете боковую панель, должен быть список, содержащий содержимое боковой панели; Вы перебираете его, чтобы добавить эти элементы на сгенерированную страницу. Просто используйте функцию count() в этом списке, чтобы узнать количество отображаемых элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...