Разработка плагинов Wordpress - получить все активные виджеты - PullRequest
3 голосов
/ 20 марта 2011

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

Ответы [ 3 ]

13 голосов
/ 06 апреля 2011

get_option('sidebars_widgets') дает вам ассоциативный массив, который содержит список виджетов для каждой боковой панели плюс список всех неактивных виджетов.

get_option('widget_widgetname') даст вам ассоциативный массив, который содержит настройки всех экземпляров вашего виджета.

0 голосов
/ 04 марта 2019

Вы можете получить все активные виджеты боковой панели следующим образом: *

$sidebars_widgets = get_option( 'sidebars_widgets' );

. Это даст вам ассоциативный массив, содержащий список виджетов для каждой боковой панели и список всех неактивных виджетов.

0 голосов
/ 18 февраля 2016

например, чтобы удалить виджет со страницы

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); дляпроверьте доступные на вашем деле виджеты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...