виджеты для подсчета wordpress


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

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

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

Author: Vikram Rao, 2010-12-14

2 answers

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

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

 24
Author: t31os, 2010-12-18 22:44:49

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

 0
Author: syrion, 2010-12-14 16:07:09