Twitter Bootstrap — это мощный, интуитивно понятный фронтенд фреймворк для ускорения и упрощения веб-разработки. Bootstrap предоставляем кроссбраузерный 12-колоночный адаптивный CSS, который не только будет замечательно работать даже в старых браузерах (например IE7), но и прекрасно чувствует себя на смартфонах, мобильных и планшетных браузерах. Также он включает в себя несколько компонентов JavaScript, которые обычно требуются для интерактивных веб-порталов.
Говоря о WordPress в первую очередь как о CMS, мы хотим управлять всем из бекенда. Однако, компоненты Twitter Bootstrap не разработаны под бекенд WordPress. Поэтому мы постараемся преодолеть эту проблему, внедряя шорткоды WordPress для всех компонентов Twitter bootstrap. Начнем мы с Collapse.
Пример на скриншоте:
Использование
[collapse_group id="optional_group_1"] [collapse title="my heading1" id="optional_id" open="y/n"]Некоторый текст[/collapse] [collapse title="my heading2" id="optional_id" open="y/n"]Некоторый текст[/collapse] [/collapse_group]
Сниппет
Добавляем следующий код в файл functions.php вашей темы:
add_shortcode("collapse", "collapse"); add_shortcode("collapse_group", "collapse_group"); function collapse_group( $atts, $content = null ) { extract(shortcode_atts(array( 'id' => '', 'class' => '' ), $atts)); $output = '<div class="accordion '.$class.'" '; if(!empty($id)) $output .= 'id="'.$id.'"'; $output .='>'.do_shortcode($content).'</div>'; return $output; } function collapse($atts, $content = null) { extract(shortcode_atts(array( 'id' => '', 'title' => '', 'open'=>'n' ), $atts)); // автоматически генерируем id для связки тайтла аккордеона с конентом if(empty($id)) $id = 'accordian_item_'.rand(100,999); $output = '<div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#'.$id.'">'.$title.'</a> </div> <div id="'.$id.'" class="accordion-body collapse '.($open == 'y' ? 'in' :'').'"> <div class="accordion-inner">'.$content.'</div> </div> </div>'; return $output; }