Поддержка Проблемы и решения После обновления wp перестали функционировать вложенные спойлеры

  • Добрый день

    Второй день не могу победить следующую проблему, которая возникла после обновления wp:

    Проблема в следующем: при создании 1 раздела: [spoiler] раздел 1[/spoiler] все отрабатывает хорошо. Если создать спойлер в спойлере (раздел в разделе) так: [spoiler] раздел 1 [spoiler] подраздел №1 1 раздела[/spoiler] [spoiler] подраздел №2 1 раздела[/spoiler][/spoiler] То скрипты не отрабатывают. Это связано с обновленной версией wp или проблема в чем то другом? 2 недели назад до обновлений, все отрабатывало нормально. (На сайте слетели спойлеры нижнего уровня у: Результаты соревнований 2018 года, Результаты соревнований 2017 года. Вся информация между ними должна быть вложена внутрь разделов)

    Как можно исправить эту проблему?

    С Уважением, Максим

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • вообще-то это не должно было работать никогда.
    wp не поддерживает nested шорткоды.
    приходится изгаляться делая шорткоды аля spoiler2, spoiler3 и так далее.

    Огромное спасибо за Ваш ответ Flector. Но все работало с 2017 по 2019 год минимум. Сейчас попробовал добавить 2 вид спойлера, которые скроет все дочерние, но максимум что получилось, так это то что все скрылось в родительском и он не раскрывается:

    ***function.php****

    function hyper_spoiler($atts, $content) {
    // return print’MAIN<HR><b>’.print_r($atts).print_r($content). print'</b>’;
    if (!isset($atts[name])) {$sp_name = ‘Спойлер’;}
    else {$sp_name = $atts[name];}
    return ‘<div class=»spoiler-wrap»>
    <div class=»spoiler-head folded»>’.$sp_name.'</div>
    <div class=»spoiler-body»>’.$content.'</div>
    </div>’;
    }
    add_shortcode(‘spoiler’, ‘hyper_spoiler’);

    function simple_spoiler_shortcode($atts, $content) {
    if ( ! isset($atts[‘title’]) ) {
    $sp_name = ‘Спойлер’;
    } else {
    $sp_name = $atts[‘title’];
    }
    return ‘<div class=»spoiler-wrap»>
    <div class=»spoiler-head folded»>’.$sp_name.'</div>
    <div class=»spoiler-body»>’.$content.'</div>
    </div>’;
    }
    add_shortcode( ‘globalsection’, ‘simple_spoiler_shortcode’ );

    ***************
    globalsection.js

    jQuery(document).ready(function() {
    // jQuery(‘.spoiler-body’).hide();
    jQuery(‘.spoiler-head’).click(function() {
    jQuery(this).toggleClass(‘folded’).toggleClass(‘unfolded’).next().toggle();
    });
    });

    ****************

    Скрипты подключаются в header.php (в теме)

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «После обновления wp перестали функционировать вложенные спойлеры» закрыта для новых ответов.