Здравствуйте. Задумка такая: показывать 2 разных реколл бара для 2-х разных типов пользователей (указанных при регистрации).
Как вариант я предлагаю установить дополнение Yworld New Recallbar чтоб можно было настраивать бар из админки. И далее подключить для 1-го типа пользователей Стандартный рекол бар, а для 2-го типа пользователей подключить бар через дополнение. (возможно придётся делать поправки в дополнении?).
Массив для вывода типов пользователей по meta_key , meta_value указан в данной статье
Может как то исходя из этого можно сделать: если 1-ое значение метакея типа пользователя, то выводить стандартный рекол бар, если 2-ой тип пользователя то выводить из дополнения.
Может я мыслю не в том направлении? Как это вообще можно реализовать?
Дружаев Владимир (Otshelnik-Fm) сказал(а)
Игорь - упомянули твой доп. Перенес к тебе
Спасибо, я как раз нашел пару минут))
Сделать разделение кому показывать мой барчик, а кому стандартный с дефолтными настройками можно. Собственно я сделал уже, но не хочется городить всякие настройки.
Вот такая настройка появилась в дополнении:
Выводятся все зарегистрированные роли и выбор, кто увидит дефолт соответственно.
Как сегодня появится опять время, подготовлю обновление)
А через типы пользователей реально сделать в этом допе? Иначе получается придётся связывать тип пользователя при регистрации с его ролью, то есть лишние шаги делать в обход. Ведь когда пользователи стали реколом пользоваться, стали теперь больше не ролями пользоваться а как раз типами через радиокнопку который указывают при регистрации.
Сделал очень простой вариант.
Появилась пару настроек. В одну вписываете meta_key поля типа
В другую название пункта которому не надо показывать барчик, вписываете так, как у вас в настройках этот пункт.
Скажем есть пункты:
Не выбрано
Крутой
Прохожий
Вписываете скажем - Прохожий. Для первого пустого пункта, также барчик не покажется.
Ссылка на доп -
Перед установкой деактивировать прежний, настройки сохраняться. Но бекап никогда не помешает и стоит сделать!
Отпишитесь по результату)
Игорь, работает. Отлично, только есть одна проблемка. Вот её суть:
Тем, кто будет пользоваться данной функцией в вашем дополнении, скорее всего нужно будет выводить 2 разных рекол бара. То есть настроить иконки в вашем рекол баре и чтоб они выводились у одного типа пользователей. А для другого типа пользователей настроить стандартный бар. Стандартный бар мы настраиваем по
. Но когда мы выводим в обычный рекол бар новую иконку функцией my_rcl_bar_add_icon, то эта же иконка выведется и в вашем баре. То есть получается как бы мы хотим настроить обычный рекол бар для к примеру "мужиков" а другой для "женщин". Но в правом меню будет тоже самое что в одном что в другом баре. (если мы строим бар через функцию my_rcl_bar_add_icon). Можно ли сделать ваш бар независимым как то от этой функции? Или какие есть мысли по поводу реализации такого варианта?
То, что вы просите сделать, можно организовать, добавив еще кучу настроек и шаблон в дополнение. Но относится скорее в разряд именно вашей необходимости.
Кастомизируйте шаблон дефолтный по статье приведенной выше, вы можете в него добавить свои хуки и привязываться к ним и не будет влиять на шаблон дополнения.
Тем более ваших желаний по изменению и что вы добавляете и меняете мне неизвестны))
С 55 минуты по 1.04 минуту посмотрите
Показано как на лету переопределять шаблон.
Об этом рассказано и здесь
И на форуме по запросу rcl_template_path
Но тут уже вам надо программировать - писать условия и подменять шаблоны. Если не справляетесь - наймите специалиста. Направление, куда смотреть для решения вашей задачи, я подсказал.
Благодарю за инфу. Пишу инструкцию для чайников как я решил эту задачу для себя, под конкретно свои нужды.
На данном этапе реализовал свою идею таким способом:
1. Благодаря дополнению Игоря Yworld New Recallbar, у меня появилась возможность вывести 2 разных рекол бара для разных типов пользователей (указанных при регистрации радиокнопкой). А точнее просто в настройках дополнения Yworld New Recallbar Я исключил показ бара Yworld New Recallbar для одного типа пользователей, просто в настройках от этого дополнения ввёл метакей произвольного поля (радиокнопки) и его значение, чтобы этому типу пользователей не показывать реколбар из дополнения Yworld New Recallbar а показывать стандартный Рекол бар.
2. Теперь когда я разделил: для 1 типа пользователей будет показываться рекол бар Yworld New Recallbar а для 2 типа стандартный реколбар, нужно их настроить.
Настраиваем сначала стандартный рекол бар, добавляя в него свои иконки с ссылками. Возникла проблема, когда я добавляю иконки в стандартный рекол бар пользуясь руководством
, теже самые иконки появляются и в нашем 2-м баре Yworld New Recallbar . Решил так:
новые иконки вставляются в правое меню сайта в определённый блок, по этому я просто напросто убрал этот блок из кода yw-recallbar.php точнее удалил блок и все блоки внутри него. Теперь после добавления иконок в стандартный рекол бар, в бар Yworld New Recallbar ничего не добавляется.
3. теперь нужно настроить 2-й бар для 2-го типа пользователей. Для этого типа у нас будет выводиться бар Yworld New Recallbar, он настаивается очень просто из админки, там есть иконки соц сетей и ссылки на них, я просто меняю иконки на свои и ставлю свои ссылки, тем самым получаю нужное мне меню.
Отлично, вроде всё заработало, но вылез один косяк. Когда просматриваем с мобильных, в нашем баре Yworld New Recallbar исчезают эти пункты меню (ссылки на соц. сети, но уже не на соц сети а настроенные нами ссылки), а мне этого совсем не нужно. Оказалось что в ксс стилях нашего бара Yworld New Recallbar специально для мобильных спрятаны эти пункты нашего бара. Залазим в style.css нашего Yworld New Recallbar бара, находим нужный класс .yw-soc-icon и видем что он спрятан для мобильных, я просто убрал полностью эту настройку, удалил из ксс дополнения следующий код: @media screen and (max-width: 900px){
#recallbar .yw-soc-icon{
visibility: hidden;
display: none !important;
}
}
После чего всё заработало как мне надо. Но при тесте вылез ещё косяк не нужный мне, эти ссылки в баре Yworld New Recallbar открывались в новой вкладке (ведь они расчитаны на соц сети). Чтобы это убрать и заставить их открываться в действующей вкладке я просто удалил из тегов ссылок target="_blank".
Всё, теперь работает как надо. Пока больше ничего не выявил. Возмонжо не самое удачное решение, но для того кто не умеет программировать это решение возможно будет самым простым, не считая нанять програмиста))).
daniablag сказал(а)
Остался вопрос, не удалятся ли мои правки в коде вашего дополнения после следующего обновления?) Или как сделать чтоб не удалились?
Скорее всего, не будет каких-то обновлений серьезных в ближайшем будущем.
Но вы всегда можете на странице допа тут в каталоге, заглянуть во вкладку - Changelog.
Там описано все, что произошло с допом в новом релизе.
Сравнить код, там его не много, просто решить, надо вам обновляться или нет, перенести обновление руками.
Но самое продуктивное:
Взять и с копировать созданный вами yw-recallbar.php шаблон в папку wp-content/wp-recall/templates/
Тогда точно ничего не затрется при обновлении))
А стили, те блоки измененный вами, перенести в доп стили в настройках темы сайта или в какой-то другой файл...
Так как ниже или добавьте, что-то полезное сюда, я не проверял, может и не сработает, придется искать варианты или всегда о них помнить перед обновлением и оставить как у вас))
@media screen and (max-width: 900px){ #recallbar .yw-soc-icon{ } }