it-swarm-eu.dev

Jak určit nadřazený kontejner aktuálního widgetu (id widgetu sidebar)

Mám několik vlastních widgetů, které jsou nainstalovány jako součást mého tématu. Chtěl bych provést podmíněný kód uvnitř každého administrátorského panelu widgetu (ne veřejnost, zajímám se o administrátorský panel uvnitř funkčního formuláře ($ intance)), v závislosti na tom, na kterém bočním panelu je widget vložen.

Jak mohu získat odkaz na aktuální idid sidebar, který obsahuje miniaplikaci, z popisovače funkcí widgetu ($ instance)?

3
N2Mystic

Pokud vaše widgety používají rozhraní widget, měli byste ve třídě widgetů použít následující metodu ...

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

$args['id'] bude obsahovat ID aktuálního postranního panelu.

3
Chris Carson

Pokud má váš postranní panel název, můžete jeho název načíst pomocí get_sidebar( $name )

uvnitř samotného widgetu zkuste toto:

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

Obávám se, že neexistuje snadný způsob, jak to udělat, pokud jde o WP 3.2. Obecně platí, že admin widget obrazovky není příliš rozšiřitelný.

Budete muset pouze vytvořit dvě třídy widgetů a instruovat uživatele, kam se mají umístit.

1
scribu