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