class-blocks.php
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
namespace LearnDash\Course_Grid;
if ( ! defined( 'ABSPATH' ) ) {
exit();
}
use LearnDash\Course_Grid\Utilities;
class Blocks
{
public function __construct()
{
add_action( 'plugins_loaded', [ $this, 'init_blocks' ] );
}
public function init_blocks()
{
add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_block_editor_assets' ], 20 );
$blocks = [
'learndash_course_grid' => 'LearnDash_Course_Grid',
'learndash_course_grid_filter' => 'LearnDash_Course_Grid_Filter',
];
foreach ( $blocks as $id => $class ) {
$classname = '\\LearnDash\\Course_Grid\\Gutenberg\\Blocks\\' . $class;
$this->$id = new $classname();
}
}
public function enqueue_block_editor_assets()
{
$asset_file = include LEARNDASH_COURSE_GRID_PLUGIN_PATH . 'includes/gutenberg/assets/js/index.asset.php';
wp_register_script( 'learndash-course-grid-block-editor-helper', LEARNDASH_COURSE_GRID_PLUGIN_URL . 'includes/gutenberg/assets/js/editor.js', [], LEARNDASH_COURSE_GRID_VERSION );
wp_enqueue_script( 'learndash-course-grid-block-editor', LEARNDASH_COURSE_GRID_PLUGIN_URL . 'includes/gutenberg/assets/js/index.js', array_merge( $asset_file['dependencies'], [ 'learndash-course-grid-block-editor-helper' ] ), $asset_file['version'] );
wp_enqueue_style( 'learndash-course-grid-block-editor', LEARNDASH_COURSE_GRID_PLUGIN_URL . 'includes/gutenberg/assets/css/editor.css', [], LEARNDASH_COURSE_GRID_VERSION );
learndash_course_grid_load_inline_script_locale_data();
wp_localize_script(
'learndash-course-grid-block-editor',
'LearnDash_Course_Grid_Block_Editor',
[
'post_types' => Utilities::get_post_types_for_block_editor(),
'skins' => \LearnDash\course_grid()->skins->get_skins(),
'cards' => \LearnDash\course_grid()->skins->get_cards(),
'editor_fields' => \LearnDash\course_grid()->skins->get_default_editor_fields(),
'image_sizes' => Utilities::get_image_sizes_for_block_editor(),
'orderby' => Utilities::get_orderby_for_block_editor(),
'taxonomies' => Utilities::get_taxonomies_for_block_editor(),
'paginations' => Utilities::get_paginations_for_block_editor(),
'is_learndash_active' => defined( 'LEARNDASH_VERSION' ) ? true : false,
]
);
}
}