9ответ(ов) в теме
Игорь Динов
не в сети 5 лет
На сайте с 16.03.2019
Участник
Тем 15
Сообщения 75
1
14:04
Версия WP-Recall: 16.17.8

Не могу сваять...
Вопрос: у меня есть вкладка событий с шорткодом внутри [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"]' ) )

должно было сработать.
Что делаю не так?

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
14:11

Здравствуйте.

Для разработки и кастомизации есть отдельная тема. Перенес.

Про вкладки написано тут

Вы не можете просматривать опубликованные ссылки

и здесь пример:

Вы не можете просматривать опубликованные ссылки
0
Preci
не в сети 4 дня
На сайте с 11.11.2014
Участник
Тем 71
Сообщения 1646
3
14:16

Если честно, я не понял зачем тут фильтры и вообще ничего не понял, но вот пример как я добавляю вкладку у которое есть сабвкладки:

/*
 * Вкладка в профиль
 */
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);
}

0
Игорь Динов
не в сети 5 лет
На сайте с 16.03.2019
Участник
Тем 15
Сообщения 75
4
14:31

Если честно, я не понял зачем тут фильтры и вообще ничего не понял, но вот пример как я добавляю вкладку у которое есть сабвкладки:

ну так я делаю тоже самое, только через фильтр 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"]' ) ) );
// так все отлично - кнопка выводится, колбек не работает...

0
Игорь Динов
не в сети 5 лет
На сайте с 16.03.2019
Участник
Тем 15
Сообщения 75
5
14:35

так и думал - что надо в функцию do_shortode отдать но все равно не работает... Иду сейчас так, уже строго по инструкции, но где-то что-то недоставляю. Покажите плиз свою функцию rcl_add_order_coupon_tab

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
6
14:41

Дочернюю вкладку можно добавить функцией rcl_add_sub_tab

Вы не можете просматривать опубликованные ссылки
0
Игорь Динов
не в сети 5 лет
На сайте с 16.03.2019
Участник
Тем 15
Сообщения 75
7
14:50

вот пошагово, ну не работает )

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;	
}

по нажатию - ничего не происходит...

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
8
14:55

не на хуке init, а на rcl_setup_tabs
в массиве 'ino_rcl_events_form ' пробел закрался

0
Игорь Динов
не в сети 5 лет
На сайте с 16.03.2019
Участник
Тем 15
Сообщения 75
9
15:01

блин... пробел... глаз уже замылился... все заработало! Хоть напейся...
Владимир - я должник! (я уже и инит включил чтоб для гарантии)

0
Тема закрыта. Публикация новых сообщений запрещена.