PluginProbe ʕ •ᴥ•ʔ
Spider Elements – Premium Elementor Widgets & Addons Library / 1.1.0
Spider Elements – Premium Elementor Widgets & Addons Library v1.1.0
trunk 1.0.0 1.1.0 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.7.0 1.8.0 1.9.0
spider-elements / widgets / templates / accordion / accordion.php
spider-elements / widgets / templates / accordion Last commit date
accordion.php 2 years ago
accordion.php
87 lines
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly.
4 }
5 ?>
6 <div class="accordion" <?php echo esc_attr( $toggle_id ); ?>>
7 <?php
8 if ( ! empty( $accordions ) ) {
9 foreach ( $accordions as $index => $item ) {
10 $is_coFllapsed_class = $item['collapse_state'] ?? '';
11 $is_btn_collapse = $is_coFllapsed_class == 'yes' ? 'spe-collapsed' : '';
12 $is_collapsed = $is_coFllapsed_class == 'yes' ? 'true' : 'false';
13 $id = 'toggle-' . $item['_id'] ?? '';
14 $is_show = $is_coFllapsed_class == 'yes' ? 'show' : '';
15 $border_bottom_class = $index === array_key_last($accordions) ? ' border-bottom-none' : '';
16 $is_border_bottom = !empty($settings['is_border_bottom'] == 'yes') ? '' : $border_bottom_class;
17 ?>
18 <div class="card doc_accordion<?php echo esc_attr($is_border_bottom) ?> spe_accordion_inner <?php echo esc_attr( $is_btn_collapse ).esc_attr( 'ezd-accord-item-'.$item['_id'] ); ?>">
19 <div class="card-header spe-accordion" id="heading-<?php echo esc_attr( $item['_id'] ); ?>">
20 <<?php echo esc_attr( $title_tag ); ?> class="title">
21 <button class="btn btn-link <?php echo esc_attr( $icon_align_class ); ?>">
22 <?php
23 echo esc_html( $item['title'] );
24
25 if ( ! empty( $settings['plus-icon']['value'] ) || ! empty( $settings['minus-icon']['value'] ) ) { ?>
26 <span class="icon-wrapper">
27 <span class="expanded-icon">
28 <?php \Elementor\Icons_Manager::render_icon( $settings['plus-icon'], [ 'aria-hidden' => 'true' ] ); ?>
29 </span>
30 <span class="collapsed-icon">
31 <?php \Elementor\Icons_Manager::render_icon( $settings['minus-icon'], [ 'aria-hidden' => 'true' ] ); ?>
32 </span>
33 </span>
34 <?php
35 }
36 ?>
37 </button>
38 </<?php echo esc_attr( $title_tag ) ?>>
39 </div>
40
41 <div id="<?php echo esc_attr( $id ) ?>" class="collapse <?php echo esc_attr( $is_show ) ?>"
42 <?php echo esc_attr( $toggle_bs_parent_id ); ?>>
43 <div class="card-body toggle_body">
44 <?php
45 $content_type = $item['content_type'] ?? '';
46 if ( $content_type == 'content' ) {
47 echo wp_kses_post( $item['normal_content'] );
48 } elseif ( $content_type == 'el_template' ) {
49 if ( ! empty( $item['el_content'] ) ) {
50 echo \Elementor\Plugin::$instance->frontend->get_builder_content_for_display( $item['el_content'] );
51 }
52 }
53 ?>
54 </div>
55 </div>
56 </div>
57 <?php
58 }
59 }
60
61 if ( isset( $settings['faq_schema'] ) && 'yes' === $settings['faq_schema'] ) {
62 $json = [
63 '@context' => 'https://schema.org',
64 '@type' => 'FAQPage',
65 'mainEntity' => [],
66 ];
67
68 foreach ( $settings['accordions'] as $index => $item ) {
69 $json['mainEntity'][] = [
70 '@type' => 'Question',
71 'name' => wp_strip_all_tags( $item['title'] ),
72 'acceptedAnswer' => [
73 '@type' => 'Answer',
74 'text' => $this->parse_text_editor( $item['normal_content'] ),
75 ],
76 ];
77 }
78 ?>
79 <script type="application/ld+json">
80 <?php echo wp_json_encode( $json ); ?>
81
82
83 </script>
84 <?php
85 }
86 ?>
87 </div>