1 | <?php |
||||
2 | /** |
||||
3 | * Template used to display the workout content in table form |
||||
4 | * |
||||
5 | * @package lsx-health-plan |
||||
6 | */ |
||||
7 | |||||
8 | global $group_name,$shortcode_args; |
||||
9 | $groups = get_post_meta( get_the_ID(), $group_name, true ); |
||||
0 ignored issues
–
show
Bug
introduced
by
![]() |
|||||
10 | if ( is_singular( 'workout' ) ) { |
||||
0 ignored issues
–
show
|
|||||
11 | $groups = get_post_meta( get_queried_object_id(), $group_name, true ); |
||||
12 | } |
||||
13 | |||||
14 | $link_setting = \lsx_health_plan\functions\get_option( 'workout_tab_link', 'single' ); |
||||
15 | $modal_content_setting = \lsx_health_plan\functions\get_option( 'workout_tab_modal_content', 'excerpt' ); |
||||
16 | $content_setting = \lsx_health_plan\functions\get_option( 'workout_tab_content', '' ); |
||||
17 | $column_setting = \lsx_health_plan\functions\get_option( 'workout_tab_columns', '4' ); |
||||
18 | |||||
19 | // Check for shortcode overrides. |
||||
20 | if ( null !== $shortcode_args ) { |
||||
0 ignored issues
–
show
|
|||||
21 | if ( isset( $shortcode_args['link'] ) ) { |
||||
0 ignored issues
–
show
|
|||||
22 | $link_setting = $shortcode_args['link']; |
||||
23 | } |
||||
0 ignored issues
–
show
|
|||||
24 | if ( isset( $shortcode_args['description'] ) ) { |
||||
0 ignored issues
–
show
|
|||||
25 | $content_setting = $shortcode_args['description']; |
||||
26 | } |
||||
0 ignored issues
–
show
|
|||||
27 | if ( isset( $shortcode_args['columns'] ) ) { |
||||
0 ignored issues
–
show
|
|||||
28 | $column_setting = $shortcode_args['columns']; |
||||
29 | $column_setting = \lsx_health_plan\functions\column_class( $column_setting ); |
||||
30 | } |
||||
0 ignored issues
–
show
|
|||||
31 | if ( isset( $shortcode_args['modal_content'] ) ) { |
||||
0 ignored issues
–
show
|
|||||
32 | $modal_content_setting = $shortcode_args['modal_content']; |
||||
33 | } |
||||
34 | } |
||||
35 | |||||
36 | $modal_args = array( |
||||
37 | 'modal_content' => $modal_content_setting, |
||||
38 | ); |
||||
39 | |||||
40 | $counter = 1; |
||||
41 | |||||
42 | if ( ! empty( $groups ) ) { |
||||
0 ignored issues
–
show
|
|||||
43 | ?> |
||||
44 | <div class="set-grid"> |
||||
45 | <div class="workout-grid row"> |
||||
46 | <?php |
||||
47 | foreach ( $groups as $group ) { |
||||
0 ignored issues
–
show
|
|||||
48 | $connected_exercise = false; |
||||
49 | if ( isset( $group['connected_exercises'] ) && '' !== $group['connected_exercises'] ) { |
||||
0 ignored issues
–
show
|
|||||
50 | $connected_exercise = true; |
||||
51 | } |
||||
52 | |||||
53 | if ( ! $connected_exercise ) { |
||||
0 ignored issues
–
show
|
|||||
54 | $group['connected_exercises'] = ''; |
||||
55 | } |
||||
0 ignored issues
–
show
|
|||||
56 | $alt_title_value = $group['alt_title'] ?? ''; |
||||
57 | if ( ( $connected_exercise ) || ( ( ! $connected_exercise ) && $alt_title_value ) ) { |
||||
0 ignored issues
–
show
|
|||||
58 | |||||
59 | $alt_title = ''; |
||||
60 | if ( isset( $group['alt_title'] ) && '' !== $group['alt_title'] ) { |
||||
0 ignored issues
–
show
|
|||||
61 | $alt_title = '<span class="alt-title">' . esc_html( $group['alt_title'] ) . '</span>'; |
||||
62 | } |
||||
63 | |||||
64 | $alt_description = ''; |
||||
65 | if ( isset( $group['alt_description'] ) && '' !== $group['alt_description'] ) { |
||||
0 ignored issues
–
show
|
|||||
66 | $alt_description = '<span class="alt-description">' . esc_html( $group['alt_description'] ) . '</span>'; |
||||
67 | } |
||||
68 | |||||
69 | $alt_image = ''; |
||||
70 | if ( isset( $group['exercise_alt_thumbnail'] ) && '' !== $group['exercise_alt_thumbnail'] ) { |
||||
0 ignored issues
–
show
|
|||||
71 | $alt_image = $group['exercise_alt_thumbnail']; |
||||
72 | } |
||||
73 | |||||
74 | $reps = ''; |
||||
75 | if ( isset( $group['reps'] ) && '' !== $group['reps'] ) { |
||||
0 ignored issues
–
show
|
|||||
76 | $reps = '<span class="reps">' . esc_html( $group['reps'] ) . '</span>'; |
||||
77 | } |
||||
0 ignored issues
–
show
|
|||||
78 | $class_excerpt = 'no-excerpt'; |
||||
79 | if ( 'excerpt' === $content_setting ) { |
||||
0 ignored issues
–
show
|
|||||
80 | $class_excerpt = 'has-excerpt'; |
||||
81 | } |
||||
0 ignored issues
–
show
|
|||||
82 | // Setup our link and content. |
||||
83 | switch ( $link_setting ) { |
||||
0 ignored issues
–
show
|
|||||
84 | case 'single': |
||||
85 | $link_html = '<a href="' . get_permalink( $group['connected_exercises'] ) . '">'; |
||||
0 ignored issues
–
show
Are you sure
get_permalink($group['connected_exercises']) of type false|string can be used in concatenation ?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
86 | $link_close = '</a>'; |
||||
87 | break; |
||||
88 | |||||
89 | case 'modal': |
||||
90 | if ( ( '' !== $alt_title ) || ( '' !== $alt_description ) || ( '' !== $alt_image ) ) { |
||||
0 ignored issues
–
show
|
|||||
91 | $link_html = '<a class="alt-modal" data-toggle="modal" href="#workout-alt-exercise-modal-' . $group['connected_exercises'] . '">'; |
||||
92 | $link_close = '</a>'; |
||||
93 | // We call the button to register the alt modal, but we do not output it. |
||||
94 | lsx_health_plan_workout_exercise_alt_button( $group['connected_exercises'], $group, false, $modal_args, $alt_title, $alt_description, $alt_image ); |
||||
95 | } else { |
||||
96 | $link_html = '<a data-toggle="modal" href="#workout-exercise-modal-' . $group['connected_exercises'] . '">'; |
||||
97 | $link_close = '</a>'; |
||||
98 | // We call the button to register the modal, but we do not output it. |
||||
99 | lsx_health_plan_workout_exercise_button( $group['connected_exercises'], $group, false, $modal_args ); |
||||
100 | } |
||||
0 ignored issues
–
show
|
|||||
101 | |||||
102 | break; |
||||
103 | |||||
104 | case 'none': |
||||
105 | default: |
||||
106 | $link_html = ''; |
||||
107 | $link_close = ''; |
||||
108 | break; |
||||
109 | } |
||||
110 | ?> |
||||
111 | <div class="col-xs-12 col-sm-6 col-md-<?php echo esc_attr( $column_setting ); ?>"> |
||||
112 | <article class="lsx-slot box-shadow"> |
||||
113 | <div class="exercise-feature-img"> |
||||
114 | <?php echo wp_kses_post( $link_html ); ?> |
||||
115 | <?php |
||||
116 | $thumbnail_args = array( |
||||
117 | 'class' => 'aligncenter', |
||||
118 | ); |
||||
119 | $featured_image = get_the_post_thumbnail( $group['connected_exercises'], 'medium', $thumbnail_args ); |
||||
120 | if ( $alt_image ) { |
||||
0 ignored issues
–
show
|
|||||
121 | $featured_image = '<img alt="thumbnail" loading="lazy" class="aligncenter wp-post-image" src="' . $alt_image . '">'; |
||||
122 | } |
||||
0 ignored issues
–
show
|
|||||
123 | if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
||||
0 ignored issues
–
show
|
|||||
124 | echo wp_kses_post( $featured_image ); |
||||
125 | } else { |
||||
126 | ?> |
||||
127 | <img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . '../assets/images/placeholder.jpg' ); ?>"> |
||||
128 | <?php |
||||
129 | } |
||||
130 | ?> |
||||
131 | <?php echo wp_kses_post( $link_close ); ?> |
||||
132 | </div> |
||||
133 | <div class="content-box exercise-content-box white-bg"> |
||||
134 | <h3 class="content-box-title <?php echo esc_html( $class_excerpt ); ?>"> |
||||
135 | <?php echo wp_kses_post( $link_html ); ?> |
||||
136 | <?php |
||||
137 | $exercise_title = lsx_health_plan_exercise_title( '', '', false, false, $group['connected_exercises'] ); |
||||
138 | |||||
139 | if ( '' !== $alt_title ) { |
||||
0 ignored issues
–
show
|
|||||
140 | $exercise_title = '<span class="exercise-counter">' . $counter . '.</span>' . $alt_title; |
||||
141 | } else { |
||||
142 | $exercise_title = '<span class="exercise-counter">' . $counter . '.</span>' . $exercise_title; |
||||
143 | } |
||||
0 ignored issues
–
show
|
|||||
144 | echo wp_kses_post( $exercise_title ); |
||||
145 | ?> |
||||
146 | </a> |
||||
147 | <?php echo wp_kses_post( $link_close ); ?> |
||||
148 | </h3> |
||||
149 | <?php |
||||
150 | if ( '' !== $content_setting ) { |
||||
0 ignored issues
–
show
|
|||||
151 | ?> |
||||
152 | <p class="lsx-exercises-excerpt"> |
||||
153 | <?php |
||||
154 | if ( 'excerpt' === $content_setting ) { |
||||
0 ignored issues
–
show
|
|||||
155 | $excerpt = \lsx_health_plan\functions\hp_excerpt( $group['connected_exercises'] ); |
||||
156 | |||||
157 | if ( '' !== $alt_description ) { |
||||
0 ignored issues
–
show
|
|||||
158 | $excerpt = $alt_description; |
||||
159 | } |
||||
0 ignored issues
–
show
|
|||||
160 | echo wp_kses_post( $excerpt ); |
||||
161 | } |
||||
0 ignored issues
–
show
|
|||||
162 | if ( 'full' === $content_setting ) { |
||||
0 ignored issues
–
show
|
|||||
163 | echo wp_kses_post( get_the_content( null, null, $group['connected_exercises'] ) ); |
||||
164 | } |
||||
165 | ?> |
||||
166 | </p> |
||||
167 | <?php |
||||
168 | } |
||||
169 | ?> |
||||
170 | <?php |
||||
171 | $repsclass = ''; |
||||
172 | if ( '' !== $reps ) { |
||||
0 ignored issues
–
show
|
|||||
173 | $repsclass = 'have-reps'; |
||||
174 | } |
||||
175 | ?> |
||||
176 | <div class="reps-container <?php echo esc_html( $repsclass ); ?>"> |
||||
177 | <?php |
||||
178 | if ( '' !== $reps ) { |
||||
0 ignored issues
–
show
|
|||||
179 | ?> |
||||
180 | <?php echo wp_kses_post( $reps ); ?> |
||||
181 | <?php |
||||
182 | } |
||||
183 | ?> |
||||
184 | <?php if ( ( '' !== $link_html ) && ( $connected_exercise ) ) { ?> |
||||
0 ignored issues
–
show
|
|||||
185 | <?php echo wp_kses_post( str_replace( '<a', '<a class="btn-simple" ', $link_html ) ); ?> |
||||
186 | <?php echo wp_kses_post( $link_close ); ?> |
||||
187 | <?php } ?> |
||||
188 | </div> |
||||
189 | </div> |
||||
190 | </article> |
||||
191 | </div> |
||||
192 | <?php |
||||
193 | $counter ++; |
||||
194 | } |
||||
195 | } |
||||
196 | ?> |
||||
197 | </div> |
||||
198 | </div> |
||||
199 | <?php |
||||
200 | } |
||||
201 |