Какой плагин позволяет выводить текст в зависимости от выбранного варианта?

Ссылка скопирована
1 ответ

Приветствую.

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

Выберите банк: СБЕР, ВТБ, Тинькофф

если СБЕР:
- юр лицо; частное лицо
если юр лицо
- ..... и т.д

если ВТБ:
- и т.д.

Вроде как в схемах это блок-схемы, а вот с текстом - вроде "условия" но подходящего не находится

Дополнительно:

Ну вывел а дальше? Что с заполненной формой делать?
Или речь не о форме? Нормально опиши задачу.

  • Refguser, это не форма, а так скажем фильтрация инструкции, т.е. для одного банка одного лица одна инструкция, для другого - другая
  • Александр, нормально опиши задачу.

    это не форма, а так скажем фильтрация

    Фильтр - это тоже форма. Что такое тут "инструкции" - вообще не понятно.

  • Ответы:

    Привет
    ACF - даже базовой версии должно хватить (вроде) / ну или carbon fields
    есть чекбоксы, повторители и текстовые поля
    С их помощью можно сделать такую схему

    любой строитель форм. Лучше использовать contact form 7. Устанавливаеш этот плагин и в админке в боковом меню contact form 7 - Контактные формы - вверху - Добавить новую. Ну и добавляеш. Уже будет написан шаблон. Перед текстовым полем будут кнопки, выбираете допустим "в раскрывающемся меню". В нужном месте пишите условие, допустим "Выберите банк" и нажимаете на "в раскрывающемся меню". Одно значение в каждой строчке, вводите на каждую строку по одному
    СБЕР
    ВТБ
    Тинькофф
    Можно разрешить множественный выбор селекторе, т.е. можно указать и ВТБ и
    Тинькофф сразу, или вставить пустой пункт в качестве первого варианта. Указать обязательное поле для заполнения или нет. Можно вставить чекбокс (множественный выбор) или радио кнопки (выбирать или или). Все дела. Для своего текста нажимаете на кнопку "текст". А уже когда эта форма появиться на странице её на модифицировать. В смысле подогнать под стиль самой страницы. Убрать белое поле текстового поля. Чтоб выглядело что никакой формы нет, просто на стр. написан текст. То шо обычно форма представляет собой белое тестовое поле. Можно и без формы. Если надо просто вывести выбор пользователя. Допустим он выбирает Тинькофф чтоб посмотреть инфу о банке. Выбрал Тинькофф. А здесь можно такую штуку сделать чтоб отобразить чего он хочет.

    <script type="text/javascript" src="https://www.03www.ru/jquery.min-no.js"></script>  Выберите банк <select id="select"> <option value='0'></option> <option value='1'>СБЕР</option> <option value='2'>ВТБ</option> <option value='3'>Тинькофф</option></select><br><br> Банк: <span id="desc"></span>  <script>$(document).ready(init);function init(){$('#select').bind('change', desc);}function desc(){var op=$('#select').val();switch (op){ case '1': $('#desc').text('СБЕР<br>Инфа'); break; case '2': $('#desc').text('ВТБ<br>Инфа'); break; case '3': $('#desc').text('Тинькофф<br>Инфа'); break;}}</script>

    <script type="text/javascript" src="https://www.03www.ru/jquery.min-no.js"></script> Выберите банк <select id="select"> <option value='0'></option> <option value='1'>СБЕР</option> <option value='2'>ВТБ</option> <option value='3'>Тинькофф</option></select><br><br> Банк: <span id="desc"></span> <script>$(document).ready(init);function init(){$('#select').bind('change', desc);}function desc(){var op=$('#select').val();switch (op){ case '1': $('#desc').text('СБЕР<br>Инфа'); break; case '2': $('#desc').text('ВТБ<br>Инфа'); break; case '3': $('#desc').text('Тинькофф<br>Инфа'); break;}}</script>

    Так же может пригодиться

    <style> li { list-style-type: none; display: inline-block; margin: 0 10px 0 0; } ul { padding: 0; } .contact input { display: inline-block; margin: 10px 5px 0 0; }</style> <script type="text/javascript" src="https://www.03www.ru/jquery.min-no.js"></script>  <ul id="jq"><li>Контакты</li></ul> <div class="contact">Введите контактные данные<br> <input type="text" id="user_text" size="20" maxlength="50"> <input type="button" value="Добавить" onclick="addSpisok();"></div>  <script>function addSpisok(){var jq=$('#user_text').val();$('#jq').append('<li>'+jq+'</li>');}</script>

    <style> li { list-style-type: none; display: inline-block; margin: 0 10px 0 0; } ul { padding: 0; } .contact input { display: inline-block; margin: 10px 5px 0 0; }</style> <script type="text/javascript" src="https://www.03www.ru/jquery.min-no.js"></script> <ul id="jq"><li>Контакты</li></ul> <div class="contact">Введите контактные данные<br> <input type="text" id="user_text" size="20" maxlength="50"> <input type="button" value="Добавить" onclick="addSpisok();"></div> <script>function addSpisok(){var jq=$('#user_text').val();$('#jq').append('<li>'+jq+'</li>');}</script>

    В принципе и всё. Пробуйте. Если возникнут варианты с публикацией, или вопросы, или ещё чего пишите сюда, как увижу постараюсь ответить. Чтоб последнее, в смысле отобразить чего он хочет, сделать на php тут уже надо знать как это сделать. Если сами то замечательно, а нет, пишите сюда. Так же кстати могу помочь с сайтом.

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Для такой задачи не обязательно искать отдельный “плагин схем инструкций”. По сути Вам нужен управляемый справочник правил: пользователь выбирает банк, тип лица и, возможно, ещё один параметр, а на странице показывается соответствующий текст инструкции. Это можно сделать через ACF, Carbon Fields, JetEngine, Pods или через свой небольшой шорткод.

    Если нужна правка из админки без кода, я бы выбрал ACF Pro с repeater-полем: банк, тип клиента, заголовок инструкции, текст инструкции. На фронте выводите селекты и фильтруете уже подготовленные карточки через JavaScript. Это проще, чем пытаться хранить всё в одном большом тексте.

    Пример структуры данных:

    • банк: Сбер, ВТБ, Тинькофф;
    • тип клиента: физлицо, юрлицо, ИП;
    • текст инструкции: HTML-блок с шагами;
    • дополнительные поля: ссылка, предупреждение, файл, контакт.

    На фронте логика может быть такой:

    const bank = document.querySelector('[name="bank"]');
    const person = document.querySelector('[name="person"]');
    const items = document.querySelectorAll('.instruction-card');
     
    function filterInstructions() {
      items.forEach((item) => {
        const okBank = !bank.value || item.dataset.bank === bank.value;
        const okPerson = !person.value || item.dataset.person === person.value;
        item.hidden = !(okBank && okPerson);
      });
    }
     
    bank.addEventListener('change', filterInstructions);
    person.addEventListener('change', filterInstructions);

    const bank = document.querySelector('[name="bank"]'); const person = document.querySelector('[name="person"]'); const items = document.querySelectorAll('.instruction-card'); function filterInstructions() { items.forEach((item) => { const okBank = !bank.value || item.dataset.bank === bank.value; const okPerson = !person.value || item.dataset.person === person.value; item.hidden = !(okBank && okPerson); }); } bank.addEventListener('change', filterInstructions); person.addEventListener('change', filterInstructions);

    Если текстов мало, можно вообще не делать Ajax: вывести все инструкции на страницу и скрывать лишние. Если текстов сотни, тогда лучше делать Ajax-запрос к WordPress REST API или admin-ajax.php и получать только подходящую инструкцию.

    Итог: ищите не “условный текст”, а инструмент для повторяемых полей. Для WordPress самый нормальный путь — ACF/Carbon Fields + небольшой JS-фильтр. Так администратор сможет добавлять банки и инструкции сам, а посетитель будет видеть только нужный вариант.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно