14ответ(ов) в теме
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
1
20:16
Версия WP-Recall: 16.17.15

Доброго времени!
Подскажите пожалуйста, мне нужно вывести поле профиля "Meta-key:primer" на отдельной странице.

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

нашел пример, вставляю на страницу, но содержимое все равно не показывает...

Вот такой вид:
<?php $primer = get_user_meta($rcl_user->ID, 'primer', true); $text = (!$primer)? 'Не указан': $primer; echo 'Пример: ' . $text; ?>

или

<?php echo 'Пример: ' . get_user_meta($rcl_user->ID, 'primer', true ); ?>

Поправьте пожалуйста, где я допустил ошибку?

ПС. php я запаковываю в шорткоды, которые вставляю в конструктор страницы. Использую плагин Custom css-js-php для генерации шорткода. Выдранный с шаблонов php код вставляется отлично в шорткоды и на страницу, но вот с кастомными "Meta-key:" наверное что-то неправильно догадываюсь...

Пожалуйста, подскажите верный код и тыкните, возможно, где-то поднималась похожая тема с разжевыванием вопроса.

Редакции сообщения
14.09.2019 20:18DenverПричина: не указано
14.09.2019 20:19DenverПричина: не указано
14.09.2019 20:37DenverПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
2
20:37

в вашем шорткоде не определена переменная $rcl_user, соответственно, вы не можете указывать идентификатор пользователя как $rcl_user->ID

0
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
3
20:43

Спасибо, но мне не совсем понятно как это исправить.., если можно, подправьте пожалуйста код, я дальше смог бы отталкиваться уже от примера...

Редакции сообщения
14.09.2019 20:43DenverПричина: не указано
14.09.2019 20:44DenverПричина: не указано
14.09.2019 20:46DenverПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
4
20:50

вы определитесь сначала данные какого именно пользователя вы хотите выводить своим шорткодом?

0
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
5
21:05

Если я правильно понял вопрос, то это данные зарегестрированного на сайте пользователя.
Сама страница куда вставляется шорткод - это личная страница пользователя.
Как пример, я хочу вывести "марку автомобиля" пользователя. Это и есть тот "Meta-key:" который пользователь заполнил в своем профиле...
Я привильно понял вопрос?

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

Перенесено в кастомизации

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

global $user_ID;

и уже его вместо

Denver сказал(а)
$rcl_user->ID

вставляйте.

или $rcl_user->ID вам при дебаге отдает то что вам надо?

0
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
8
23:03

Владимир, спасибо большое за оперативную помощь и за подсказки! 🍻
Подскажите пожалуйста, на сайте есть отличные мануалы для новичков в програмировании, есть ли похожие по моему вопросу? Я пытался найти и нашел только тот, что в старт посте...
К сожалению, у меня не получилось отобразить содержание шорткода после замены $rcl_user->ID на global $user_ID;
Возможно, я не корректно произвел замену, я хотел бы попросить правильно вставить в мой код ваши правки, если это возможно...

Редакции сообщения
14.09.2019 23:04DenverПричина: не указано
0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
9
08:53

То о чем вы пишете - обычный php и апи вордпресс.

На каждый чих материала нет - это основы. php.net и wp-kama.ru - вот два русскоязычных ресурса.

Вы лучше давайте полный код того что у вас вышло и не вышло. Предметно разговаривать будем

0
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
10
13:31

Ок, но кода у меня только тот, что написан в топике, взятый из статьи...
Мне нужно вывести на php содержание поля профиля metakey (WP-Recall -> Поля профиля -> созданный MetaKey) в формате "Марка авто: metakey" на кастомную станицу профиля пользователя, запаковав при этом php в шорткод. С запаковкой в шорткод проблемы нет, прошу пожалуйста помочь мне грамотно написать сам php для отображения содержания metakey. В идеале, я бы хотел попросить два варианта кода - с выводом содержания metakey для зарегистрированных пользователей кроме гостей. И второй для всех посетителей сайта. Если это многовато для бесплатной кастомизации, тогда буду благодарен только за первый вариант отображения (показ для зарегистрированных пользователей, кроме гостей).

Редакции сообщения
15.09.2019 13:34DenverПричина: не указано
15.09.2019 13:34DenverПричина: не указано
15.09.2019 13:36DenverПричина: не указано
15.09.2019 13:37DenverПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
11
13:49

в шорткоде все должно возвращаться через return, никаких echo быть не должно!

это данные зарегестрированного на сайте пользователя.
Сама страница куда вставляется шорткод - это личная страница пользователя.

т.е. должны выводится данные хозяина ЛК? тогда так

<?php 
global $user_LK;
return 'Пример: ' . get_user_meta($user_LK, 'primer', true ); 
?>

Редакции сообщения
15.09.2019 13:49Андрей CSПричина: не указано
0
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
12
14:24

Андрей, спасибо за предложенный вариант, но почему-то код выше не работает, ничего не показывает...
Методом тыка и поиска в старых заданиях я нашел следующий код, который выполняет мою задачу и выводит нужный meta key на страницу, может будет кому тоже полезно:

<?php global $user_LK; $userdata = get_user_by('id', $user_LK); echo '<h1 align="center">'; echo $userdata->primer; echo '</h1>'; ?>

Андрей, Владимир, можно вас пожалуйста очень попросить подправить этот найденный код, что-бы meta key "primer" показывался ТОЛЬКО для зарегестрированных пользователей, НЕ для гостей сайта.

Редакции сообщения
15.09.2019 14:25DenverПричина: не указано
0
Андрей CS
не в сети 3 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
13
14:30

Denver сказал(а)
код выше не работает, ничего не показывает...

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

Denver сказал(а)
показывался ТОЛЬКО для зарегестрированных пользователей

тогда первую строчку меняете и добавляете условие:

global $user_LK,$user_ID;
if(!$user_ID) return;

1
Denver
не в сети 4 месяца
На сайте с 21.04.2017
Участник
Тем 64
Сообщения 192
14
14:54

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

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