Я использую плагин WordPress, который настраивает аккордеон.
Я бы хотел, чтобы по умолчанию был открыт один раздел.
Если я изменяю состояние на открытое, оно открывает все, но я могу вручную закрыть все из них.
Это не решение, которое я ищу.
Решение: один открывается по умолчанию.
Несмотря на несколько попыток, я не смог изменить код, чтобы он заработал.
Может кто-нибудь, пожалуйста, помогите мне.
$id = ($id <> '') ? " id='" . esc_attr( $id ) . "'" : '';
$class = ($class <> '') ? esc_attr( ' ' . $class ) : '';
$divClass = ($state == 'close') ? 'et-learn-more' : 'et-learn-more et-open';
$hClass = ($state == 'close') ? 'heading-more' : 'heading-more open';
$divClass .= ' clearfix';
$output = "<div{$id} class='{$divClass}{$class}'>
<h3 class='{$hClass}'>" . esc_html( $caption ) . "<span class='et_learnmore_arrow'><span></span></span></h3>
<div class='learn-more-content'>{$content}</div>
</div>";
return $output;
Я исхожу из предположения, что ваш пример кода находится внутри цикла, поэтому все, что вам нужно сделать, это убедиться, что когда вы нажимаете определенную id
(тот, который вы хотите оставить открытым), что он получает статус открытого в любое время.
Предположим, скажем, id
раздела, который вы хотите оставить открытым 3
вот что вы могли бы сделать:
if ($id == 3)
$state = 'open';
Вставьте это утверждение поверх блока кода, который вы добавили в свой вопрос.
Поскольку я не знаю, что еще влияет на переменную $state
Убедитесь, что оно не изменилось где-либо еще, так что ваше утверждение выше всегда остается верным, гарантируя, что раздел всегда остается открытым.
Других решений пока нет …