У меня есть процедура (см. ниже), которая создает и вставляет несколько виджетов в боковые панели активной темы.
Однако мне нужно больше контролировать либо порядок/индекс, которые назначаются (т. е. один из моих виджетов должен быть в верхней части любых других виджетов на боковой панели), ИЛИ мне нужно указать собственное имя css для виджет.
Я вставил комментарий, чтобы поймать виджет под названием «мой важный виджет» и применить индекс или пользовательский CSS, который мне нужно назначить этому виджету.
Возможны ли какие-либо из них?
$file_name_widget = $files_widgets->getPathname();
$widget_text = file_get_contents($file_name_widget);
$widget_text_label = 'text';
$widget_ops = get_option('widget_text', array());
$widget_id = count($widget_ops) + 1;
if($file_name_widget == 'my important widget') {
//place code here to make this widget move to the top of any others in the sidebar its assigned to
}
$widget_ops[$widget_id] = array('title' => $files_widgets->getBasename('.txt'),'text' => $widget_text,);
update_option('widget_text', $widget_ops);
$sidebar_id = basename($files_widgets->getPath());
$sidebars_widgets = get_option('sidebars_widgets', array());
$sidebars_widgets[$sidebar_id][] = $widget_text_label."-".$widget_id;
update_option('sidebars_widgets', $sideb
Если вы хотите изменить порядок, вы можете использовать фильтр
sidebars_widgets
, аргументом которого является массив всех идентификаторов виджетов и их местоположений. Вы можете изменить позиции идентификатора в этом массиве в соответствии с вашими потребностями.Взгляните на глобальную переменную
global $wp_sidebars_widgets
. Индексы этого массива — это позиции, в которых будут отображаться виджеты.Вы уже указываете идентификатор.. проверьте его в своем выводе.. вы можете использовать его с помощью css следующим образом:
Проверьте вывод / страницу, на которой он появляется на вашем сайте, для этого идентификатора виджета и используйте его. Вы также можете вставить идентификатор здесь, и я продемонстрирую использование css.