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/admin/class-lp-admin-assets.php +228 -48 4.4.14.4.8 View file →
@@ -2,8 +2,9 @@
2 2
3 3 use LearnPress\Helpers\Config;
4 4 use LearnPress\Helpers\Template;
5 5 use LearnPress\Models\CourseModel;
6 +use LearnPress\Statistics\PeriodResolver;
6 7
7 8 /**
8 9 * Class LP_Admin_Assets
9 10 *
@@ -81,9 +82,9 @@
81 82 ),
82 83 'single_instructor_id' => learn_press_get_page_id( 'single_instructor' ),
83 84 'lpAi' => array(
84 85 'config' => Config::instance()->get( 'open-ai-modal', 'settings' ),
85 - 'modelImage' => LP_Settings::get_option( 'open_ai_image_model_type', 'dall-e-3' ),
86 + 'modelImage' => LP_Settings::get_option( 'open_ai_image_model_type', 'gpt-image-1' ),
86 87 ),
87 88 'enable_open_ai' => LP_Settings::get_option( 'enable_open_ai', 'no' ) === 'yes'
88 89 && ! empty( LP_Settings::get_option( 'open_ai_secret_key', '' ) ),
89 90 )
@@ -98,9 +99,10 @@
98 99 protected function _get_script_data(): array {
99 100 $current_screen = get_current_screen();
100 101
101 102 return array(
102 - 'learn-press-global' => learn_press_global_script_params(),
103 + 'learn-press-global' => learn_press_global_script_params(),
104 + /*
103 105 'learn-press-meta-box-order' => apply_filters(
104 106 'learn-press/meta-box-order/script-data',
105 107 array(
106 108 'i18n_error' => esc_html__( 'Oops! Error.', 'learnpress' ),
@@ -105,10 +107,11 @@
105 107 array(
106 108 'i18n_error' => esc_html__( 'Oops! Error.', 'learnpress' ),
107 109 'i18n_guest' => esc_html__( 'Guest', 'learnpress' ),
108 110 )
109 - ),
110 - 'learn-press-update' => apply_filters(
111 + ),*/
112 + /*
113 + 'learn-press-update' => apply_filters(
111 114 'learn-press/upgrade/script-data',
112 115 array(
113 116 'i18n_confirm' => esc_html__(
114 117 'Before taking this action, we strongly recommend you backup your site first before proceeding. If you encounter any problems, please do not hesitate to contact our support team. Are you sure to proceed with the update protocol?',
@@ -114,10 +117,10 @@
114 117 'Before taking this action, we strongly recommend you backup your site first before proceeding. If you encounter any problems, please do not hesitate to contact our support team. Are you sure to proceed with the update protocol?',
115 118 'learnpress'
116 119 ),
117 120 )
118 - ),
119 - 'lp-admin' => apply_filters(
121 + ),*/
122 + 'lp-admin' => apply_filters(
120 123 'learn-press/admin/script-data',
121 124 array(
122 125 'ajax' => admin_url( 'admin-ajax.php' ),
123 126 'questionTypes' => learn_press_question_types(),
@@ -124,13 +127,165 @@
124 127 'supportAnswerOptions' => learn_press_get_question_support_answer_options(),
125 128 'screen' => $current_screen,
126 129 )
127 130 ),
128 - 'learn-press-admin-course-editor' => $this->get_course_data_for_editor_vue(),
131 + // Statistics dashboard config → JS global lpAdminStatisticSettings.
132 + // REST root + nonce come from lpDataAdmin (already on every admin page).
133 + 'lp-admin-statistic' => apply_filters(
134 + 'learn-press/admin/statistics/script-data',
135 + array(
136 + 'restNamespace' => 'lp/v1/statistics',
137 + 'adminUrl' => admin_url(),
138 + // decode: JS renders via textContent, entities would show literally.
139 + 'currencySymbol' => html_entity_decode( learn_press_get_currency_symbol() ),
140 + 'completionTarget' => (int) apply_filters( 'learn-press/statistics/completion-target', 70 ),
141 + // Completion badge bands: >= green is green, >= yellow is yellow, below is red.
142 + 'completionBadge' => apply_filters(
143 + 'learn-press/statistics/completion-badge-thresholds',
144 + array(
145 + 'green' => 60,
146 + 'yellow' => 40,
147 + )
148 + ),
149 + // Date-range dropdown: per-preset resolved labels ( the server is the
150 + // single source of calendar logic — JS never re-derives windows ).
151 + 'dateRange' => array(
152 + 'presets' => self::statistics_date_range_presets(),
153 + 'startOfWeek' => (int) get_option( 'start_of_week', 1 ),
154 + 'dateFormat' => (string) get_option( 'date_format', 'F j, Y' ),
155 + ),
156 + 'i18n' => array(
157 + 'loadError' => esc_html__( 'Failed to load statistics data.', 'learnpress' ),
158 + 'noData' => esc_html__( 'No data for this period.', 'learnpress' ),
159 + // Date-range dropdown.
160 + 'presets' => esc_html__( 'Presets', 'learnpress' ),
161 + 'custom' => esc_html__( 'Custom', 'learnpress' ),
162 + 'compareTo' => esc_html__( 'Compare to', 'learnpress' ),
163 + 'previousPeriod' => esc_html__( 'Previous period', 'learnpress' ),
164 + 'previousYear' => esc_html__( 'Previous year', 'learnpress' ),
165 + 'update' => esc_html__( 'Update', 'learnpress' ),
166 + 'from' => esc_html__( 'From', 'learnpress' ),
167 + 'to' => esc_html__( 'To', 'learnpress' ),
168 + 'selectDateRange' => esc_html__( 'Select a date range', 'learnpress' ),
169 + 'itemsCount' => esc_html__( '%d items', 'learnpress' ),
170 + 'cappedNotice' => esc_html__( 'Showing the first %d rows. Narrow the period or filters to see the rest.', 'learnpress' ),
171 + 'vsPrevPeriod' => esc_html__( 'vs previous period', 'learnpress' ),
172 + 'revenue' => esc_html__( 'Revenue', 'learnpress' ),
173 + 'enrollments' => esc_html__( 'Enrollments', 'learnpress' ),
174 + 'aov' => esc_html__( 'Avg. order value: %s', 'learnpress' ),
175 + 'belowTarget' => esc_html__( '%d below completion target', 'learnpress' ),
176 + 'failRate' => esc_html__( '%s%% of all orders', 'learnpress' ),
177 + 'course' => esc_html__( 'Course', 'learnpress' ),
178 + 'orders' => esc_html__( 'Orders', 'learnpress' ),
179 + 'aovShort' => esc_html__( 'AOV', 'learnpress' ),
180 + 'status' => esc_html__( 'Status', 'learnpress' ),
181 + 'enrolled' => esc_html__( 'Enrolled', 'learnpress' ),
182 + 'completion' => esc_html__( 'Completion', 'learnpress' ),
183 + 'instructor' => esc_html__( 'Instructor', 'learnpress' ),
184 + 'courses' => esc_html__( 'Courses', 'learnpress' ),
185 + 'topCourses' => esc_html__( 'Top courses', 'learnpress' ),
186 + 'topSoldCourses' => esc_html__( 'Top sold courses', 'learnpress' ),
187 + 'healthy' => esc_html__( 'Healthy', 'learnpress' ),
188 + 'watchCompletion' => esc_html__( 'Watch completion', 'learnpress' ),
189 + 'highFailedQuizzes' => esc_html__( 'High failed quizzes', 'learnpress' ),
190 + 'needsFulfillmentReview' => esc_html__( 'Needs fulfillment review', 'learnpress' ),
191 + 'awaitingPayment' => esc_html__( 'Awaiting payment', 'learnpress' ),
192 + 'exceptionRate' => esc_html__( '%s%% of all orders', 'learnpress' ),
193 + 'orderId' => esc_html__( 'Order ID', 'learnpress' ),
194 + 'student' => esc_html__( 'Student', 'learnpress' ),
195 + 'issue' => esc_html__( 'Issue', 'learnpress' ),
196 + 'date' => esc_html__( 'Date', 'learnpress' ),
197 + 'severity' => esc_html__( 'Severity', 'learnpress' ),
198 + 'high' => esc_html__( 'High', 'learnpress' ),
199 + 'medium' => esc_html__( 'Medium', 'learnpress' ),
200 + 'low' => esc_html__( 'Low', 'learnpress' ),
201 + 'orderExceptions' => esc_html__( 'Recent order exceptions', 'learnpress' ),
202 + 'noOrderExceptions' => esc_html__( 'No failed or cancelled orders in this period.', 'learnpress' ),
203 + 'addedThisPeriod' => esc_html__( '%d added this period', 'learnpress' ),
204 + 'needsInstructorAction' => esc_html__( 'Needs instructor action', 'learnpress' ),
205 + 'scheduledReleases' => esc_html__( 'Scheduled releases', 'learnpress' ),
206 + 'targetPercent' => esc_html__( 'Target: %s%%', 'learnpress' ),
207 + 'publishedCourses' => esc_html__( 'Published courses', 'learnpress' ),
208 + 'noCoursePerformance' => esc_html__( 'No course performance data in this period.', 'learnpress' ),
209 + 'coursePerformance' => esc_html__( 'Course performance', 'learnpress' ),
210 + 'lessons' => esc_html__( 'Lessons', 'learnpress' ),
211 + 'quizzes' => esc_html__( 'Quizzes', 'learnpress' ),
212 + 'assignments' => esc_html__( 'Assignments', 'learnpress' ),
213 + 'published' => esc_html__( 'Published', 'learnpress' ),
214 + 'pending' => esc_html__( 'Pending', 'learnpress' ),
215 + 'future' => esc_html__( 'Future', 'learnpress' ),
216 + 'drafts' => esc_html__( 'Drafts', 'learnpress' ),
217 + 'total' => esc_html__( 'Total', 'learnpress' ),
218 + 'content' => esc_html__( 'Content', 'learnpress' ),
219 + 'newThisPeriod' => esc_html__( '+%d this period', 'learnpress' ),
220 + 'activeInPeriod' => esc_html__( '%d active in this period', 'learnpress' ),
221 + 'activeThisPeriod' => esc_html__( 'active this period', 'learnpress' ),
222 + 'afterEnrollment' => esc_html__( 'After enrollment', 'learnpress' ),
223 + 'currentLearners' => esc_html__( 'Current learners', 'learnpress' ),
224 + 'completionRateSub' => esc_html__( '%s%% completion rate', 'learnpress' ),
225 + 'registeredUsers' => esc_html__( 'Registered users', 'learnpress' ),
226 + 'topStudents' => esc_html__( 'Top students', 'learnpress' ),
227 + 'topCoursesByStudents' => esc_html__( 'Top courses by students', 'learnpress' ),
228 + 'avgScore' => esc_html__( 'Quiz pass rate', 'learnpress' ),
229 + 'lastActive' => esc_html__( 'Last active', 'learnpress' ),
230 + 'startedLabel' => esc_html__( 'Started', 'learnpress' ),
231 + 'completedLabel' => esc_html__( 'Completed', 'learnpress' ),
232 + 'activeLast7dShort' => esc_html__( 'Active 7d', 'learnpress' ),
233 + 'statusActive' => esc_html__( 'Active', 'learnpress' ),
234 + 'statusAtRisk' => esc_html__( 'At risk', 'learnpress' ),
235 + 'statusIdle' => esc_html__( 'Idle', 'learnpress' ),
236 + // Instructors tab.
237 + 'ofNetSales' => esc_html__( '%s%% of net sales', 'learnpress' ),
238 + 'ofTotalInstructors' => esc_html__( '%d total', 'learnpress' ),
239 + 'students' => esc_html__( 'Students', 'learnpress' ),
240 + 'sold' => esc_html__( 'Sold', 'learnpress' ),
241 + 'risk' => esc_html__( 'Risk', 'learnpress' ),
242 + 'actionRequired' => esc_html__( 'Action required', 'learnpress' ),
243 + 'riskHigh' => esc_html__( 'High', 'learnpress' ),
244 + 'riskMedium' => esc_html__( 'Medium', 'learnpress' ),
245 + 'riskHealthy' => esc_html__( 'Healthy', 'learnpress' ),
246 + 'instructorPerformance' => esc_html__( 'Instructor performance', 'learnpress' ),
247 + 'instructorReport' => esc_html__( 'Instructor report', 'learnpress' ),
248 + 'noInstructorData' => esc_html__( 'No instructor data in this period.', 'learnpress' ),
249 + 'instructorReportEmpty' => esc_html__( 'This instructor has no courses yet.', 'learnpress' ),
250 + 'watchlistActions' => array(
251 + 'review_quiz_difficulty' => esc_html__( 'Review quiz difficulty', 'learnpress' ),
252 + 'build_curriculum' => esc_html__( 'Build the curriculum', 'learnpress' ),
253 + 'add_practice_content' => esc_html__( 'Add practice content', 'learnpress' ),
254 + 'monitor' => esc_html__( 'Monitor', 'learnpress' ),
255 + ),
256 + ),
257 + )
258 + ),
259 + // @deprecated tag 'learn-press-admin-course-editor' 4.4.2 - no any enqueue js for that.
260 + // 'learn-press-admin-course-editor' => $this->get_course_data_for_editor_vue(),
129 261 );
130 262 }
131 263
132 264 /**
265 + * Preset entries for the statistics date-range dropdown.
266 + *
267 + * UI presets in display order. Labels are resolved server-side so JS never
268 + * re-implements calendar logic.
269 + *
270 + * @return array[] [ { value, name, rangeLabel } ]
271 + * @since 4.4.2
272 + */
273 + private static function statistics_date_range_presets(): array {
274 + $presets = array();
275 +
276 + foreach ( PeriodResolver::UI_PRESETS as $preset ) {
277 + $presets[] = array(
278 + 'value' => $preset,
279 + 'name' => PeriodResolver::preset_name( $preset ),
280 + 'rangeLabel' => PeriodResolver::range_label_for( PeriodResolver::resolve( $preset ) ),
281 + );
282 + }
283 +
284 + return $presets;
285 + }
286 +
287 + /**
133 288 * Get default scripts in admin.
134 289 *
135 290 * @return mixed
136 291 */
@@ -136,9 +291,9 @@
136 291 */
137 292 protected function _get_scripts(): array {
138 293 $lp_admin_js = new LP_Asset_Key(
139 294 $this->url( 'js/dist/admin/admin' . self::$_min_assets . '.js' ),
140 - array( 'wp-i18n', 'lp-utils', 'select2' ),
295 + array( 'wp-i18n', 'lp-utils' ),
141 296 array(),
142 297 0,
143 298 0,
144 299 '',
@@ -164,10 +319,10 @@
164 319 '',
165 320 array( 'strategy' => 'async' )
166 321 ),
167 322 // need build if change source vue
168 - 'vue-libs' => new LP_Asset_Key( $this->url( 'js/vendor/vue/vue_libs.js' ) ),
169 - 'select2' => new LP_Asset_Key( $this->url( 'src/js/vendor/select2.full.min.js' ) ),
323 + //'vue-libs' => new LP_Asset_Key( $this->url( 'js/vendor/vue/vue_libs.js' ) ),
324 + //'select2' => new LP_Asset_Key( $this->url( 'src/js/vendor/select2.full.min.js' ) ),
170 325 'jquery-tipsy' => new LP_Asset_Key( $this->url( 'src/js/vendor/jquery/jquery-tipsy.js' ) ),
171 326 'html2pdf' => new LP_Asset_Key( $this->url( 'src/js/vendor/html2pdf.bundle.min.js' ) ),
172 327 'lp-utils' => new LP_Asset_Key(
173 328 $this->url( 'js/dist/utils' . self::$_min_assets . '.js' ),
@@ -174,12 +329,8 @@
174 329 array(),
175 330 array(),
176 331 1
177 332 ),
178 - 'dropdown-pages' => new LP_Asset_Key(
179 - $this->url( self::$_folder_source . 'js/admin/share/dropdown-pages' . self::$_min_assets . '.js' ),
180 - array( 'lp-utils', 'select2' )
181 - ),
182 333 /*
183 334 'jquery-ui-timepicker-addon' => new LP_Asset_Key(
184 335 $this->url( 'src/js/vendor/jquery/jquery-ui-timepicker-addon.js' ),
185 336 array( 'jquery-ui-datepicker' )
@@ -197,25 +348,33 @@
197 348 'learn-press-global' => new LP_Asset_Key(
198 349 $this->url( self::$_folder_source . 'js/global' . self::$_min_assets . '.js' ),
199 350 array( 'jquery', 'underscore', 'utils', 'jquery-ui-sortable' )
200 351 ),
201 - 'lp-admin' => $lp_admin_js,
202 - 'lp-admin-mcp-api-keys' => new LP_Asset_Key(
203 - $this->url( 'src/js/admin/mcp-api-keys.js' ),
204 - array( 'lp-load-ajax' ),
205 - array( 'learnpress_page_learn-press-settings' ),
352 + 'lp-admin' => $lp_admin_js,
353 + 'lp-admin-mcp-api-keys' => new LP_Asset_Key(
354 + $this->url( 'js/dist/admin/mcp-api-keys.js' ),
355 + [ 'lp-load-ajax' ],
356 + [ 'learnpress_page_learn-press-settings' ],
206 357 0,
207 358 1,
208 359 '',
209 360 array( 'strategy' => 'defer' )
210 361 ),
211 - 'lp-admin-learnpress' => new LP_Asset_Key(
362 + 'lp-admin-webhooks' => new LP_Asset_Key(
363 + $this->url( 'js/dist/admin/webhooks.js' ),
364 + [ 'lp-load-ajax', 'lp-admin' ],
365 + [ 'learnpress_page_learn-press-settings' ],
366 + 0,
367 + 1,
368 + '',
369 + [ 'strategy' => 'defer' ]
370 + ),
371 + 'lp-admin-learnpress' => new LP_Asset_Key(
212 372 $this->url( 'js/dist/admin/learnpress' . self::$_min_assets . '.js' ),
213 373 array(
214 374 'learn-press-global',
215 375 'wp-color-picker',
216 376 'jquery-tipsy',
217 - 'dropdown-pages',
218 377 'wp-api-fetch',
219 378 // 'jquery-ui-timepicker-addon',
220 379 // 'select2'
221 380 ),
@@ -342,16 +501,15 @@
342 501 array( 'learnpress_page_learn-press-tools' ),
343 502 0,
344 503 1
345 504 ),*/
346 - /*
347 - 'lp-setup' => new LP_Asset_Key(
348 - $this->url( 'js/dist/admin/pages/setup' . self::$_min_assets . '.js' ),
349 - array( 'jquery', 'dropdown-pages' ),
505 + 'lp-setup-wizard' => new LP_Asset_Key(
506 + $this->url( 'dist/js/admin/setup-wizard' . self::$_min_assets . '.js' ),
507 + [],
350 508 array( 'lp-page-setup' ),
351 509 0,
352 510 1
353 - ),*/
511 + ),
354 512 /*
355 513 'learn-press-statistic' => new LP_Asset_Key(
356 514 $this->url( 'js/dist/admin/pages/statistic' . self::$_min_assets . '.js' ),
357 515 array( 'jquery', 'jquery-ui-datepicker', 'chart' ),
@@ -379,20 +537,9 @@
379 537 1
380 538 ),*/
381 539 'lp-tools-course-tab' => new LP_Asset_Key(
382 540 $this->url( 'js/dist/admin/pages/tools' . self::$_min_assets . '.js' ),
383 - array(
384 - 'jquery',
385 - 'wp-element',
386 - 'wp-compose',
387 - 'wp-components',
388 - 'wp-data',
389 - 'wp-hooks',
390 - 'wp-api-fetch',
391 - 'lodash',
392 - 'vue-libs',
393 -
394 - ),
541 + [],
395 542 array( 'learnpress_page_learn-press-tools' ),
396 543 0,
397 544 1,
398 545 '',
@@ -411,9 +558,9 @@
411 558 array(
412 559 'wp-url',
413 560 'wp-api-fetch',
414 561 'lodash',
415 - 'select2',
562 + //'select2',
416 563 ),
417 564 array( 'widgets', 'elementor' ),
418 565 0,
419 566 1
@@ -446,19 +593,28 @@
446 593 '',
447 594 array( 'strategy' => 'async' )
448 595 ),
449 596 'lp-admin-tools' => new LP_Asset_Key(
450 - $this->url( 'js/dist/admin/admin-tools' . self::$_min_assets . '.js' ),
597 + $this->url( 'dist/js/admin/admin-tools' . self::$_min_assets . '.js' ),
451 598 array(),
452 599 array( 'learnpress_page_learn-press-tools' ),
453 600 0,
454 - 1,
601 + 0,
455 602 '',
456 603 array( 'strategy' => 'defer' )
457 604 ),
605 + 'lp-themes' => new LP_Asset_Key(
606 + $this->url( 'dist/js/admin/lp-themes' . self::$_min_assets . '.js' ),
607 + array(),
608 + array( 'learnpress_page_learn-press-themes' ),
609 + 0,
610 + 0,
611 + '',
612 + array( 'strategy' => 'async' )
613 + ),
458 614 'lp-admin-statistic' => new LP_Asset_Key(
459 615 $this->url( 'js/dist/admin/admin-statistic' . self::$_min_assets . '.js' ),
460 - array( 'wp-api-fetch' ),
616 + array( 'lp-load-ajax' ),
461 617 array( 'learnpress_page_learn-press-statistics' ),
462 618 0,
463 619 0,
464 620 '',
@@ -498,11 +654,11 @@
498 654
499 655 return apply_filters(
500 656 'learn-press/admin-default-styles',
501 657 array(
502 - 'select2' => new LP_Asset_Key(
658 + /*'select2' => new LP_Asset_Key(
503 659 $this->url( 'src/css/vendor/select2.min.css' )
504 - ),
660 + ),*/
505 661 /*
506 662 'font-awesome' => new LP_Asset_Key(
507 663 $this->url( 'src/css/vendor/font-awesome-5.min.css' )
508 664 ),*/
@@ -529,8 +685,21 @@
529 685 ),
530 686 array(),
531 687 0
532 688 ),
689 + 'lp-help-center' => new LP_Asset_Key(
690 + $this->url( 'css/admin/help-center' . $is_rtl . self::$_min_assets . '.css' ),
691 + array(),
692 + array( 'learnpress_page_learn-press-help-center' ),
693 + 0
694 + ),
695 + 'lp-themes' => new LP_Asset_Key(
696 + $this->url( 'css/admin/themes' . $is_rtl . self::$_min_assets . '.css' ),
697 + array(),
698 + array( 'learnpress_page_learn-press-themes' ),
699 + 0,
700 + 0
701 + ),
533 702 'lp-edit-curriculum' => new LP_Asset_Key(
534 703 $this->url( 'css/edit-curriculum' . $is_rtl . self::$_min_assets . '.css' ),
535 704 array(),
536 705 array(),
@@ -547,14 +716,14 @@
547 716 array(),
548 717 array(),
549 718 1
550 719 ),
551 - 'learn-press-statistic' => new LP_Asset_Key(
720 + /*'learn-press-statistic' => new LP_Asset_Key(
552 721 LP_CSS_URL . 'admin/statistic' . $is_rtl . self::$_min_assets . '.css',
553 722 array(),
554 723 array( 'learners_page_learn-press-statistics' ),
555 724 0
556 - ),
725 + ),*/
557 726 'lp-tom-select' => new LP_Asset_Key(
558 727 $this->url( 'src/css/vendor/tom-select.min.css' ),
559 728 array(),
560 729 array(),
@@ -559,8 +728,14 @@
559 728 array(),
560 729 array(),
561 730 0
562 731 ),
732 + 'lp-setup-wizard' => new LP_Asset_Key(
733 + $this->url( 'css/admin/setup-wizard' . $is_rtl . self::$_min_assets . '.css' ),
734 + array(),
735 + array(),
736 + 1
737 + ),
563 738 )
564 739 );
565 740 }
566 741
@@ -570,9 +745,9 @@
570 745 public function load_scripts() {
571 746 $screen_id = LP_Admin::instance()->get_screen_id();
572 747
573 748 if ( empty( $screen_id ) ) {
574 - return;
749 + $screen_id = '';
575 750 }
576 751
577 752 // wp_enqueue_media(); //Todo: tungnx need check why call for that using.
578 753 $this->handle_js( $screen_id );
@@ -598,9 +773,11 @@
598 773 /**
599 774 * Get course data for Vue Editor Course use.
600 775 *
601 776 * @return array|mixed|null
777 + * @deprecated 4.4.2 - no any enqueue js for that.
602 778 */
779 + /*
603 780 public function get_course_data_for_editor_vue() {
604 781 global $post, $pagenow;
605 782
606 783 if ( empty( $post ) || ( get_post_type() !== LP_COURSE_CPT ) || ! in_array(
@@ -662,10 +839,13 @@
662 839 'urlEdit' => admin_url( 'post.php?action=edit&post=' ),
663 840 ),
664 841 )
665 842 );
666 - }
843 + }*/
667 844
845 + /**
846 + * Instance
847 + */
668 848 public static function instance() {
669 849 if ( ! is_admin() ) {
670 850 return null;
671 851 }