Не могу сваять...
Вопрос: у меня есть вкладка событий с шорткодом внутри [public-form post_type="class"]. Она публикует форму добавления события. Я конечно хочу сделать по другому: Вкладка события - показывает все события и там кнопка Добавить событие. Хорошо - первое реализовал быстро через фильтр rcl_tab: добавил массив $data['content'][0] и повесил колбек array('name' => 'rcl_get_postslist','args' => array( 0 => 'class', 1 => 'Classes' ). Все хорошо работает. Добавляю вторую кнопку и ничего не могу понять...
Добавляю массив $data['content'][1] - все ок появляется вторая кнопка. Казалось бы - колбек и дело в шляпе. Но какой колбек? там массив и шорткод. все поперепробовал, хотя стандартно
'callback' => array('name' => 'rcl_custom_tab_content ','args' => array( 0 => '[public-form post_type="class"]' ) )
должно было сработать.
Что делаю не так?
Если честно, я не понял зачем тут фильтры и вообще ничего не понял, но вот пример как я добавляю вкладку у которое есть сабвкладки:
/* * Вкладка в профиль */ add_action('init', 'add_order_coupon_tab'); function add_order_coupon_tab() { $tab_data = array( 'id' => 'order-coupons', 'name' => 'Скидочные купоны', 'supports' => array('cache'), //поддержка кеширования 'public' => 0, 'icon' => 'fa-book', //указываем иконку 'output' => 'menu', //указываем область вывода 'content' => array( array(//массив данных первой дочерней вкладки 'id' => 'order-coupons-list', //идентификатор дочерней вкладки 'name' => 'Статистика активации', //имя дочерней вкладки 'icon' => 'fa-book', //иконка кнопки вывода дочерней вкладки 'callback' => array( 'name' => 'rcl_order_coupons_list_tab'//функция формирующая контент ) ), array(//массив данных второй дочерней вкладки 'id' => 'add-order-coupon', 'name' => 'Создание купона', 'icon' => 'fa-book', 'callback' => array( 'name' => 'rcl_add_order_coupon_tab'//функция формирующая контент ) ) ) ); rcl_tab($tab_data); }
Если честно, я не понял зачем тут фильтры и вообще ничего не понял, но вот пример как я добавляю вкладку у которое есть сабвкладки:
ну так я делаю тоже самое, только через фильтр rcl_tabs:
if($data['id']!='ino_events') return $data; $data['content'][0] = array('id' => 'type-class', 'name' => 'Classes', 'icon' => 'fa-list ', 'callback' => array('name' => 'rcl_get_postslist','args' => array( 0 => 'class', 1 => 'Classes' ) ) ); //тоже самое что и в первом массиве у вас, потом формирую второй: $data['content'][1] = array('id' => 'ino_events', 'name' => 'События', 'icon' => 'fa-list ', 'callback' => array('name' => 'rcl_custom_tab_content ','args' => array( 0 => '[public-form post_type="class"]' ) ) ); // так все отлично - кнопка выводится, колбек не работает...
вот пошагово, ну не работает )
add_action('init','ino_add_sub_tab_event'); function ino_add_sub_tab_event(){ $subtabadd = array( 'id'=> 'ino-add-event', 'name'=> 'Добавить событие', 'icon' => 'fa-plus', 'output'=>'menu', 'callback'=>array( 'name'=>'ino_rcl_events_form ' ) ); rcl_add_sub_tab('ino_events',$subtabadd); //кнопка сформирована и показывается } function ino_rcl_events_form($user_lk){ $content = '<h3>Тест формы:</h3>'; $content .= do_shortcode('[public-form post_type="class"]'); return $content; }
по нажатию - ничего не происходит...