виджеты для подсчета wordpress
Привет, я пытаюсь понять, как мы можем получить количество виджетов, опубликованных в заданной позиции боковой панели.
Например, у меня есть боковая панель под названием УТИЛИТА, которая представляет собой горизонтальную боковую панель. Я хочу, чтобы ширина этих позиций виджетов регулировалась одинаково в соответствии с количеством виджетов, опубликованных в нем.
Я хочу знать, сколько виджетов опубликовано на данной странице на этой боковой панели, чтобы я мог назначить класс ширины в соответствии с ним.
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 );
Надеюсь, это поможет..
При создании боковой панели должен быть список, содержащий содержимое боковой панели; вы повторяете его, чтобы добавить эти элементы на созданную страницу. Просто используйте функцию count()
в этом списке, чтобы найти количество отображаемых элементов.