Intereting Posts

Как определить родительский контейнер текущего виджета (идентификатор виджета боковой панели)

У меня есть несколько пользовательских виджетов, которые установлены как часть моей темы. Я хотел бы выполнить условный код внутри каждой панели администратора виджета (а не публичную сторону, меня просто интересует панель администратора внутри формы функции ($ intance)), в зависимости от того, на какой боковой панели вставлен виджет.

Как получить ссылку на текущий идентификатор боковой панели, который содержит виджет, из обработчика формы ($ instance) виджета?

Solutions Collecting From Web of "Как определить родительский контейнер текущего виджета (идентификатор виджета боковой панели)"

Если ваши виджеты используют API-интерфейс виджетов, в вашем классе виджетов должен быть следующий метод …

function widget($args, $instance){ //output html here... } 

$args['id'] будет содержать идентификатор текущей боковой панели.

Если ваша боковая панель имеет имя, вы можете получить имя боковой панели, используя get_sidebar( $name )

внутри самого виджета попробуйте следующее:

 global $wp_registered_widgets, $wp_registered_sidebars; $sidebars_widgets = get_option('sidebars_widgets'); if($sidebars_widgets["sidebar-1"]) echo 'hooray'; 

Боюсь, нет простого способа сделать это с WP 3.2. В общем, экран администратора виджетов не очень расширяем.

Вам просто нужно сделать два класса виджета и проинструктировать пользователей, куда их поместить.