Не могу сваять...
Вопрос: у меня есть вкладка событий с шорткодом внутри [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;
}
по нажатию - ничего не происходит...