PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.8
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
← All changes | inc/lp-template-hooks.php +193 -238 4.1.74.4.8 View file →
@@ -11,14 +11,22 @@
11 11
12 12 /**
13 13 * Core template classes: LP_Template_General, LP_Template_Profile, LP_Template_Course.
14 14 *
15 - * + Get instance of a template: LP()->template( TYPE ) e.g: LP()->template( 'course' )
16 - * + LP()->template( TYPE )->func(CALLBACK) => hook to an action with function CALLBACK of TYPE class
17 - * + LP()->template( TYPE )->callback( TEMPLATE ) => hook to an action to c
15 + * + Get instance of a template: LearnPress::instance()->template( TYPE ) e.g: LearnPress::instance()->template( 'course' )
16 + * + LearnPress::instance()->template( TYPE )->func(CALLBACK) => hook to an action with function CALLBACK of TYPE class
17 + * + LearnPress::instance()->template( TYPE )->callback( TEMPLATE ) => hook to an action to c
18 18 */
19 19
20 20
21 +use LearnPress\Helpers\Template;
22 +use LearnPress\Models\CourseModel;
23 +use LearnPress\Models\UserItems\UserCourseModel;
24 +use LearnPress\Models\UserModel;
25 +use LearnPress\TemplateHooks\Course\ListCoursesTemplate;
26 +use LearnPress\TemplateHooks\Course\SingleCourseTemplate;
27 +use LearnPress\TemplateHooks\UserItem\UserCourseTemplate;
28 +
21 29 defined( 'ABSPATH' ) || exit();
22 30
23 31 /**
24 32 * New functions since 3.0.0
@@ -29,26 +37,26 @@
29 37 *
30 38 * @see LP_Template_General::template_header()
31 39 * @see LP_Template_General::template_footer()
32 40 */
33 -add_action( 'learn-press/template-header', LP()->template( 'general' )->func( 'template_header' ) );
34 -add_action( 'learn-press/template-footer', LP()->template( 'general' )->func( 'template_footer' ) );
41 +add_action( 'learn-press/template-header', LearnPress::instance()->template( 'general' )->func( 'template_header' ) );
42 +add_action( 'learn-press/template-footer', LearnPress::instance()->template( 'general' )->func( 'template_footer' ) );
35 43
44 +add_action(
45 + 'learn-press/before-main-content',
46 + LearnPress::instance()->template( 'general' )->text( '<div class="lp-archive-courses">', 'lp-archive-courses-open' ),
47 + - 100
48 +);
36 49 /**
37 50 * Course breadcrumb
38 51 *
39 52 * @see LP_Template_General::breadcrumb()
40 53 */
41 -add_action(
42 - 'learn-press/before-main-content',
43 - LP()->template( 'general' )->text( '<div class="lp-archive-courses">', 'lp-archive-courses-open' ),
44 - - 100
45 -);
46 -add_action( 'learn-press/before-main-content', LP()->template( 'general' )->func( 'breadcrumb' ) );
54 +add_action( 'learn-press/before-main-content', LearnPress::instance()->template( 'general' )->func( 'breadcrumb' ) );
47 55
48 56 add_action(
49 57 'learn-press/after-main-content',
50 - LP()->template( 'general' )->text( '</div>', 'lp-archive-courses-close' ),
58 + LearnPress::instance()->template( 'general' )->text( '</div>', 'lp-archive-courses-close' ),
51 59 100
52 60 );
53 61
54 62
@@ -53,148 +61,86 @@
53 61
54 62
55 63 /**
56 64 * Course buttons
57 - *
58 - * @see learn_press_course_purchase_button
59 - * @see learn_press_course_enroll_button
60 - * @see learn_press_course_retake_button
61 - * @see learn_press_course_continue_button
62 - * @see learn_press_course_finish_button
63 - * @see learn_press_course_external_button
65 + * old hook: learn-press/course-buttons
64 66 */
65 -learn_press_add_course_buttons();
67 +add_action(
68 + 'learn-press/course-buttons',
69 + function () {
70 + $singleCourseTemplate = SingleCourseTemplate::instance();
71 + $course = CourseModel::find( get_the_ID(), true );
72 + $user = UserModel::find( get_current_user_id(), true );
73 + $userCourseModel = UserCourseModel::find( get_current_user_id(), get_the_ID(), true );
74 + $userCourseTemplate = UserCourseTemplate::instance();
66 75
76 + // Button enroll
77 + echo $singleCourseTemplate->html_btn_enroll_course( $course, $user );
78 + // Button purchase
79 + echo $singleCourseTemplate->html_btn_purchase_course( $course, $user );
80 + // Button external
81 + echo '<div style="display:flex;flex-direction:column">';
82 + echo $singleCourseTemplate->html_btn_external( $course, $user );
83 + echo '</div>';
84 + if ( $userCourseModel instanceof UserCourseModel ) {
85 + // Button retake
86 + echo $userCourseTemplate->html_btn_retake( $userCourseModel );
87 + // Button continue
88 + echo '<div style="margin-bottom: 10px">';
89 + echo $userCourseTemplate->html_btn_continue( $userCourseModel );
90 + echo '</div>';
91 + // Button finish
92 + echo $userCourseTemplate->html_btn_finish( $userCourseModel );
93 + }
94 + },
95 + 5
96 +);
67 97
68 98 /** BEGIN: Archive course */
69 -add_action( 'learn-press/before-courses-loop', LP()->template( 'course' )->func( 'courses_top_bar' ), 10 );
99 +add_action( 'learn-press/before-courses-loop', LearnPress::instance()->template( 'course' )->func( 'courses_top_bar' ), 10 );
70 100
71 101 /** BEGIN: Archive course loop item */
72 102 add_action(
73 - 'learn-press/before-courses-loop-item',
74 - LP()->template( 'course' )->text( '<div class="course-wrap-thumbnail">', 'course-wrap-thumbnail-open' ),
75 - 1
76 -);
77 -add_action(
78 - 'learn-press/before-courses-loop-item',
79 - LP()->template( 'course' )->callback( 'loop/course/badge-featured' ),
80 - 5
81 -);
82 -add_action(
83 - 'learn-press/before-courses-loop-item',
84 - LP()->template( 'course' )->callback( 'loop/course/thumbnail.php' ),
85 - 10
86 -);
87 -add_action(
88 - 'learn-press/before-courses-loop-item',
89 - LP()->template( 'course' )->text( '</div>', 'course-wrap-thumbnail-close' ),
90 - 1000
91 -);
92 -
93 -add_action(
94 - 'learn-press/before-courses-loop-item',
95 - LP()->template( 'course' )->text(
96 - '<!-- START .course-content --> <div class="course-content">',
97 - 'course-content-open'
98 - ),
99 - 1000
100 -);
101 -add_action(
102 - 'learn-press/before-courses-loop-item',
103 - LP()->template( 'course' )->callback( 'loop/course/categories' ),
104 - 1010
105 -);
106 -add_action(
107 - 'learn-press/before-courses-loop-item',
108 - LP()->template( 'course' )->callback( 'loop/course/instructor' ),
109 - 1010
110 -);
111 -add_action(
112 103 'learn-press/courses-loop-item-title',
113 - LP()->template( 'course' )->callback( 'loop/course/title.php' ),
104 + LearnPress::instance()->template( 'course' )->callback( 'loop/course/title.php' ),
114 105 20
115 106 );
116 107
117 -/**
118 - * @see LP_Template_Course::courses_loop_item_meta()
119 - * @see LP_Template_Course::courses_loop_item_info_begin()
120 - * @see LP_Template_Course::clearfix()
121 - * @see LP_Template_Course::courses_loop_item_price()
122 - * @see LP_Template_Course::courses_loop_item_info_end()
123 - */
108 +/** END: Archive course loop item */
124 109
125 -add_action(
126 - 'learn-press/after-courses-loop-item',
127 - LP()->template( 'course' )->text(
128 - '<!-- START .course-content-meta --> <div class="course-wrap-meta">',
129 - 'course-wrap-meta-open'
130 - ),
131 - 20
132 -);
133 -add_action(
134 - 'learn-press/after-courses-loop-item',
135 - LP()->template( 'course' )->callback( 'single-course/meta/duration' ),
136 - 20
137 -);
138 -add_action(
139 - 'learn-press/after-courses-loop-item',
140 - LP()->template( 'course' )->callback( 'single-course/meta/level' ),
141 - 20
142 -);
143 -/**
144 - * @see LP_Template_Course::count_object()
145 - */
146 -add_action( 'learn-press/after-courses-loop-item', LP()->template( 'course' )->func( 'count_object' ), 20 );
147 -add_action(
148 - 'learn-press/after-courses-loop-item',
149 - LP()->template( 'course' )->text( '</div> <!-- END .course-content-meta -->', 'course-wrap-meta-close' ),
150 - 20
151 -);
110 +/** Archive course pagination */
111 +if ( LP_Settings::theme_no_support_load_courses_ajax() ) {
112 + add_action(
113 + 'learn-press/after-courses-loop',
114 + LearnPress::instance()->template( 'course' )->callback( 'loop/course/pagination.php' )
115 + );
116 +} else {
117 + add_action(
118 + 'learn-press/after-courses-loop',
119 + function () {
120 + $listCourseTemplate = ListCoursesTemplate::instance();
121 + $pagination_type = LP_Settings::get_option( 'course_pagination_type', 'number' );
122 + $enableAjaxLoadCourses = LP_Settings_Courses::is_ajax_load_courses();
123 + $enableNoLoadAjaxFirst = LP_Settings_Courses::is_no_load_ajax_first_courses();
124 + if ( $enableAjaxLoadCourses && $pagination_type !== 'number' ) {
125 + if ( $enableNoLoadAjaxFirst ) {
126 + if ( 'load-more' === $pagination_type ) {
127 + echo $listCourseTemplate->html_pagination_load_more();
128 + } elseif ( 'infinite' === $pagination_type ) {
129 + echo $listCourseTemplate->html_pagination_infinite();
130 + }
131 + }
152 132
153 -add_action( 'learn-press/after-courses-loop-item', LP()->template( 'course' )->func( 'courses_loop_item_meta' ), 25 );
154 -add_action(
155 - 'learn-press/after-courses-loop-item',
156 - LP()->template( 'course' )->func( 'courses_loop_item_info_begin' ),
157 - 20
158 -);
159 -add_action( 'learn-press/after-courses-loop-item', LP()->template( 'course' )->func( 'clearfix' ), 30 );
133 + return;
134 + }
160 135
161 -add_action(
162 - 'learn-press/after-courses-loop-item',
163 - LP()->template( 'course' )->text(
164 - '<!-- START .course-content-footer --> <div class="course-footer">',
165 - 'course-footer-open'
166 - ),
167 - 40
168 -);
169 -add_action( 'learn-press/after-courses-loop-item', LP()->template( 'course' )->func( 'courses_loop_item_price' ), 50 );
170 -add_action(
171 - 'learn-press/after-courses-loop-item',
172 - LP()->template( 'course' )->text( '</div> <!-- END .course-content-footer -->', 'course-footer-close' ),
173 - 50
174 -);
175 -add_action( 'learn-press/after-courses-loop-item', LP()->template( 'course' )->func( 'course_readmore' ), 55 );
176 -
177 -add_action(
178 - 'learn-press/after-courses-loop-item',
179 - LP()->template( 'course' )->func( 'courses_loop_item_info_end' ),
180 - 60
181 -);
182 -
183 -add_action(
184 - 'learn-press/after-courses-loop-item',
185 - LP()->template( 'course' )->text( '</div> <!-- END .course-content -->', 'course-content-close' ),
186 - 1000
187 -);
188 -
189 -/** END: Archive course loop item */
190 -
191 -/** Archive course pagination */
192 -add_action(
193 - 'learn-press/after-courses-loop',
194 - LP()->template( 'course' )->callback( 'loop/course/pagination.php' ),
195 - 10
196 -);
136 + if ( ! $enableAjaxLoadCourses || ( $enableAjaxLoadCourses && $enableNoLoadAjaxFirst ) ) {
137 + Template::instance()->get_frontend_template( 'loop/course/pagination.php' );
138 + }
139 + },
140 + 10
141 + );
142 +}
197 143 /** END: Archive course */
198 144
199 145 /** BEGIN: Main content of single course */
200 146
@@ -199,14 +145,14 @@
199 145 /** BEGIN: Main content of single course */
200 146
201 147
202 148 // Sidebar and content
203 -add_action( 'learn-press/single-course-summary', LP()->template( 'course' )->callback( 'single-course/content' ), 10 );
149 +add_action( 'learn-press/single-course-summary', LearnPress::instance()->template( 'course' )->callback( 'single-course/content' ), 10 );
204 150
205 151 // Content
206 152 add_action(
207 153 'learn-press/course-content-summary',
208 - LP()->template( 'course' )->text(
154 + LearnPress::instance()->template( 'course' )->text(
209 155 '<div class="course-detail-info"> <div class="lp-content-area"> <div class="course-info-left">',
210 156 'course-info-left-open'
211 157 ),
212 158 10
@@ -212,62 +158,62 @@
212 158 10
213 159 );
214 160 add_action(
215 161 'learn-press/course-content-summary',
216 - LP()->template( 'course' )->callback( 'single-course/meta-primary' ),
162 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta-primary' ),
217 163 10
218 164 );
219 -add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->callback( 'single-course/title' ), 10 );
165 +add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->callback( 'single-course/title' ), 10 );
220 166 add_action(
221 167 'learn-press/course-content-summary',
222 - LP()->template( 'course' )->callback( 'single-course/meta-secondary' ),
168 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta-secondary' ),
223 169 10
224 170 );
225 171 add_action(
226 172 'learn-press/course-content-summary',
227 - LP()->template( 'course' )->text( ' </div> </div> </div>', 'course-info-left-close' ),
173 + LearnPress::instance()->template( 'course' )->text( ' </div> </div> </div>', 'course-info-left-close' ),
228 174 15
229 175 );
230 176
231 177 add_action(
232 178 'learn-press/course-content-summary',
233 - LP()->template( 'course' )->text( '<div class="lp-entry-content lp-content-area">', 'lp-entry-content-open' ),
179 + LearnPress::instance()->template( 'course' )->text( '<div class="lp-entry-content lp-content-area">', 'lp-entry-content-open' ),
234 180 30
235 181 );
236 182 add_action(
237 183 'learn-press/course-content-summary',
238 - LP()->template( 'course' )->text( '<div class="entry-content-left">', 'entry-content-left-open' ),
184 + LearnPress::instance()->template( 'course' )->text( '<div class="entry-content-left">', 'entry-content-left-open' ),
239 185 35
240 186 );
187 +//add_action(
188 +// 'learn-press/course-content-summary',
189 +// LearnPress::instance()->template( 'course' )->func( 'course_extra_boxes_position_control' ),
190 +// 39
191 +//);
192 +//add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->func( 'course_extra_boxes' ), 40 );
193 +// add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->callback( 'single-course/progress' ), 40 );
194 +// add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->func( 'remaining_time' ), 50 );
241 195 add_action(
242 196 'learn-press/course-content-summary',
243 - LP()->template( 'course' )->func( 'course_extra_boxes_position_control' ),
244 - 39
245 -);
246 -add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->func( 'course_extra_boxes' ), 40 );
247 -// add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->callback( 'single-course/progress' ), 40 );
248 -// add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->func( 'remaining_time' ), 50 );
249 -add_action(
250 - 'learn-press/course-content-summary',
251 - LP()->template( 'course' )->callback( 'single-course/tabs/tabs' ),
197 + LearnPress::instance()->template( 'course' )->callback( 'single-course/tabs/tabs' ),
252 198 60
253 199 );
254 200 // appear at bottom after enrolled
255 -add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->func( 'course_extra_boxes' ), 70 );
201 +add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->func( 'course_extra_boxes' ), 70 );
256 202
257 -add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->func( 'course_comment_template' ), 75 );
203 +add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->func( 'course_comment_template' ), 75 );
258 204
259 205 add_action(
260 206 'learn-press/course-content-summary',
261 - LP()->template( 'course' )->text( '<!-- end entry content left --> </div>', 'entry-content-left-close' ),
207 + LearnPress::instance()->template( 'course' )->text( '<!-- end entry content left --> </div>', 'entry-content-left-close' ),
262 208 80
263 209 );
264 210
265 -add_action( 'learn-press/course-content-summary', LP()->template( 'course' )->callback( 'single-course/sidebar' ), 85 );
211 +add_action( 'learn-press/course-content-summary', LearnPress::instance()->template( 'course' )->callback( 'single-course/sidebar' ), 85 );
266 212
267 213 add_action(
268 214 'learn-press/course-content-summary',
269 - LP()->template( 'course' )->text( ' </div>', 'lp-entry-content-close' ),
215 + LearnPress::instance()->template( 'course' )->text( ' </div>', 'lp-entry-content-close' ),
270 216 100
271 217 );
272 218
273 219 // Meta
@@ -272,31 +218,31 @@
272 218
273 219 // Meta
274 220 add_action(
275 221 'learn-press/course-meta-primary-left',
276 - LP()->template( 'course' )->callback( 'single-course/meta/instructor' ),
222 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta/instructor' ),
277 223 10
278 224 );
279 225 add_action(
280 226 'learn-press/course-meta-primary-left',
281 - LP()->template( 'course' )->callback( 'single-course/meta/category' ),
227 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta/category' ),
282 228 20
283 229 );
284 230
285 231 add_action(
286 232 'learn-press/course-meta-secondary-left',
287 - LP()->template( 'course' )->callback( 'single-course/meta/duration' ),
233 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta/duration' ),
288 234 10
289 235 );
290 236 add_action(
291 237 'learn-press/course-meta-secondary-left',
292 - LP()->template( 'course' )->callback( 'single-course/meta/level' ),
238 + LearnPress::instance()->template( 'course' )->callback( 'single-course/meta/level' ),
293 239 20
294 240 );
295 241 /**
296 242 * @see LP_Template_Course::count_object()
297 243 */
298 -add_action( 'learn-press/course-meta-secondary-left', LP()->template( 'course' )->func( 'count_object' ), 20 );
244 +add_action( 'learn-press/course-meta-secondary-left', LearnPress::instance()->template( 'course' )->func( 'count_object' ), 20 );
299 245
300 246
301 247 // Sidebar content
302 248 /**
@@ -303,12 +249,12 @@
303 249 * @see LP_Template_Course::course_sidebar_preview()
304 250 * @see LP_Template_Course::course_extra_key_features()
305 251 * @see LP_Template_Course::course_extra_requirements()
306 252 */
307 -add_action( 'learn-press/course-summary-sidebar', LP()->template( 'course' )->func( 'course_sidebar_preview' ), 10 );
308 -add_action( 'learn-press/course-summary-sidebar', LP()->template( 'course' )->func( 'course_featured_review' ), 20 );
309 -// add_action( 'learn-press/course-summary-sidebar', LP()->template( 'course' )->func( 'course_extra_key_features' ), 20 );
310 -// add_action( 'learn-press/course-summary-sidebar', LP()->template( 'course' )->func( 'course_extra_requirements' ), 30 );
253 +add_action( 'learn-press/course-summary-sidebar', LearnPress::instance()->template( 'course' )->func( 'course_sidebar_preview' ), 10 );
254 +add_action( 'learn-press/course-summary-sidebar', LearnPress::instance()->template( 'course' )->func( 'course_featured_review' ), 20 );
255 +// add_action( 'learn-press/course-summary-sidebar', LearnPress::instance()->template( 'course' )->func( 'course_extra_key_features' ), 20 );
256 +// add_action( 'learn-press/course-summary-sidebar', LearnPress::instance()->template( 'course' )->func( 'course_extra_requirements' ), 30 );
311 257
312 258 /** END: Main content of single course */
313 259
314 260 /** BEGIN: Course section */
@@ -313,20 +259,20 @@
313 259
314 260 /** BEGIN: Course section */
315 261 add_action(
316 262 'learn-press/section-summary',
317 - LP()->template( 'course' )->callback( 'single-course/section/title.php', array( 'section' ) ),
263 + LearnPress::instance()->template( 'course' )->callback( 'single-course/section/title.php', array( 'section' ) ),
318 264 10
319 265 );
320 266 add_action(
321 267 'learn-press/section-summary',
322 - LP()->template( 'course' )->callback( 'single-course/section/content.php', array( 'section' ) ),
268 + LearnPress::instance()->template( 'course' )->callback( 'single-course/section/content.php', array( 'section' ) ),
323 269 20
324 270 );
325 271
326 272 add_action(
327 273 'learn-press/after-section-loop-item-title',
328 - LP()->template( 'course' )->callback(
274 + LearnPress::instance()->template( 'course' )->callback(
329 275 'single-course/section/item-meta.php',
330 276 array(
331 277 'item',
332 278 'section',
@@ -344,19 +290,19 @@
344 290 * @see LP_Template_Course::quiz_meta_final()
345 291 */
346 292 add_action(
347 293 'learn-press/course-section-item/before-lp_quiz-meta',
348 - LP()->template( 'course' )->func( 'quiz_meta_questions' ),
294 + LearnPress::instance()->template( 'course' )->func( 'quiz_meta_questions' ),
349 295 10
350 296 );
351 297 add_action(
352 298 'learn-press/course-section-item/before-lp_quiz-meta',
353 - LP()->template( 'course' )->func( 'item_meta_duration' ),
299 + LearnPress::instance()->template( 'course' )->func( 'item_meta_duration' ),
354 300 20
355 301 );
356 302 add_action(
357 303 'learn-press/course-section-item/before-lp_quiz-meta',
358 - LP()->template( 'course' )->func( 'quiz_meta_final' ),
304 + LearnPress::instance()->template( 'course' )->func( 'quiz_meta_final' ),
359 305 30
360 306 );
361 307 /** END: Quiz item */
362 308
@@ -362,9 +308,9 @@
362 308
363 309 /** BEGIN: Lesson item */
364 310 add_action(
365 311 'learn-press/course-section-item/before-lp_lesson-meta',
366 - LP()->template( 'course' )->func( 'item_meta_duration' ),
312 + LearnPress::instance()->template( 'course' )->func( 'item_meta_duration' ),
367 313 10
368 314 );
369 315 /** END: Lesson item */
370 316
@@ -375,9 +321,9 @@
375 321 * @see single-button-toggle-sidebar
376 322 */
377 323 add_action(
378 324 'learn-press/single-button-toggle-sidebar',
379 - LP()->template( 'course' )->text( '<input type="checkbox" id="sidebar-toggle" />', 'single-button-toggle-sidebar' ),
325 + LearnPress::instance()->template( 'course' )->text( '<input type="checkbox" id="sidebar-toggle" title="Show/Hide curriculum" />', 'single-button-toggle-sidebar' ),
380 326 5
381 327 );
382 328
383 329 /**
@@ -385,17 +331,17 @@
385 331 * @see LP_Template_Course::popup_sidebar()
386 332 * @see LP_Template_Course::popup_content()
387 333 * @see LP_Template_Course::popup_footer()
388 334 */
389 -add_action( 'learn-press/single-item-summary', LP()->template( 'course' )->func( 'popup_header' ), 10 );
390 -add_action( 'learn-press/single-item-summary', LP()->template( 'course' )->func( 'popup_sidebar' ), 20 );
391 -add_action( 'learn-press/single-item-summary', LP()->template( 'course' )->func( 'popup_content' ), 30 );
392 -add_action( 'learn-press/single-item-summary', LP()->template( 'course' )->func( 'popup_footer' ), 40 );
335 +add_action( 'learn-press/single-item-summary', LearnPress::instance()->template( 'course' )->func( 'popup_header' ), 10 );
336 +add_action( 'learn-press/single-item-summary', LearnPress::instance()->template( 'course' )->func( 'popup_sidebar' ), 20 );
337 +add_action( 'learn-press/single-item-summary', LearnPress::instance()->template( 'course' )->func( 'popup_content' ), 30 );
338 +add_action( 'learn-press/single-item-summary', LearnPress::instance()->template( 'course' )->func( 'popup_footer' ), 40 );
393 339
394 340 /**
395 341 * @see LP_Template_Course::popup_footer_nav()
396 342 */
397 -add_action( 'learn-press/popup-footer', LP()->template( 'course' )->func( 'popup_footer_nav' ), 10 );
343 +add_action( 'learn-press/popup-footer', LearnPress::instance()->template( 'course' )->func( 'popup_footer_nav' ), 10 );
398 344 /** END: Popup */
399 345
400 346 /** BEGIN: Popup quiz */
401 347 /**
@@ -400,9 +346,9 @@
400 346 /** BEGIN: Popup quiz */
401 347 /**
402 348 * @see LP_Template_Course::course_finish_button()
403 349 */
404 -add_action( 'learn-press/quiz-buttons', LP()->template( 'course' )->func( 'course_finish_button' ), 10 );
350 +//add_action( 'learn-press/quiz-buttons', LearnPress::instance()->template( 'course' )->func( 'course_finish_button' ), 10 );
405 351 /** END: Popup quiz */
406 352
407 353 /** BEGIN: Popup lesson */
408 354
@@ -408,32 +354,40 @@
408 354
409 355 /**
410 356 * @see LP_Template_Course::item_lesson_title()
411 357 * @see LP_Template_Course::item_lesson_content()
412 - * @see LP_Template_Course::item_lesson_content_blocked()
413 358 * @see LP_Template_Course::item_lesson_complete_button()
414 - * @see LP_Template_Course::course_finish_button()
415 359 */
416 360 add_action(
417 361 'learn-press/before-content-item-summary/lp_lesson',
418 - LP()->template( 'course' )->func( 'item_lesson_title' ),
362 + LearnPress::instance()->template( 'course' )->func( 'item_lesson_title' ),
419 363 10
420 364 );
421 365 add_action(
422 366 'learn-press/content-item-summary/lp_lesson',
423 - LP()->template( 'course' )->func( 'item_lesson_content' ),
367 + LearnPress::instance()->template( 'course' )->func( 'item_lesson_content' ),
424 368 10
425 369 );
426 -// add_action( 'learn-press/content-item-summary/lp_lesson',
427 -// LP()->template( 'course' )->func( 'item_lesson_content_blocked' ), 15 );
428 370 add_action(
429 371 'learn-press/after-content-item-summary/lp_lesson',
430 - LP()->template( 'course' )->func( 'item_lesson_complete_button' ),
372 + LearnPress::instance()->template( 'course' )->func( 'item_lesson_material' ),
431 373 10
432 374 );
433 375 add_action(
434 376 'learn-press/after-content-item-summary/lp_lesson',
435 - LP()->template( 'course' )->func( 'course_finish_button' ),
377 + LearnPress::instance()->template( 'course' )->func( 'item_lesson_complete_button' ),
378 + 11
379 +);
380 +add_action(
381 + 'learn-press/after-content-item-summary/lp_lesson',
382 + function () {
383 + $userCourseModel = UserCourseModel::find( get_current_user_id(), get_the_ID(), true );
384 + $userCourseTemplate = UserCourseTemplate::instance();
385 +
386 + if ( $userCourseModel instanceof UserCourseModel ) {
387 + echo $userCourseTemplate->html_btn_finish( $userCourseModel );
388 + }
389 + },
436 390 15
437 391 );
438 392 /** END: Popup lesson */
439 393
@@ -439,9 +393,9 @@
439 393
440 394 /**
441 395 * @see LP_Template_Course::course_item_content()
442 396 */
443 -add_action( 'learn-press/course-item-content', LP()->template( 'course' )->func( 'course_item_content' ), 5 );
397 +add_action( 'learn-press/course-item-content', LearnPress::instance()->template( 'course' )->func( 'course_item_content' ), 5 );
444 398
445 399 /** BEGIN: User profile */
446 400
447 401 /**
@@ -448,53 +402,56 @@
448 402 * @see LP_Template_Profile::header()
449 403 * @see LP_Template_Profile::tabs()
450 404 * @see LP_Template_Profile::content()
451 405 */
452 -//add_action( 'learn-press/before-user-profile', LP()->template( 'profile' )->func( 'header' ), 10 );
406 +//add_action( 'learn-press/before-user-profile', LearnPress::instance()->template( 'profile' )->func( 'header' ), 10 );
453 407
454 -add_action( 'learn-press/user-profile', LP()->template( 'profile' )->func( 'sidebar' ), 10 );
455 -add_action( 'learn-press/user-profile', LP()->template( 'profile' )->func( 'content' ), 20 );
408 +add_action( 'learn-press/user-profile', LearnPress::instance()->template( 'profile' )->func( 'sidebar' ), 10 );
409 +add_action( 'learn-press/user-profile', LearnPress::instance()->template( 'profile' )->func( 'content' ), 20 );
456 410
457 -add_action( 'learn-press/user-profile-account', LP()->template( 'profile' )->text( ' <div class="lp-profile-left">', 'user-profile-account-left-open' ), 5 );
458 -add_action( 'learn-press/user-profile-account', LP()->template( 'profile' )->func( 'avatar' ), 10 );
459 -add_action( 'learn-press/user-profile-account', LP()->template( 'profile' )->func( 'socials' ), 10 );
460 -add_action( 'learn-press/user-profile-account', LP()->template( 'profile' )->text( ' </div>', 'user-profile-account-left-close' ), 15 );
461 -add_action( 'learn-press/user-profile-account', LP()->template( 'profile' )->func( 'header' ), 20 );
411 +add_action( 'learn-press/user-profile/private', LearnPress::instance()->template( 'profile' )->func( 'sidebar' ), 10 );
462 412
463 -add_action( 'learn-press/user-profile-tabs', LP()->template( 'profile' )->func( 'tabs' ), 10 );
413 +add_action( 'learn-press/user-profile-account', LearnPress::instance()->template( 'profile' )->text( ' <div class="lp-profile-left">', 'user-profile-account-left-open' ), 5 );
414 +add_action( 'learn-press/user-profile-account', LearnPress::instance()->template( 'profile' )->func( 'avatar' ), 10 );
415 +//add_action( 'learn-press/user-profile-account', LearnPress::instance()->template( 'profile' )->func( 'socials' ), 10 );
416 +add_action( 'learn-press/user-profile-account', LearnPress::instance()->template( 'profile' )->text( ' </div>', 'user-profile-account-left-close' ), 15 );
417 +add_action( 'learn-press/user-profile-account', LearnPress::instance()->template( 'profile' )->func( 'header' ), 20 );
464 418
419 +add_action( 'learn-press/user-profile-tabs', LearnPress::instance()->template( 'profile' )->func( 'tabs' ), 10 );
465 420
466 -add_action( 'learn-press/profile/orders', LP()->template( 'profile' )->callback( 'profile/tabs/orders/list.php' ), 10 );
421 +/**
422 + * @deprecated 4.2.6.2
423 + */
424 +add_action( 'learn-press/profile/orders', LearnPress::instance()->template( 'profile' )->callback( 'profile/tabs/orders/list.php' ), 10 );
425 +/**
426 + * @deprecated 4.2.6.2
427 + */
467 428 add_action(
468 429 'learn-press/profile/orders',
469 - LP()->template( 'profile' )->callback( 'profile/tabs/orders/recover-order.php' ),
430 + LearnPress::instance()->template( 'profile' )->callback( 'profile/tabs/orders/recover-order.php' ),
470 431 20
471 432 );
472 433
473 -/**
474 - * @see LP_Template_Profile::order_details()
475 - * @see LP_Template_Profile::order_recover()
476 - * @see LP_Template_Profile::order_message()
477 - */
478 -add_action( 'learn-press/profile/order-details', LP()->template( 'profile' )->func( 'order_details' ), 5 );
479 -add_action( 'learn-press/profile/order-details', LP()->template( 'profile' )->func( 'order_recover' ), 10 );
480 -add_action( 'learn-press/profile/order-details', LP()->template( 'profile' )->func( 'order_message' ), 15 );
434 +// Comment from v4.3.2.6, hook not using from v4.2.6.4
435 +//add_action( 'learn-press/profile/order-details', LearnPress::instance()->template( 'profile' )->func( 'order_details' ), 5 );
436 +//add_action( 'learn-press/profile/order-details', LearnPress::instance()->template( 'profile' )->func( 'order_recover' ), 10 );
437 +//add_action( 'learn-press/profile/order-details', LearnPress::instance()->template( 'profile' )->func( 'order_message' ), 15 );
481 438
482 439 /**
483 440 * @see LP_Template_Profile::dashboard_logged_in()
484 441 * @deprecated 4.1.6
485 442 */
486 -// add_action( 'learn-press/profile/before-dashboard', LP()->template( 'profile' )->func( 'dashboard_statistic' ), 10 );
487 -add_action(
443 +// add_action( 'learn-press/profile/before-dashboard', LearnPress::instance()->template( 'profile' )->func( 'dashboard_statistic' ), 10 );
444 +/*add_action(
488 445 'learn-press/profile/dashboard-summary',
489 - LP()->template( 'profile' )->func( 'dashboard_featured_courses' ),
446 + LearnPress::instance()->template( 'profile' )->func( 'dashboard_featured_courses' ),
490 447 20
491 -);
492 -add_action(
448 +);*/
449 +/*add_action(
493 450 'learn-press/profile/dashboard-summary',
494 - LP()->template( 'profile' )->func( 'dashboard_latest_courses' ),
451 + LearnPress::instance()->template( 'profile' )->func( 'dashboard_latest_courses' ),
495 452 30
496 -);
453 +);*/
497 454
498 455 /**
499 456 * @see LP_Template_Profile::dashboard_not_logged_in()
500 457 * @see LP_Template_Profile::login_form()
@@ -499,34 +456,34 @@
499 456 * @see LP_Template_Profile::dashboard_not_logged_in()
500 457 * @see LP_Template_Profile::login_form()
501 458 * @see LP_Template_Profile::register_form()
502 459 */
503 -add_action( 'learn-press/user-profile', LP()->template( 'profile' )->func( 'dashboard_not_logged_in' ), 5 );
504 -add_action( 'learn-press/user-profile', LP()->template( 'profile' )->func( 'login_form' ), 10 );
505 -add_action( 'learn-press/user-profile', LP()->template( 'profile' )->func( 'register_form' ), 15 );
460 +add_action( 'learn-press/user-profile', LearnPress::instance()->template( 'profile' )->func( 'dashboard_not_logged_in' ), 5 );
461 +add_action( 'learn-press/user-profile', LearnPress::instance()->template( 'profile' )->func( 'login_form' ), 10 );
462 +add_action( 'learn-press/user-profile', LearnPress::instance()->template( 'profile' )->func( 'register_form' ), 15 );
506 463
507 464 /** BEGIN: Checkout page */
508 465 /**
509 466 * @see LP_Template_Checkout::review_order()
510 467 */
511 -add_action( 'learn-press/before-checkout-form', LP()->template( 'checkout' )->func( 'review_order' ), 10 );
512 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'account_logged_in' ), 20 );
513 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'account_register' ), 30 );
514 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'account_login' ), 40 );
515 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'guest_checkout' ), 50 );
516 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'order_comment' ), 60 );
517 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'payment' ), 70 );
518 -add_action( 'learn-press/after-checkout-form', LP()->template( 'checkout' )->func( 'terms' ), 80 );
468 +add_action( 'learn-press/before-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'review_order' ), 10 );
469 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'account_logged_in' ), 20 );
470 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'account_register' ), 30 );
471 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'account_login' ), 40 );
472 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'guest_checkout' ), 50 );
473 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'order_comment' ), 60 );
474 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'payment' ), 70 );
475 +add_action( 'learn-press/after-checkout-form', LearnPress::instance()->template( 'checkout' )->func( 'terms' ), 80 );
519 476
520 477 // ******************************************************************************************************************* //
521 478
522 -add_action( 'learn-press/content-item-summary-class', 'learn_press_content_item_summary_classes', 15 );
479 +//add_action( 'learn-press/content-item-summary-class', 'learn_press_content_item_summary_classes', 15 );
523 480 add_action(
524 481 'learn-press/before-content-item-summary/lp_quiz',
525 - LP()->template( 'course' )->callback( 'content-quiz/title.php' ),
482 + LearnPress::instance()->template( 'course' )->callback( 'content-quiz/title.php' ),
526 483 5
527 484 );
528 -add_action( 'learn-press/content-item-summary/lp_quiz', LP()->template( 'course' )->callback( 'content-quiz/js' ), 25 );
485 +add_action( 'learn-press/content-item-summary/lp_quiz', LearnPress::instance()->template( 'course' )->callback( 'content-quiz/js' ), 25 );
529 486 // add_action( 'learn-press/parse-course-item', 'learn_press_control_displaying_course_item', 5 ); // comment by tungnx
530 487 //add_action( 'learn-press/after-single-course', 'learn_press_single_course_args', 5 );
531 488 add_filter( 'document_title_parts', 'learn_press_single_document_title_parts', 5 );
532 489
@@ -534,23 +491,21 @@
534 491 add_filter( 'post_class', 'learn_press_course_class', 15, 3 );
535 492 //add_action( 'wp_head', 'learn_press_single_course_args', 5 );
536 493 add_action(
537 494 'learn-press/before-checkout-order-review',
538 - LP()->template( 'course' )->callback( 'checkout/form-logged-in.php' ),
495 + LearnPress::instance()->template( 'course' )->callback( 'checkout/form-logged-in.php' ),
539 496 10
540 497 );
541 -add_filter( 'comments_template_query_args', 'learn_press_comments_template_query_args' );
542 -add_filter( 'get_comments_number', 'learn_press_filter_get_comments_number' );
543 498
544 499 add_filter( 'excerpt_length', 'learn_press_custom_excerpt_length', 999 );
545 -// add_filter( 'learn_press_get_template', LP()->template( 'general' )->func( 'filter_block_content_template' ), 10, 5 );
500 +// add_filter( 'learn_press_get_template', LearnPress::instance()->template( 'general' )->func( 'filter_block_content_template' ), 10, 5 );
546 501
547 502 /**
548 503 * Filter to hide the section if there is no item.
549 504 *
550 - * @param bool $visible
505 + * @param bool $visible
551 506 * @param LP_Course_Section $section
552 - * @param LP_Course $course
507 + * @param LP_Course $course
553 508 *
554 509 * @return bool
555 510 * @since 4.0.0
556 511 */