2011-03-20 58 views
3

我正在开发一个wordpress插件,用于创建一个可以对另一个窗口部件起作用的窗口小部件。我已经搜索,但似乎无法找到(如果存在)一个钩子,将提供所有活动小部件的实例的详细信息。任何帮助将不胜感激,如果你遇到过这个。谢谢Wordpress插件开发 - 获取所有活动窗口小部件

回答

11

get_option('sidebars_widgets')为您提供了一个关联数组,其中包含每个边栏的窗口小部件列表以及所有不活动窗口小部件的列表。

get_option('widget_widgetname')将为您提供一个关联数组,其中包含您的小部件的所有实例的设置。

+0

弗拉德 - 完美,谢谢。 – Lee 2011-04-07 09:05:40

0

例如从页面

add_filter('sidebars_widgets', 'disable_widgets'); 

function disable_widgets($sidebars_widgets) { 
global $qode_options_proya; 
    //print_r($sidebars_widgets);//gives a list of widgets 
    if(is_admin()){return $sidebars_widgets;} 
    if(get_post_meta(get_the_ID(), 'hide_allwidgets_checkbox', true)=="on"){return false; } 


    if(get_post_meta(get_the_ID(), 'hide_footer', true)=="on"){unset($sidebars_widgets["footer_column_1"]);} 
    if(get_post_meta(get_the_ID(), 'hide_topmenu_checkbox', true)=="on"){unset($sidebars_widgets["header_top"]); } 
    return $sidebars_widgets; 
} 

这可能取决于你的主题有所不同删除一个小部件,所以使用的print_r($ sidebars_widgets);验证您的案件可用的小工具