8 ответ(ов) в теме
Neuro75
не в сети 4 месяца
На сайте с 24.10.2016
Участник
Тем 2
Сообщения 8
1
02:18
Версия WP-Recall: 16.18.20

Здравствуйте!
Вместо RecallBar я хочу использовать просто интерактивный пункт меню, т.к. это более привычно подавляющему большинству пользователей.
Т.е. чтобы в правой части хидера был пункт "Вход\регистрация" если на сайте находится разлогиненный пользователь или "Личный кабинет" - для залогиненного.
"Вход\регистрация" - вызывает соответствующее всплывающее окно входа\регистрации WP-Recall, а "Личный кабинет" (ну или там "Профиль" или имя пользователя) представлен в виде выпадающего меню с пунктами "Личный кабинет", ... ..., "Выход".
Есть ли какая-нибудь возможность реализовать это штатными средствами плагина или WP?

Я не очень разбираюсь в php и сайтостроении в целом, поэтому пользуюсь Elementor'ом, а всяко-разные функции реализую плагинами.
Почитав форум, например

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

тему, пока я сделал следующее:
1. Плагином Insert PHP Code Snippet обернул в шорткод код:

<?php 
if(function_exists('wp_recall')){
	global $user_ID;
	global $rcl_user_URL;
	global $rcl_options;

	if($user_ID){
	  echo '<div class="panel_lk_top">';
	    echo '<div class="name_top">'.$user_identity.'</div>';
	    echo '<p><a href="'.$rcl_user_URL.'" title="Перейти в Личный кабинет">Личный кабинет</a> / <a href="'.wp_logout_url( '/' ).'">Выйти</a></p>';
	   echo '</div>';	
	} 
	else {
	   echo '<p><a href="'.rcl_get_authorize_form().'" title="вход">Вход-регистрация</a></p>';
	}
}
else { // если не включен реколл - то ничего
} 
?>

и поместил шорткод в правый блок header'a.
В результате "Личный кабинет / выход" работает, а "Вход / регистрация" - нет. Подскажите, пожалуйста, как правильно написать строку
echo '<p><a href="'.rcl_get_authorize_form().'" title="вход">Вход-регистрация</a></p>';
чтобы она вызывала всплывающее окно регистрации?
Также, сильно подозреваю, что строка
echo '<div class="name_top">'.$user_identity.'</div>'; должна отражать имя текущего пользователя, а она не отражает. Не подскажите, где ошибка?

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

Редакции сообщения
07.05.2020 02:22Neuro75Причина: исправил ошибки
07.05.2020 02:30Neuro75Причина: не указано
07.05.2020 02:35Neuro75Причина: не указано
07.05.2020 02:41Neuro75Причина: не указано
0
Владимир (Otshelnik-Fm)
не в сети 8 часов
На сайте с 27.01.2013
Модератор
Тем 30
Сообщения 17495
2
11:00

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

Перенесено в кастомизации. Т.к. вы не используете стандартные части плагина.

Нам не совсем понятно где вы хотите вывести - это области меню? Что за "правая часть хидера"?

В меню выводится дополнением

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

А виджет панель управления вам чем не угодил? Используйте его.

По форме входа и регистрации смотрите этот материал

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

там 2 части. Вопрос вывода кодом в зависимости от выбранной типа формы входа там рассматривается.

p.s. с элементором мы не работаем - по нему вопросы задавайте авторам элементора.

0
Neuro75
не в сети 4 месяца
На сайте с 24.10.2016
Участник
Тем 2
Сообщения 8
3
12:03

Большое спасибо за быстрый ответ!
Дополнение, на которое вы сослались - это именно тот функционал, который мне нужен! Если пользователь не залогинен - выводится "Вход" и "Регистрация". Если залогинен - выпадающее меню с возможностями личного кабинета.
Но хотелось бы этот функционал отображать не в RecallBar'e, а в меню сайта. Либо в виде отдельной сущности в правой части header'a если в меню проблематично.

Что касается Elementor'a, то по нему вопросов нет. Я его просто упомянул что использую. А так - без разницы: что в Elementor сделать кубик с блоком кода и вставить его в нужное место header'a, что в сам код header'a залезть и вставить код туда.

0
Андрей CS
не в сети 26 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 14778
4
12:20

как я понял, вам требуется этот доп

Вы не можете просматривать опубликованные ссылки
0
Владимир (Otshelnik-Fm)
не в сети 8 часов
На сайте с 27.01.2013
Модератор
Тем 30
Сообщения 17495
5
13:02

Андрей - точно. Это я с допом выше промахнулся - хотел его найти и первое что выдало по фразе menu сюда скинул 😅

0
Neuro75
не в сети 4 месяца
На сайте с 24.10.2016
Участник
Тем 2
Сообщения 8
6
13:08

Здравствуйте, Андрей.
Не совсем этот. По ссылке на материал в первом ответе функционал этого допа я фактически реализовал вставкой в header сущности:

<?php
	if (is_user_logged_in()) {
	  global $rcl_user_URL;
	  echo '<a href="'.$rcl_user_URL.'"><i class="fa fa-user"></i><span> Личный кабинет</span></a> / <a href="'.wp_logout_url( home_url()). '">Выход</a>';
	} else {
	  echo '<a href="/?action-rcl=login"><i class="fa fa-user"></i><span> Вход (регистрация)</a>';
	}
?>

Мне нужно чтобы в меню (ну или в области header'a) появлялся не просто пункт "Личный кабинет", а раскрывающийся список с пунктами личного кабинета.
Т.е. по сути - компиляция из этого дополнения и вот этого тоже вашего дополнения

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

.

Теоретически я понимаю, что реализовать это можно так: установить "Copy menu in bar", отключить вывод RecallBar и вставить в хидер вышеуказанную конструкцию, заменив в ней строчку

echo '<a href="'.$rcl_user_URL.'"><i class="fa fa-user"></i><span> Личный кабинет</span></a> / <a href="'.wp_logout_url( home_url()). '">Выход</a>';

на
echo '<a href="'.ЧТО_ТО_ВЫЗЫВАЮЩЕЕ_ВЫПАДАЮЩЕЕ_МЕНЮ.'"><i class="fa fa-user"></i><span> Личный кабинет</span></a> / <a href="'.wp_logout_url( home_url()). '">Выход</a>';

, где '.ЧТО_ТО_ВЫЗЫВАЮЩЕЕ_ВЫПАДАЮЩЕЕ_МЕНЮ.' нужно взять в коде упомянутого "Copy menu in bar".
Но, во-первых, я не нашел ни в директории add-on, ни вообще где-то .php файл с этим дополнением, а во-вторых даже если найду, не уверен что пойму какую функцию нужно сюда написать. Мои знания пока на уровне копипасты готовых решений.
Не могли бы вы подсказать по этому пункту?

0
Андрей CS
не в сети 26 минут
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 14778
7
14:00

Вы хотите скрестить два дополнения, но так просто это не сделать и подсказать что то конкретное тут сложно.
Ссылка на личный кабинет вставляется в меню сайта динамически, надо двигаться в этом направлении, сделать этот пункт родительским и добавить таким же образом для него дочерние пункты, которые будут являться ссылками на разделы личного кабинета. Я думаю, правильным будет использовать фильтр "wp_get_nav_menu_items", но получится ли получить желаемый результат сказать не могу.

0
Neuro75
не в сети 4 месяца
На сайте с 24.10.2016
Участник
Тем 2
Сообщения 8
8
15:09

Не, я просто хотел код, который в "Copy menu in bar" выводит значок пользователя с выпадающим меню вставить не в RecallBar, а в произвольное место. В данном частном случае - в header.
А где взять этот код найти не могу.

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