17ответ(ов) в теме
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
1
19:07
Версия WP-Recall: 16.8.1

Необходимо сделать динамическое поле в контенте страницы личного кабинета, открывающегося по средству дочерней вкладки. И чтобы при нажатие "сохранить", данные сохранялись в контенте той же страницы.

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

смотрел, но знаний и умений, как это всё оформить, не хватает. Подскажите, как это оформить.
Пишу так:

            array( //массив данных третьей дочерней вкладки
                'id' => 'pup',
                'name' => 'Название',
                'icon' => 'fa-diamond',
                'callback' => array(
                    'name'=>'my_pup_recall_block',
                    'args'=>array($arg_1)					
                )
            ),
        )
    );
 
    rcl_tab($tab_data);
 
}
 
function my_pup_recall_block($user_lk){

А дальше как оформит?

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
2
22:54

Уточню: созданное динамического поля имеет непосредственную связь с "Профилем". Т.е. необходимо вывести 1 динамическое поле в другом месте (в контенте дочерней вкладки)

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

Вы привели код - вы просто добавили новую вкладку? Так?

В ее обработчике my_pup_recall_block - что у вас?

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
4
00:52

Вы привели код - вы просто добавили новую вкладку? Так?
В ее обработчике my_pup_recall_block - что у вас?

Пока ничего, только примерно такое:

$content = '<h3>Моя информация будет:</h3>';
    return ' ?????????????????

Редакции сообщения
02.11.2017 00:53Liter-RMПричина: не указано
0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
5
00:55

Понятно, что надо будет добавить динамическое поле в "Профиль"... А вот как его вывести, куда требуется?...

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
6
02:30

Например, делаю так:

function my_pup_recall_block($user_lk){
    $content = '<h3>Мой контент:</h3>';
    $content .= do_shortcode('[rcl-tab tab_id="profile"]');
    return $content;
}

Но ведь при этом выводится весь контент вкладки "Профиль", а необходимо чтобы отображалось определённое поле. Есть ли какой-то вариант подгрузки определённого поля и его содержимого?

Редакции сообщения
02.11.2017 02:30Liter-RMПричина: не указано
0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
7
03:27

Или что-вроде такого:

function my_pup_recall_block($user_lk){
    $content = '<h3>Заголовок контента:</h3>';
	$content = add_filter('rcl_profile_fields', 'add_profile_fields', 10);
	function add_profile_fields($fields){
		
		$fields[] = array(
			'type' => 'runner',
			'slug' => 'your-year',
			'title' => __('Укажите кол-во лет'),
			'value_min' => 10,
			'value_max' => 100,
			'default' => 25
		);
	 
		return $fields;
    }
}

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
8
09:58

Что то не понял, что требуется. Надо в контенте дочерней вкладки вывести для заполнения определенное поле профиля?
Тогда сначала надо правильно зарегистрировать дочернюю вкладку

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

Потом в контенте этой дочерней вкладки вывести нужное поле, как создавать форму с произвольными поля плагина подробно писал тут

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

только создаваемое поле должно иметь тот же type и slug, что и нужное вам поле профиля

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
9
10:05

Ну и в догонку, данные указанные в этом поле надо еще как то сохранять, поэтому надо написать свой обработчик данных с этой формы.

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
10
10:11

Я немного упростил задумку. Динамическое поле создаётся в "Управлении полями профиля". Все данные и настройки вкладки, соответственно, находятся в контенте вкладки "Профиль". Просто (но для меня и это не так уж просто) необходимо продублировать созданное поле в дочерней вкладке.

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
11
10:14

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

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
12
10:14

Скажем есть вкладка "Моя вкладка" у неё есть дочерняя вкладка "Дочерняя вкладка". Соответственно, надо, чтобы одно поле и её контент вкладки "Профиль" дублировались во "Дочерней вкладке"

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
13
10:18

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

Это для меня Высшая математика.

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
14
10:23

сначала зарегистрируйте свою вкладку с дочерними, пример регистрации вкладки с двумя дочерними вкладками приведен в статье

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

ну а потом надо будет чего то выводить в контенте этих вкладок, а именно форму с полями, для этого надо обладать навыками верстки и иметь представление о структуре произвольных полей плагина, о чем написано тут

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

Ну и обработчик данных с этой формы - базовые вещи php.
Ваша задача не такая простая как может показаться, взять и написать код о нечего делать тут вряд ли кто то будет, а чтобы сделать это самому придется вникать в каждый этап ее реализации.

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
15
10:23

Кстати, не плохо было бы, чтобы каждое поле имело свой шорткод, типа: [meta_key meta_key_id=""]. Но это, наверное, из области фантастики. 😈

0
Liter-rm
не в сети 2 месяца
На сайте с 08.04.2015
Участник
Тем 76
Сообщения 476
16
10:24

сначала зарегистрируйте свою вкладку с дочерними, пример регистрации вкладки с двумя дочерними вкладками приведен в статье

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

ну а потом надо будет чего то выводить в контенте этих вкладок, а именно форму с полями, для этого надо обладать навыками верстки и иметь представление о структуре произвольных полей плагина, о чем написано тут

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

Ну и обработчик данных с этой формы - базовые вещи php.
Ваша задача не такая простая как может показаться, взять и написать код о нечего делать тут вряд ли кто то будет, а чтобы сделать это самому придется вникать в каждый этап ее реализации.

Буду пробовать. Благодарю.

0
Андрей CS
не в сети 1 час
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
17
10:26

Liter-RM сказал(а)
каждое поле имело свой шорткод, типа: [meta_key meta_key_id=""]

абсолютно без надобности, каждое произвольное поле вызывается отдельной функцией: get_user_meta или get_post_meta, также как и шорткод вызывается функцией do_shortcode, но применять do_shortcode в php коде неправильно, тк у каждого шорткода есть своя отдельная функция вызова.

0
Вы не имеете права на публикацию сообщений в этой теме