Доброго времени!
Подскажите пожалуйста, мне нужно вывести поле профиля "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:" наверное что-то неправильно догадываюсь...
Пожалуйста, подскажите верный код и тыкните, возможно, где-то поднималась похожая тема с разжевыванием вопроса.
Если я правильно понял вопрос, то это данные зарегестрированного на сайте пользователя.
Сама страница куда вставляется шорткод - это личная страница пользователя.
Как пример, я хочу вывести "марку автомобиля" пользователя. Это и есть тот "Meta-key:" который пользователь заполнил в своем профиле...
Я привильно понял вопрос?
Владимир, спасибо большое за оперативную помощь и за подсказки! 🍻
Подскажите пожалуйста, на сайте есть отличные мануалы для новичков в програмировании, есть ли похожие по моему вопросу? Я пытался найти и нашел только тот, что в старт посте...
К сожалению, у меня не получилось отобразить содержание шорткода после замены $rcl_user->ID на global $user_ID;
Возможно, я не корректно произвел замену, я хотел бы попросить правильно вставить в мой код ваши правки, если это возможно...
Ок, но кода у меня только тот, что написан в топике, взятый из статьи...
Мне нужно вывести на php содержание поля профиля metakey (WP-Recall -> Поля профиля -> созданный MetaKey) в формате "Марка авто: metakey" на кастомную станицу профиля пользователя, запаковав при этом php в шорткод. С запаковкой в шорткод проблемы нет, прошу пожалуйста помочь мне грамотно написать сам php для отображения содержания metakey. В идеале, я бы хотел попросить два варианта кода - с выводом содержания metakey для зарегистрированных пользователей кроме гостей. И второй для всех посетителей сайта. Если это многовато для бесплатной кастомизации, тогда буду благодарен только за первый вариант отображения (показ для зарегистрированных пользователей, кроме гостей).
в шорткоде все должно возвращаться через return, никаких echo быть не должно!
это данные зарегестрированного на сайте пользователя.
Сама страница куда вставляется шорткод - это личная страница пользователя.
т.е. должны выводится данные хозяина ЛК? тогда так
<?php global $user_LK; return 'Пример: ' . get_user_meta($user_LK, 'primer', true ); ?>
Андрей, спасибо за предложенный вариант, но почему-то код выше не работает, ничего не показывает...
Методом тыка и поиска в старых заданиях я нашел следующий код, который выполняет мою задачу и выводит нужный 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" показывался ТОЛЬКО для зарегестрированных пользователей, НЕ для гостей сайта.
Denver сказал(а)
код выше не работает, ничего не показывает...
не знаю, как и где вы пытались применить предложенный код, но я его дал в том виде в котором он должен быть использован внутри шорткода, тк речь выше шла именно о таком применении.
Denver сказал(а)
показывался ТОЛЬКО для зарегестрированных пользователей
тогда первую строчку меняете и добавляете условие:
global $user_LK,$user_ID; if(!$user_ID) return;
Андрей, спасибо большое за код с условием!
Возможно, дело в том, что для формирования самого шорткода я использую плагин Custom css-js-php, я упоминал об этом выше. Через него я добавляю пхп код и на выходе генерируется шорткод для вставки в макет страницы, в моем случае, макет личного кабинета пользователя.
В любом случае, цель достагнута, спасибо вам и Владимиру за помощь!